From 9d8dcd5f93729aa27b550b5a21a6bed17eea6cb0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:10 +0000 Subject: [PATCH 01/43] feat(admin): update the API #### admin:directory_v1 The following keys were added: - schemas.ChromeOsDevice.properties.osVersionCompliance.description - schemas.ChromeOsDevice.properties.osVersionCompliance.enum - schemas.ChromeOsDevice.properties.osVersionCompliance.enumDescriptions - schemas.ChromeOsDevice.properties.osVersionCompliance.readOnly - schemas.ChromeOsDevice.properties.osVersionCompliance.type --- discovery/admin-directory_v1.json | 19 ++++++++++++++++++- src/apis/admin/directory_v1.ts | 9 +++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/discovery/admin-directory_v1.json b/discovery/admin-directory_v1.json index b17b0ee5a0..0948c3d312 100644 --- a/discovery/admin-directory_v1.json +++ b/discovery/admin-directory_v1.json @@ -4671,7 +4671,7 @@ } } }, - "revision": "20250707", + "revision": "20250804", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -5840,6 +5840,23 @@ "description": "The Chrome device's operating system version.", "type": "string" }, + "osVersionCompliance": { + "description": "Output only. Compliance status of the OS version.", + "enum": [ + "complianceUnspecified", + "compliant", + "pending", + "notCompliant" + ], + "enumDescriptions": [ + "Compliance status unspecified.", + "Compliance status compliant.", + "Compliance status pending.", + "Compliance status not compliant." + ], + "readOnly": true, + "type": "string" + }, "platformVersion": { "description": "The Chrome device's platform version.", "type": "string" diff --git a/src/apis/admin/directory_v1.ts b/src/apis/admin/directory_v1.ts index 0604b912f9..271dbd4265 100644 --- a/src/apis/admin/directory_v1.ts +++ b/src/apis/admin/directory_v1.ts @@ -838,6 +838,10 @@ export namespace admin_directory_v1 { * The Chrome device's operating system version. */ osVersion?: string | null; + /** + * Output only. Compliance status of the OS version. + */ + osVersionCompliance?: string | null; /** * The Chrome device's platform version. */ @@ -3756,6 +3760,7 @@ export namespace admin_directory_v1 { * // "orgUnitPath": "my_orgUnitPath", * // "osUpdateStatus": {}, * // "osVersion": "my_osVersion", + * // "osVersionCompliance": "my_osVersionCompliance", * // "platformVersion": "my_platformVersion", * // "recentUsers": [], * // "screenshotFiles": [], @@ -4247,6 +4252,7 @@ export namespace admin_directory_v1 { * // "orgUnitPath": "my_orgUnitPath", * // "osUpdateStatus": {}, * // "osVersion": "my_osVersion", + * // "osVersionCompliance": "my_osVersionCompliance", * // "platformVersion": "my_platformVersion", * // "recentUsers": [], * // "screenshotFiles": [], @@ -4306,6 +4312,7 @@ export namespace admin_directory_v1 { * // "orgUnitPath": "my_orgUnitPath", * // "osUpdateStatus": {}, * // "osVersion": "my_osVersion", + * // "osVersionCompliance": "my_osVersionCompliance", * // "platformVersion": "my_platformVersion", * // "recentUsers": [], * // "screenshotFiles": [], @@ -4498,6 +4505,7 @@ export namespace admin_directory_v1 { * // "orgUnitPath": "my_orgUnitPath", * // "osUpdateStatus": {}, * // "osVersion": "my_osVersion", + * // "osVersionCompliance": "my_osVersionCompliance", * // "platformVersion": "my_platformVersion", * // "recentUsers": [], * // "screenshotFiles": [], @@ -4557,6 +4565,7 @@ export namespace admin_directory_v1 { * // "orgUnitPath": "my_orgUnitPath", * // "osUpdateStatus": {}, * // "osVersion": "my_osVersion", + * // "osVersionCompliance": "my_osVersionCompliance", * // "platformVersion": "my_platformVersion", * // "recentUsers": [], * // "screenshotFiles": [], From e0c09572d01a23932082d444e55079c02970b2ee Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:10 +0000 Subject: [PATCH 02/43] feat(aiplatform)!: update the API BREAKING CHANGE: This release has breaking changes. #### aiplatform:v1beta1 The following keys were deleted: - schemas.GoogleCloudAiplatformV1beta1AssembleDataRequest.properties.geminiTemplateConfig.$ref - schemas.GoogleCloudAiplatformV1beta1AssembleDataRequest.properties.geminiTemplateConfig.description - schemas.GoogleCloudAiplatformV1beta1AssembleDataRequest.properties.requestColumnName.description - schemas.GoogleCloudAiplatformV1beta1AssembleDataRequest.properties.requestColumnName.type - schemas.GoogleCloudAiplatformV1beta1AssessDataRequest.properties.geminiTemplateConfig.$ref - schemas.GoogleCloudAiplatformV1beta1AssessDataRequest.properties.geminiTemplateConfig.description - schemas.GoogleCloudAiplatformV1beta1AssessDataRequest.properties.requestColumnName.description - schemas.GoogleCloudAiplatformV1beta1AssessDataRequest.properties.requestColumnName.type - schemas.GoogleCloudAiplatformV1beta1Tool.properties.computerUse.$ref - schemas.GoogleCloudAiplatformV1beta1Tool.properties.computerUse.description - schemas.GoogleCloudAiplatformV1beta1ToolComputerUse.description - schemas.GoogleCloudAiplatformV1beta1ToolComputerUse.id - schemas.GoogleCloudAiplatformV1beta1ToolComputerUse.properties.environment.description - schemas.GoogleCloudAiplatformV1beta1ToolComputerUse.properties.environment.enum - schemas.GoogleCloudAiplatformV1beta1ToolComputerUse.properties.environment.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1ToolComputerUse.properties.environment.type - schemas.GoogleCloudAiplatformV1beta1ToolComputerUse.type The following keys were added: - resources.projects.resources.locations.methods.recommendSpec.description - resources.projects.resources.locations.methods.recommendSpec.flatPath - resources.projects.resources.locations.methods.recommendSpec.httpMethod - resources.projects.resources.locations.methods.recommendSpec.id - resources.projects.resources.locations.methods.recommendSpec.parameterOrder - resources.projects.resources.locations.methods.recommendSpec.parameters.parent.description - resources.projects.resources.locations.methods.recommendSpec.parameters.parent.location - resources.projects.resources.locations.methods.recommendSpec.parameters.parent.pattern - resources.projects.resources.locations.methods.recommendSpec.parameters.parent.required - resources.projects.resources.locations.methods.recommendSpec.parameters.parent.type - resources.projects.resources.locations.methods.recommendSpec.path - resources.projects.resources.locations.methods.recommendSpec.request.$ref - resources.projects.resources.locations.methods.recommendSpec.response.$ref - resources.projects.resources.locations.methods.recommendSpec.scopes - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.description - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.flatPath - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.httpMethod - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.id - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.parameterOrder - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.parameters.parent.description - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.parameters.parent.location - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.parameters.parent.pattern - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.parameters.parent.required - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.parameters.parent.type - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.path - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.request.$ref - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.response.$ref - resources.projects.resources.locations.resources.tuningJobs.methods.optimizePrompt.scopes - schemas.GoogleCloudAiplatformV1beta1BatchDedicatedResources.properties.flexStart.$ref - schemas.GoogleCloudAiplatformV1beta1BatchDedicatedResources.properties.flexStart.description - schemas.GoogleCloudAiplatformV1beta1BatchDedicatedResources.properties.spot.description - schemas.GoogleCloudAiplatformV1beta1BatchDedicatedResources.properties.spot.type - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleIndices.description - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleIndices.items.format - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleIndices.items.type - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleIndices.readOnly - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleIndices.type - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleReasons.description - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleReasons.items.type - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleReasons.readOnly - schemas.GoogleCloudAiplatformV1beta1DatasetStats.properties.droppedExampleReasons.type - schemas.GoogleCloudAiplatformV1beta1DeployRequestEndpointConfig.properties.dedicatedEndpointDisabled.description - schemas.GoogleCloudAiplatformV1beta1DeployRequestEndpointConfig.properties.dedicatedEndpointDisabled.type - schemas.GoogleCloudAiplatformV1beta1DeployRequestEndpointConfig.properties.dedicatedEndpointEnabled.deprecated - schemas.GoogleCloudAiplatformV1beta1DeployRequestEndpointConfig.properties.endpointUserId.description - schemas.GoogleCloudAiplatformV1beta1DeployRequestEndpointConfig.properties.endpointUserId.type - schemas.GoogleCloudAiplatformV1beta1DeployedIndex.properties.deploymentTier.description - schemas.GoogleCloudAiplatformV1beta1DeployedIndex.properties.deploymentTier.enum - schemas.GoogleCloudAiplatformV1beta1DeployedIndex.properties.deploymentTier.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1DeployedIndex.properties.deploymentTier.type - schemas.GoogleCloudAiplatformV1beta1EnterpriseWebSearch.properties.excludeDomains.description - schemas.GoogleCloudAiplatformV1beta1EnterpriseWebSearch.properties.excludeDomains.items.type - schemas.GoogleCloudAiplatformV1beta1EnterpriseWebSearch.properties.excludeDomains.type - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.description - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.id - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.checkpointId.description - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.checkpointId.readOnly - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.checkpointId.type - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.error.$ref - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.error.description - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.error.readOnly - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.operationName.description - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.operationName.readOnly - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.properties.operationName.type - schemas.GoogleCloudAiplatformV1beta1EvaluateDatasetRun.type - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.description - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.id - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.properties.autoraterConfig.$ref - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.properties.autoraterConfig.description - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.properties.metrics.description - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.properties.metrics.items.$ref - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.properties.metrics.type - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.properties.outputConfig.$ref - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.properties.outputConfig.description - schemas.GoogleCloudAiplatformV1beta1EvaluationConfig.type - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.description - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.id - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.properties.completions.description - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.properties.completions.items.$ref - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.properties.completions.type - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.properties.contents.description - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.properties.contents.items.$ref - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.properties.contents.type - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExample.type - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion.description - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion.id - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion.properties.completion.$ref - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion.properties.completion.description - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion.properties.score.description - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion.properties.score.format - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion.properties.score.type - schemas.GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion.type - schemas.GoogleCloudAiplatformV1beta1GenerateContentRequest.properties.modelArmorConfig.$ref - schemas.GoogleCloudAiplatformV1beta1GenerateContentRequest.properties.modelArmorConfig.description - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequest.properties.directMemoriesSource.$ref - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequest.properties.directMemoriesSource.description - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource.description - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource.id - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource.properties.directMemories.description - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource.properties.directMemories.items.$ref - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource.properties.directMemories.type - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource.type - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory.description - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory.id - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory.properties.fact.description - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory.properties.fact.type - schemas.GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext.properties.documentName.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext.properties.documentName.readOnly - schemas.GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext.properties.documentName.type - schemas.GoogleCloudAiplatformV1beta1Memory.properties.expireTime.description - schemas.GoogleCloudAiplatformV1beta1Memory.properties.expireTime.format - schemas.GoogleCloudAiplatformV1beta1Memory.properties.expireTime.type - schemas.GoogleCloudAiplatformV1beta1Memory.properties.ttl.description - schemas.GoogleCloudAiplatformV1beta1Memory.properties.ttl.format - schemas.GoogleCloudAiplatformV1beta1Memory.properties.ttl.type - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.description - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.id - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.properties.promptTemplateName.description - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.properties.promptTemplateName.type - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.properties.responseTemplateName.description - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.properties.responseTemplateName.type - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.type - schemas.GoogleCloudAiplatformV1beta1OptimizePromptRequest.description - schemas.GoogleCloudAiplatformV1beta1OptimizePromptRequest.id - schemas.GoogleCloudAiplatformV1beta1OptimizePromptRequest.properties.content.$ref - schemas.GoogleCloudAiplatformV1beta1OptimizePromptRequest.properties.content.description - schemas.GoogleCloudAiplatformV1beta1OptimizePromptRequest.type - schemas.GoogleCloudAiplatformV1beta1OptimizePromptResponse.description - schemas.GoogleCloudAiplatformV1beta1OptimizePromptResponse.id - schemas.GoogleCloudAiplatformV1beta1OptimizePromptResponse.properties.content.$ref - schemas.GoogleCloudAiplatformV1beta1OptimizePromptResponse.properties.content.description - schemas.GoogleCloudAiplatformV1beta1OptimizePromptResponse.properties.content.readOnly - schemas.GoogleCloudAiplatformV1beta1OptimizePromptResponse.type - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.description - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.id - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.properties.baseModel.description - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.properties.baseModel.readOnly - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.properties.baseModel.type - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.properties.checkpointId.description - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.properties.checkpointId.type - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.properties.tunedModelName.description - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.properties.tunedModelName.type - schemas.GoogleCloudAiplatformV1beta1PreTunedModel.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.id - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleIndices.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleIndices.items.format - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleIndices.items.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleIndices.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleIndices.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleReasons.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleReasons.items.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleReasons.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.droppedExampleReasons.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.scoreVariancePerExampleDistribution.$ref - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.scoreVariancePerExampleDistribution.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.scoreVariancePerExampleDistribution.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.scoresDistribution.$ref - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.scoresDistribution.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.scoresDistribution.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.totalBillableTokenCount.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.totalBillableTokenCount.format - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.totalBillableTokenCount.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.totalBillableTokenCount.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.tuningDatasetExampleCount.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.tuningDatasetExampleCount.format - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.tuningDatasetExampleCount.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.tuningDatasetExampleCount.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.tuningStepCount.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.tuningStepCount.format - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.tuningStepCount.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.tuningStepCount.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userDatasetExamples.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userDatasetExamples.items.$ref - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userDatasetExamples.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userDatasetExamples.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userInputTokenDistribution.$ref - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userInputTokenDistribution.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userInputTokenDistribution.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userOutputTokenDistribution.$ref - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userOutputTokenDistribution.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.properties.userOutputTokenDistribution.readOnly - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.id - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.adapterSize.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.adapterSize.enum - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.adapterSize.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.adapterSize.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.beta.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.beta.format - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.beta.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.epochCount.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.epochCount.format - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.epochCount.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.learningRateMultiplier.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.learningRateMultiplier.format - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.properties.learningRateMultiplier.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.id - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.properties.evaluationConfig.$ref - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.properties.evaluationConfig.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.properties.hyperParameters.$ref - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.properties.hyperParameters.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.properties.trainingDatasetUri.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.properties.trainingDatasetUri.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.properties.validationDatasetUri.description - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.properties.validationDatasetUri.type - schemas.GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec.type - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.containerConcurrency.description - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.containerConcurrency.format - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.containerConcurrency.type - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.maxInstances.description - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.maxInstances.format - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.maxInstances.type - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.minInstances.description - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.minInstances.format - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.minInstances.type - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.pscInterfaceConfig.$ref - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.pscInterfaceConfig.description - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.resourceLimits.additionalProperties.type - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.resourceLimits.description - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec.properties.resourceLimits.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.id - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.properties.checkMachineAvailability.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.properties.checkMachineAvailability.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.properties.checkUserQuota.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.properties.checkUserQuota.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.properties.gcsUri.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.properties.gcsUri.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecRequest.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.id - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.baseModel.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.baseModel.readOnly - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.baseModel.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.recommendations.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.recommendations.items.$ref - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.recommendations.readOnly - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.recommendations.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.specs.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.specs.items.$ref - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.specs.readOnly - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.properties.specs.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponse.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.id - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.properties.containerSpec.$ref - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.properties.containerSpec.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.properties.containerSpec.readOnly - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.properties.machineSpec.$ref - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.properties.machineSpec.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.properties.machineSpec.readOnly - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.id - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.region.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.region.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.spec.$ref - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.spec.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.spec.readOnly - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.userQuotaState.description - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.userQuotaState.enum - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.userQuotaState.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.userQuotaState.readOnly - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.properties.userQuotaState.type - schemas.GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation.type - schemas.GoogleCloudAiplatformV1beta1SupervisedTuningSpec.properties.evaluationConfig.$ref - schemas.GoogleCloudAiplatformV1beta1SupervisedTuningSpec.properties.evaluationConfig.description - schemas.GoogleCloudAiplatformV1beta1ToolGoogleSearch.properties.excludeDomains.description - schemas.GoogleCloudAiplatformV1beta1ToolGoogleSearch.properties.excludeDomains.items.type - schemas.GoogleCloudAiplatformV1beta1ToolGoogleSearch.properties.excludeDomains.type - schemas.GoogleCloudAiplatformV1beta1TuningDataStats.properties.preferenceOptimizationDataStats.$ref - schemas.GoogleCloudAiplatformV1beta1TuningDataStats.properties.preferenceOptimizationDataStats.description - schemas.GoogleCloudAiplatformV1beta1TuningDataStats.properties.preferenceOptimizationDataStats.readOnly - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.evaluateDatasetRuns.description - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.evaluateDatasetRuns.items.$ref - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.evaluateDatasetRuns.readOnly - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.evaluateDatasetRuns.type - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.preTunedModel.$ref - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.preTunedModel.description - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.preferenceOptimizationSpec.$ref - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.preferenceOptimizationSpec.description - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.tuningJobState.description - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.tuningJobState.enum - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.tuningJobState.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.tuningJobState.readOnly - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.tuningJobState.type - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.veoTuningSpec.$ref - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.veoTuningSpec.description - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.description - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.id - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.epochCount.description - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.epochCount.format - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.epochCount.type - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.learningRateMultiplier.description - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.learningRateMultiplier.format - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.learningRateMultiplier.type - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.tuningTask.description - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.tuningTask.enum - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.tuningTask.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.properties.tuningTask.type - schemas.GoogleCloudAiplatformV1beta1VeoHyperParameters.type - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.description - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.id - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.properties.hyperParameters.$ref - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.properties.hyperParameters.description - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.properties.trainingDatasetUri.description - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.properties.trainingDatasetUri.type - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.properties.validationDatasetUri.description - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.properties.validationDatasetUri.type - schemas.GoogleCloudAiplatformV1beta1VeoTuningSpec.type - schemas.GoogleCloudAiplatformV1beta1VideoMetadata.properties.fps.description - schemas.GoogleCloudAiplatformV1beta1VideoMetadata.properties.fps.format - schemas.GoogleCloudAiplatformV1beta1VideoMetadata.properties.fps.type The following keys were changed: - schemas.GoogleCloudAiplatformV1beta1AutoscalingMetricSpec.properties.metricName.description - schemas.GoogleCloudAiplatformV1beta1Candidate.properties.finishReason.enum - schemas.GoogleCloudAiplatformV1beta1Candidate.properties.finishReason.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1DeployRequestEndpointConfig.properties.dedicatedEndpointEnabled.description - schemas.GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback.properties.blockReason.enum - schemas.GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback.properties.blockReason.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1MachineSpec.properties.acceleratorType.enum - schemas.GoogleCloudAiplatformV1beta1MachineSpec.properties.acceleratorType.enumDeprecated - schemas.GoogleCloudAiplatformV1beta1MachineSpec.properties.acceleratorType.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1RagCorpus.properties.ragFilesCount.description #### aiplatform:v1 The following keys were deleted: - schemas.GoogleCloudAiplatformV1Tool.properties.computerUse.$ref - schemas.GoogleCloudAiplatformV1Tool.properties.computerUse.description - schemas.GoogleCloudAiplatformV1ToolComputerUse.description - schemas.GoogleCloudAiplatformV1ToolComputerUse.id - schemas.GoogleCloudAiplatformV1ToolComputerUse.properties.environment.description - schemas.GoogleCloudAiplatformV1ToolComputerUse.properties.environment.enum - schemas.GoogleCloudAiplatformV1ToolComputerUse.properties.environment.enumDescriptions - schemas.GoogleCloudAiplatformV1ToolComputerUse.properties.environment.type - schemas.GoogleCloudAiplatformV1ToolComputerUse.type The following keys were added: - schemas.GoogleCloudAiplatformV1DeployRequestEndpointConfig.properties.dedicatedEndpointDisabled.description - schemas.GoogleCloudAiplatformV1DeployRequestEndpointConfig.properties.dedicatedEndpointDisabled.type - schemas.GoogleCloudAiplatformV1DeployRequestEndpointConfig.properties.dedicatedEndpointEnabled.deprecated - schemas.GoogleCloudAiplatformV1DeployRequestEndpointConfig.properties.endpointUserId.description - schemas.GoogleCloudAiplatformV1DeployRequestEndpointConfig.properties.endpointUserId.type - schemas.GoogleCloudAiplatformV1DeployedIndex.properties.deploymentTier.description - schemas.GoogleCloudAiplatformV1DeployedIndex.properties.deploymentTier.enum - schemas.GoogleCloudAiplatformV1DeployedIndex.properties.deploymentTier.enumDescriptions - schemas.GoogleCloudAiplatformV1DeployedIndex.properties.deploymentTier.type - schemas.GoogleCloudAiplatformV1EnterpriseWebSearch.properties.excludeDomains.description - schemas.GoogleCloudAiplatformV1EnterpriseWebSearch.properties.excludeDomains.items.type - schemas.GoogleCloudAiplatformV1EnterpriseWebSearch.properties.excludeDomains.type - schemas.GoogleCloudAiplatformV1GenerateContentRequest.properties.modelArmorConfig.$ref - schemas.GoogleCloudAiplatformV1GenerateContentRequest.properties.modelArmorConfig.description - schemas.GoogleCloudAiplatformV1GroundingChunkRetrievedContext.properties.documentName.description - schemas.GoogleCloudAiplatformV1GroundingChunkRetrievedContext.properties.documentName.readOnly - schemas.GoogleCloudAiplatformV1GroundingChunkRetrievedContext.properties.documentName.type - schemas.GoogleCloudAiplatformV1ModelArmorConfig.description - schemas.GoogleCloudAiplatformV1ModelArmorConfig.id - schemas.GoogleCloudAiplatformV1ModelArmorConfig.properties.promptTemplateName.description - schemas.GoogleCloudAiplatformV1ModelArmorConfig.properties.promptTemplateName.type - schemas.GoogleCloudAiplatformV1ModelArmorConfig.properties.responseTemplateName.description - schemas.GoogleCloudAiplatformV1ModelArmorConfig.properties.responseTemplateName.type - schemas.GoogleCloudAiplatformV1ModelArmorConfig.type - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.containerConcurrency.description - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.containerConcurrency.format - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.containerConcurrency.type - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.maxInstances.description - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.maxInstances.format - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.maxInstances.type - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.minInstances.description - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.minInstances.format - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.minInstances.type - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.pscInterfaceConfig.$ref - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.pscInterfaceConfig.description - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.resourceLimits.additionalProperties.type - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.resourceLimits.description - schemas.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.properties.resourceLimits.type - schemas.GoogleCloudAiplatformV1ToolGoogleSearch.properties.excludeDomains.description - schemas.GoogleCloudAiplatformV1ToolGoogleSearch.properties.excludeDomains.items.type - schemas.GoogleCloudAiplatformV1ToolGoogleSearch.properties.excludeDomains.type - schemas.GoogleCloudAiplatformV1VideoMetadata.properties.fps.description - schemas.GoogleCloudAiplatformV1VideoMetadata.properties.fps.format - schemas.GoogleCloudAiplatformV1VideoMetadata.properties.fps.type The following keys were changed: - schemas.GoogleCloudAiplatformV1AutoscalingMetricSpec.properties.metricName.description - schemas.GoogleCloudAiplatformV1Candidate.properties.finishReason.enum - schemas.GoogleCloudAiplatformV1Candidate.properties.finishReason.enumDescriptions - schemas.GoogleCloudAiplatformV1DeployRequestEndpointConfig.properties.dedicatedEndpointEnabled.description - schemas.GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback.properties.blockReason.enum - schemas.GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback.properties.blockReason.enumDescriptions - schemas.GoogleCloudAiplatformV1MachineSpec.properties.acceleratorType.enum - schemas.GoogleCloudAiplatformV1MachineSpec.properties.acceleratorType.enumDeprecated - schemas.GoogleCloudAiplatformV1MachineSpec.properties.acceleratorType.enumDescriptions --- discovery/aiplatform-v1.json | 132 ++++- discovery/aiplatform-v1beta1.json | 726 +++++++++++++++++++++++-- src/apis/aiplatform/v1.ts | 97 +++- src/apis/aiplatform/v1beta1.ts | 848 ++++++++++++++++++++++++++++-- 4 files changed, 1671 insertions(+), 132 deletions(-) diff --git a/discovery/aiplatform-v1.json b/discovery/aiplatform-v1.json index 1dbea3b144..33ecbc5415 100644 --- a/discovery/aiplatform-v1.json +++ b/discovery/aiplatform-v1.json @@ -20286,7 +20286,7 @@ } } }, - "revision": "20250728", + "revision": "20250806", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -21336,7 +21336,7 @@ "id": "GoogleCloudAiplatformV1AutoscalingMetricSpec", "properties": { "metricName": { - "description": "Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization`", + "description": "Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization` * `aiplatform.googleapis.com/prediction/online/request_count`", "type": "string" }, "target": { @@ -22338,6 +22338,7 @@ "PROHIBITED_CONTENT", "SPII", "MALFORMED_FUNCTION_CALL", + "MODEL_ARMOR", "IMAGE_SAFETY", "IMAGE_PROHIBITED_CONTENT", "IMAGE_RECITATION", @@ -22355,6 +22356,7 @@ "Token generation stopped for potentially containing prohibited content.", "Token generation stopped because the content potentially contains Sensitive Personally Identifiable Information (SPII).", "The function call generated by the model is invalid.", + "The model response was blocked by Model Armor.", "Token generation stopped because generated images has safety violations.", "Image generation stopped because generated images has other prohibited content.", "Image generation stopped due to recitation.", @@ -24463,13 +24465,22 @@ "description": "The endpoint config to use for the deployment.", "id": "GoogleCloudAiplatformV1DeployRequestEndpointConfig", "properties": { + "dedicatedEndpointDisabled": { + "description": "Optional. By default, if dedicated endpoint is enabled, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon. If this field is set to true, the dedicated endpoint will be disabled and the deployed model will be exposed through the shared DNS {region}-aiplatform.googleapis.com.", + "type": "boolean" + }, "dedicatedEndpointEnabled": { - "description": "Optional. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon.", + "deprecated": true, + "description": "Optional. Deprecated. Use dedicated_endpoint_disabled instead. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon.", "type": "boolean" }, "endpointDisplayName": { "description": "Optional. The user-specified display name of the endpoint. If not set, a default name will be used.", "type": "string" + }, + "endpointUserId": { + "description": "Optional. Immutable. The ID to use for endpoint, which will become the final component of the endpoint resource name. If not provided, Vertex AI will generate a value for this ID. If the first character is a letter, this value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The last character must be a letter or number. If the first character is a number, this value may be up to 9 characters, and valid characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this field is populated based on a query string argument, such as `?endpoint_id=12345`. This is the fallback for fields that are not included in either the URI or the body.", + "type": "string" } }, "type": "object" @@ -24553,6 +24564,18 @@ "description": "Optional. The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating `deployment_groups` with `reserved_ip_ranges` is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. Note: we only support up to 5 deployment groups(not including 'default').", "type": "string" }, + "deploymentTier": { + "description": "Optional. The deployment tier that the index is deployed to. DEPLOYMENT_TIER_UNSPECIFIED defaults to PERFORMANCE.", + "enum": [ + "DEPLOYMENT_TIER_UNSPECIFIED", + "STORAGE" + ], + "enumDescriptions": [ + "Default deployment tier.", + "Optimized for costs." + ], + "type": "string" + }, "displayName": { "description": "The display name of the DeployedIndex. If not provided upon creation, the Index's display_name is used.", "type": "string" @@ -25122,7 +25145,15 @@ "GoogleCloudAiplatformV1EnterpriseWebSearch": { "description": "Tool to search public web data, powered by Vertex AI Search and Sec4 compliance.", "id": "GoogleCloudAiplatformV1EnterpriseWebSearch", - "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" }, "GoogleCloudAiplatformV1EntityIdSelector": { @@ -28613,6 +28644,10 @@ "description": "Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", "type": "object" }, + "modelArmorConfig": { + "$ref": "GoogleCloudAiplatformV1ModelArmorConfig", + "description": "Optional. Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied." + }, "safetySettings": { "description": "Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", "items": { @@ -28690,6 +28725,7 @@ "OTHER", "BLOCKLIST", "PROHIBITED_CONTENT", + "MODEL_ARMOR", "IMAGE_SAFETY" ], "enumDescriptions": [ @@ -28698,6 +28734,7 @@ "Candidates blocked due to other reason.", "Candidates blocked due to the terms which are included from the terminology blocklist.", "Candidates blocked due to prohibited content.", + "The user prompt was blocked by Model Armor.", "Candidates blocked due to unsafe image generation content." ], "readOnly": true, @@ -29338,6 +29375,11 @@ "description": "Chunk from context retrieved by the retrieval tools.", "id": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext", "properties": { + "documentName": { + "description": "Output only. The full document name for the referenced Vertex AI Search document.", + "readOnly": true, + "type": "string" + }, "ragChunk": { "$ref": "GoogleCloudAiplatformV1RagChunk", "description": "Additional context for the RAG retrieval result. This is only populated when using the RAG retrieval tool." @@ -31478,6 +31520,7 @@ "NVIDIA_H100_MEGA_80GB", "NVIDIA_H200_141GB", "NVIDIA_B200", + "NVIDIA_GB200", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -31500,6 +31543,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -31516,6 +31560,7 @@ "Nvidia H100 Mega 80Gb GPU.", "Nvidia H200 141Gb GPU.", "Nvidia B200 GPU.", + "Nvidia GB200 GPU.", "TPU v2.", "TPU v3.", "TPU v4.", @@ -32338,6 +32383,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ModelArmorConfig": { + "description": "Configuration for Model Armor integrations of prompt and responses.", + "id": "GoogleCloudAiplatformV1ModelArmorConfig", + "properties": { + "promptTemplateName": { + "description": "Optional. The name of the Model Armor template to use for prompt sanitization.", + "type": "string" + }, + "responseTemplateName": { + "description": "Optional. The name of the Model Armor template to use for response sanitization.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ModelBaseModelSource": { "description": "User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.", "id": "GoogleCloudAiplatformV1ModelBaseModelSource", @@ -38039,6 +38099,11 @@ "description": "The specification of a Reasoning Engine deployment.", "id": "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec", "properties": { + "containerConcurrency": { + "description": "Optional. Concurrency for each container and agent server. Recommended value: 2 * cpu + 1. Defaults to 9.", + "format": "int32", + "type": "integer" + }, "env": { "description": "Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the UpdateReasoningEngine API.", "items": { @@ -38046,6 +38111,27 @@ }, "type": "array" }, + "maxInstances": { + "description": "Optional. The maximum number of application instances that can be launched to handle increased traffic. Defaults to 100.", + "format": "int32", + "type": "integer" + }, + "minInstances": { + "description": "Optional. The minimum number of application instances that will be kept running at all times. Defaults to 1.", + "format": "int32", + "type": "integer" + }, + "pscInterfaceConfig": { + "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig", + "description": "Optional. Configuration for PSC-I." + }, + "resourceLimits": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource limits for each container. Only 'cpu' and 'memory' keys are supported. Defaults to {\"cpu\": \"4\", \"memory\": \"4Gi\"}. * The only supported values for CPU are '1', '2', '4', and '8'. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits", + "type": "object" + }, "secretEnv": { "description": "Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent.", "items": { @@ -45760,10 +45846,6 @@ "$ref": "GoogleCloudAiplatformV1ToolCodeExecution", "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation." }, - "computerUse": { - "$ref": "GoogleCloudAiplatformV1ToolComputerUse", - "description": "Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations." - }, "enterpriseWebSearch": { "$ref": "GoogleCloudAiplatformV1EnterpriseWebSearch", "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." @@ -45886,25 +45968,6 @@ "properties": {}, "type": "object" }, - "GoogleCloudAiplatformV1ToolComputerUse": { - "description": "Tool to support computer use.", - "id": "GoogleCloudAiplatformV1ToolComputerUse", - "properties": { - "environment": { - "description": "Required. The environment being operated.", - "enum": [ - "ENVIRONMENT_UNSPECIFIED", - "ENVIRONMENT_BROWSER" - ], - "enumDescriptions": [ - "Defaults to browser.", - "Operates in a web browser." - ], - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1ToolConfig": { "description": "Tool config. This config is shared for all tools provided in the request.", "id": "GoogleCloudAiplatformV1ToolConfig", @@ -45923,7 +45986,15 @@ "GoogleCloudAiplatformV1ToolGoogleSearch": { "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", "id": "GoogleCloudAiplatformV1ToolGoogleSearch", - "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" }, "GoogleCloudAiplatformV1ToolNameMatchInput": { @@ -47594,6 +47665,11 @@ "format": "google-duration", "type": "string" }, + "fps": { + "description": "Optional. The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0].", + "format": "double", + "type": "number" + }, "startOffset": { "description": "Optional. The start offset of the video.", "format": "google-duration", diff --git a/discovery/aiplatform-v1beta1.json b/discovery/aiplatform-v1beta1.json index fbe2fc4652..c86e47606e 100644 --- a/discovery/aiplatform-v1beta1.json +++ b/discovery/aiplatform-v1beta1.json @@ -1446,6 +1446,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "recommendSpec": { + "description": "Gets a Model's spec recommendations. This API is called by UI, SDK, and internal.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:recommendSpec", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.recommendSpec", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location from which to recommend specs. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}:recommendSpec", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1RecommendSpecRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1beta1RecommendSpecResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "retrieveContexts": { "description": "Retrieves relevant contexts for a query.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:retrieveContexts", @@ -24187,6 +24215,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "optimizePrompt": { + "description": "Optimizes a prompt.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:optimizePrompt", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.tuningJobs.optimizePrompt", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to optimize the prompt in. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/tuningJobs:optimizePrompt", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1OptimizePromptRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1beta1OptimizePromptResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "rebaseTunedModel": { "description": "Rebase a TunedModel.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:rebaseTunedModel", @@ -25320,7 +25376,7 @@ } } }, - "revision": "20250728", + "revision": "20250806", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -26095,14 +26151,6 @@ "geminiRequestReadConfig": { "$ref": "GoogleCloudAiplatformV1beta1GeminiRequestReadConfig", "description": "Optional. The read config for the dataset." - }, - "geminiTemplateConfig": { - "$ref": "GoogleCloudAiplatformV1beta1GeminiTemplateConfig", - "description": "Optional. Config for assembling templates with a Gemini API structure." - }, - "requestColumnName": { - "description": "Optional. The column name in the underlying table that contains already fully assembled requests. If this field is set, the original request will be copied to the output table.", - "type": "string" } }, "type": "object" @@ -26123,14 +26171,6 @@ "$ref": "GoogleCloudAiplatformV1beta1GeminiRequestReadConfig", "description": "Optional. The Gemini request read config for the dataset." }, - "geminiTemplateConfig": { - "$ref": "GoogleCloudAiplatformV1beta1GeminiTemplateConfig", - "description": "Optional. Config for assembling templates with a Gemini API structure to assess assembled data." - }, - "requestColumnName": { - "description": "Optional. The column name in the underlying table that contains already fully assembled requests.", - "type": "string" - }, "tuningResourceUsageAssessmentConfig": { "$ref": "GoogleCloudAiplatformV1beta1AssessDataRequestTuningResourceUsageAssessmentConfig", "description": "Optional. Configuration for the tuning resource usage assessment." @@ -26523,7 +26563,7 @@ "id": "GoogleCloudAiplatformV1beta1AutoscalingMetricSpec", "properties": { "metricName": { - "description": "Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization`", + "description": "Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization` * `aiplatform.googleapis.com/prediction/online/request_count`", "type": "string" }, "target": { @@ -26672,6 +26712,10 @@ "description": "A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration.", "id": "GoogleCloudAiplatformV1beta1BatchDedicatedResources", "properties": { + "flexStart": { + "$ref": "GoogleCloudAiplatformV1beta1FlexStart", + "description": "Optional. Immutable. If set, use DWS resource to schedule the deployment workload. reference: (https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler)" + }, "machineSpec": { "$ref": "GoogleCloudAiplatformV1beta1MachineSpec", "description": "Required. Immutable. The specification of a single machine." @@ -26681,6 +26725,10 @@ "format": "int32", "type": "integer" }, + "spot": { + "description": "Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).", + "type": "boolean" + }, "startingReplicaCount": { "description": "Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count", "format": "int32", @@ -27569,6 +27617,7 @@ "PROHIBITED_CONTENT", "SPII", "MALFORMED_FUNCTION_CALL", + "MODEL_ARMOR", "IMAGE_SAFETY", "IMAGE_PROHIBITED_CONTENT", "IMAGE_RECITATION", @@ -27586,6 +27635,7 @@ "Token generation stopped for potentially containing prohibited content.", "Token generation stopped because the content potentially contains Sensitive Personally Identifiable Information (SPII).", "The function call generated by the model is invalid.", + "The model response was blocked by Model Armor.", "Token generation stopped because generated images has safety violations.", "Image generation stopped because generated images has other prohibited content.", "Image generation stopped due to recitation.", @@ -29459,6 +29509,23 @@ "description": "Statistics computed over a tuning dataset.", "id": "GoogleCloudAiplatformV1beta1DatasetStats", "properties": { + "droppedExampleIndices": { + "description": "Output only. A partial sample of the indices (starting from 1) of the dropped examples.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "droppedExampleReasons": { + "description": "Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "totalBillableCharacterCount": { "description": "Output only. Number of billable characters in the tuning dataset.", "format": "int64", @@ -29949,13 +30016,22 @@ "description": "The endpoint config to use for the deployment.", "id": "GoogleCloudAiplatformV1beta1DeployRequestEndpointConfig", "properties": { + "dedicatedEndpointDisabled": { + "description": "Optional. By default, if dedicated endpoint is enabled, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon. If this field is set to true, the dedicated endpoint will be disabled and the deployed model will be exposed through the shared DNS {region}-aiplatform.googleapis.com.", + "type": "boolean" + }, "dedicatedEndpointEnabled": { - "description": "Optional. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon.", + "deprecated": true, + "description": "Optional. Deprecated. Use dedicated_endpoint_disabled instead. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon.", "type": "boolean" }, "endpointDisplayName": { "description": "Optional. The user-specified display name of the endpoint. If not set, a default name will be used.", "type": "string" + }, + "endpointUserId": { + "description": "Optional. Immutable. The ID to use for endpoint, which will become the final component of the endpoint resource name. If not provided, Vertex AI will generate a value for this ID. If the first character is a letter, this value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The last character must be a letter or number. If the first character is a number, this value may be up to 9 characters, and valid characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this field is populated based on a query string argument, such as `?endpoint_id=12345`. This is the fallback for fields that are not included in either the URI or the body.", + "type": "string" } }, "type": "object" @@ -30028,6 +30104,18 @@ "description": "Optional. The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating `deployment_groups` with `reserved_ip_ranges` is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. Note: we only support up to 5 deployment groups(not including 'default').", "type": "string" }, + "deploymentTier": { + "description": "Optional. The deployment tier that the index is deployed to. DEPLOYMENT_TIER_UNSPECIFIED defaults to PERFORMANCE.", + "enum": [ + "DEPLOYMENT_TIER_UNSPECIFIED", + "STORAGE" + ], + "enumDescriptions": [ + "Default deployment tier.", + "Optimized for costs." + ], + "type": "string" + }, "displayName": { "description": "The display name of the DeployedIndex. If not provided upon creation, the Index's display_name is used.", "type": "string" @@ -30690,7 +30778,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" }, "GoogleCloudAiplatformV1beta1EntityIdSelector": { @@ -30862,6 +30958,28 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1EvaluateDatasetRun": { + "description": "Evaluate Dataset Run Result for Tuning Job.", + "id": "GoogleCloudAiplatformV1beta1EvaluateDatasetRun", + "properties": { + "checkpointId": { + "description": "Output only. The checkpoint id used in the evaluation run. Only populated when evaluating checkpoints.", + "readOnly": true, + "type": "string" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Output only. The error of the evaluation run if any.", + "readOnly": true + }, + "operationName": { + "description": "Output only. The operation ID of the evaluation run. Format: `projects/{project}/locations/{location}/operations/{operation_id}`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1EvaluateInstancesRequest": { "description": "Request message for EvaluationService.EvaluateInstances.", "id": "GoogleCloudAiplatformV1beta1EvaluateInstancesRequest", @@ -31215,6 +31333,28 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1EvaluationConfig": { + "description": "Evaluation Config for Tuning Job.", + "id": "GoogleCloudAiplatformV1beta1EvaluationConfig", + "properties": { + "autoraterConfig": { + "$ref": "GoogleCloudAiplatformV1beta1AutoraterConfig", + "description": "Optional. Autorater config for evaluation." + }, + "metrics": { + "description": "Required. The metrics used for evaluation.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1Metric" + }, + "type": "array" + }, + "outputConfig": { + "$ref": "GoogleCloudAiplatformV1beta1OutputConfig", + "description": "Required. Config for evaluation output." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1EvaluationDataset": { "description": "The dataset used for evaluation.", "id": "GoogleCloudAiplatformV1beta1EvaluationDataset", @@ -35001,6 +35141,43 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1GeminiPreferenceExample": { + "description": "Input example for preference optimization.", + "id": "GoogleCloudAiplatformV1beta1GeminiPreferenceExample", + "properties": { + "completions": { + "description": "List of completions for a given prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion" + }, + "type": "array" + }, + "contents": { + "description": "Multi-turn contents that represents the Prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1Content" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion": { + "description": "Completion and its preference score.", + "id": "GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion", + "properties": { + "completion": { + "$ref": "GoogleCloudAiplatformV1beta1Content", + "description": "Single turn completion for the given prompt." + }, + "score": { + "description": "The score for the given completion.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1GeminiRequestReadConfig": { "description": "Configuration for how to read Gemini requests from a multimodal dataset.", "id": "GoogleCloudAiplatformV1beta1GeminiRequestReadConfig", @@ -35117,6 +35294,10 @@ "description": "Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", "type": "object" }, + "modelArmorConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ModelArmorConfig", + "description": "Optional. Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied." + }, "safetySettings": { "description": "Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", "items": { @@ -35194,6 +35375,7 @@ "OTHER", "BLOCKLIST", "PROHIBITED_CONTENT", + "MODEL_ARMOR", "IMAGE_SAFETY" ], "enumDescriptions": [ @@ -35202,6 +35384,7 @@ "Candidates blocked due to other reason.", "Candidates blocked due to the terms which are included from the terminology blocklist.", "Candidates blocked due to prohibited content.", + "The user prompt was blocked by Model Armor.", "Candidates blocked due to unsafe image generation content." ], "readOnly": true, @@ -35318,6 +35501,10 @@ "$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectContentsSource", "description": "Defines a direct source of content as the source content from which to generate memories." }, + "directMemoriesSource": { + "$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource", + "description": "Defines a direct source of memories that should be uploaded to Memory Bank. This is similar to `CreateMemory`, but it allows for consolidation between these new memories and existing memories for the same scope." + }, "disableConsolidation": { "description": "Optional. If true, generated memories will not be consolidated with existing memories; all generated memories will be added as new memories regardless of whether they are duplicates of or contradictory to existing memories. By default, memory consolidation is enabled.", "type": "boolean" @@ -35361,6 +35548,31 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource": { + "description": "Defines a direct source of memories that should be uploaded to Memory Bank with consolidation.", + "id": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource", + "properties": { + "directMemories": { + "description": "Required. The direct memories to upload to Memory Bank. At most 5 direct memories are allowed per request.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory": { + "description": "A direct memory to upload to Memory Bank.", + "id": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory", + "properties": { + "fact": { + "description": "Required. The fact to consolidate with existing memories.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestVertexSessionSource": { "description": "Defines an Agent Engine Session from which to generate the memories. If `scope` is not provided, the scope will be extracted from the Session (i.e. {\"user_id\": sesison.user_id}).", "id": "GoogleCloudAiplatformV1beta1GenerateMemoriesRequestVertexSessionSource", @@ -35941,6 +36153,11 @@ "description": "Chunk from context retrieved by the retrieval tools.", "id": "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext", "properties": { + "documentName": { + "description": "Output only. The full document name for the referenced Vertex AI Search document.", + "readOnly": true, + "type": "string" + }, "ragChunk": { "$ref": "GoogleCloudAiplatformV1beta1RagChunk", "description": "Additional context for the RAG retrieval result. This is only populated when using the RAG retrieval tool." @@ -38479,6 +38696,7 @@ "NVIDIA_H100_MEGA_80GB", "NVIDIA_H200_141GB", "NVIDIA_B200", + "NVIDIA_GB200", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -38501,6 +38719,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -38517,6 +38736,7 @@ "Nvidia H100 Mega 80Gb GPU.", "Nvidia H200 141Gb GPU.", "Nvidia B200 GPU.", + "Nvidia GB200 GPU.", "TPU v2.", "TPU v3.", "TPU v4.", @@ -38619,6 +38839,11 @@ "description": "Optional. Display name of the Memory.", "type": "string" }, + "expireTime": { + "description": "Optional. Timestamp of when this resource is considered expired. This is *always* provided on output, regardless of what `expiration` was sent on input.", + "format": "google-datetime", + "type": "string" + }, "fact": { "description": "Required. Semantic knowledge extracted from the source content.", "type": "string" @@ -38634,6 +38859,11 @@ "description": "Required. Immutable. The scope of the Memory. Memories are isolated within their scope. The scope is defined when creating or generating memories. Scope values cannot contain the wildcard character '*'.", "type": "object" }, + "ttl": { + "description": "Optional. Input only. The TTL for this resource. The expiration time is computed: now + TTL.", + "format": "google-duration", + "type": "string" + }, "updateTime": { "description": "Output only. Timestamp when this Memory was most recently updated.", "format": "google-datetime", @@ -39378,6 +39608,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ModelArmorConfig": { + "description": "Configuration for Model Armor integrations of prompt and responses.", + "id": "GoogleCloudAiplatformV1beta1ModelArmorConfig", + "properties": { + "promptTemplateName": { + "description": "Optional. The name of the Model Armor template to use for prompt sanitization.", + "type": "string" + }, + "responseTemplateName": { + "description": "Optional. The name of the Model Armor template to use for response sanitization.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ModelBaseModelSource": { "description": "User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.", "id": "GoogleCloudAiplatformV1beta1ModelBaseModelSource", @@ -42503,6 +42748,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1OptimizePromptRequest": { + "description": "Request message for GenAiTuningService.OptimizePrompt.", + "id": "GoogleCloudAiplatformV1beta1OptimizePromptRequest", + "properties": { + "content": { + "$ref": "GoogleCloudAiplatformV1beta1Content", + "description": "Required. The content to optimize." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1OptimizePromptResponse": { + "description": "Response message for GenAiTuningService.OptimizePrompt", + "id": "GoogleCloudAiplatformV1beta1OptimizePromptResponse", + "properties": { + "content": { + "$ref": "GoogleCloudAiplatformV1beta1Content", + "description": "Output only. The optimized prompt content.", + "readOnly": true + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1OutputConfig": { "description": "Config for evaluation output.", "id": "GoogleCloudAiplatformV1beta1OutputConfig", @@ -43770,6 +44038,26 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1PreTunedModel": { + "description": "A pre-tuned model for continuous tuning.", + "id": "GoogleCloudAiplatformV1beta1PreTunedModel", + "properties": { + "baseModel": { + "description": "Output only. The name of the base model this PreTunedModel was tuned from.", + "readOnly": true, + "type": "string" + }, + "checkpointId": { + "description": "Optional. The source checkpoint id. If not specified, the default checkpoint will be used.", + "type": "string" + }, + "tunedModelName": { + "description": "The resource name of the Model. E.g., a model resource name with a specified version id or alias: `projects/{project}/locations/{location}/models/{model}@{version_id}` `projects/{project}/locations/{location}/models/{model}@{alias}` Or, omit the version id to use the default version: `projects/{project}/locations/{location}/models/{model}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig": { "description": "The configuration for the prebuilt speaker to use.", "id": "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig", @@ -43931,6 +44219,143 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats": { + "description": "Statistics computed for datasets used for preference optimization.", + "id": "GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats", + "properties": { + "droppedExampleIndices": { + "description": "Output only. A partial sample of the indices (starting from 1) of the dropped examples.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "droppedExampleReasons": { + "description": "Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "scoreVariancePerExampleDistribution": { + "$ref": "GoogleCloudAiplatformV1beta1DatasetDistribution", + "description": "Output only. Dataset distributions for scores variance per example.", + "readOnly": true + }, + "scoresDistribution": { + "$ref": "GoogleCloudAiplatformV1beta1DatasetDistribution", + "description": "Output only. Dataset distributions for scores.", + "readOnly": true + }, + "totalBillableTokenCount": { + "description": "Output only. Number of billable tokens in the tuning dataset.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "tuningDatasetExampleCount": { + "description": "Output only. Number of examples in the tuning dataset.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "tuningStepCount": { + "description": "Output only. Number of tuning steps for this Tuning Job.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "userDatasetExamples": { + "description": "Output only. Sample user examples in the training dataset.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1GeminiPreferenceExample" + }, + "readOnly": true, + "type": "array" + }, + "userInputTokenDistribution": { + "$ref": "GoogleCloudAiplatformV1beta1DatasetDistribution", + "description": "Output only. Dataset distributions for the user input tokens.", + "readOnly": true + }, + "userOutputTokenDistribution": { + "$ref": "GoogleCloudAiplatformV1beta1DatasetDistribution", + "description": "Output only. Dataset distributions for the user output tokens.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters": { + "description": "Hyperparameters for Preference Optimization.", + "id": "GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters", + "properties": { + "adapterSize": { + "description": "Optional. Adapter size for preference optimization.", + "enum": [ + "ADAPTER_SIZE_UNSPECIFIED", + "ADAPTER_SIZE_ONE", + "ADAPTER_SIZE_TWO", + "ADAPTER_SIZE_FOUR", + "ADAPTER_SIZE_EIGHT", + "ADAPTER_SIZE_SIXTEEN", + "ADAPTER_SIZE_THIRTY_TWO" + ], + "enumDescriptions": [ + "Adapter size is unspecified.", + "Adapter size 1.", + "Adapter size 2.", + "Adapter size 4.", + "Adapter size 8.", + "Adapter size 16.", + "Adapter size 32." + ], + "type": "string" + }, + "beta": { + "description": "Optional. Weight for KL Divergence regularization.", + "format": "double", + "type": "number" + }, + "epochCount": { + "description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", + "format": "int64", + "type": "string" + }, + "learningRateMultiplier": { + "description": "Optional. Multiplier for adjusting the default learning rate.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec": { + "description": "Tuning Spec for Preference Optimization.", + "id": "GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec", + "properties": { + "evaluationConfig": { + "$ref": "GoogleCloudAiplatformV1beta1EvaluationConfig", + "description": "Optional. Evaluation Config for Preference Optimization Job." + }, + "hyperParameters": { + "$ref": "GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters", + "description": "Optional. Hyperparameters for Preference Optimization." + }, + "trainingDatasetUri": { + "description": "Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file.", + "type": "string" + }, + "validationDatasetUri": { + "description": "Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Presets": { "description": "Preset configuration for example-based explanations", "id": "GoogleCloudAiplatformV1beta1Presets", @@ -45336,7 +45761,7 @@ "description": "Optional. Immutable. The embedding model config of the RagCorpus." }, "ragFilesCount": { - "description": "Output only. Number of RagFiles in the RagCorpus.", + "description": "Output only. Number of RagFiles in the RagCorpus. NOTE: This field is not populated in the response of VertexRagDataService.ListRagCorpora.", "format": "int32", "readOnly": true, "type": "integer" @@ -46475,6 +46900,11 @@ "description": "The specification of a Reasoning Engine deployment.", "id": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec", "properties": { + "containerConcurrency": { + "description": "Optional. Concurrency for each container and agent server. Recommended value: 2 * cpu + 1. Defaults to 9.", + "format": "int32", + "type": "integer" + }, "env": { "description": "Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the UpdateReasoningEngine API.", "items": { @@ -46482,6 +46912,27 @@ }, "type": "array" }, + "maxInstances": { + "description": "Optional. The maximum number of application instances that can be launched to handle increased traffic. Defaults to 100.", + "format": "int32", + "type": "integer" + }, + "minInstances": { + "description": "Optional. The minimum number of application instances that will be kept running at all times. Defaults to 1.", + "format": "int32", + "type": "integer" + }, + "pscInterfaceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", + "description": "Optional. Configuration for PSC-I." + }, + "resourceLimits": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource limits for each container. Only 'cpu' and 'memory' keys are supported. Defaults to {\"cpu\": \"4\", \"memory\": \"4Gi\"}. * The only supported values for CPU are '1', '2', '4', and '8'. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits", + "type": "object" + }, "secretEnv": { "description": "Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent.", "items": { @@ -46559,6 +47010,101 @@ "properties": {}, "type": "object" }, + "GoogleCloudAiplatformV1beta1RecommendSpecRequest": { + "description": "Request message for ModelService.RecommendSpec.", + "id": "GoogleCloudAiplatformV1beta1RecommendSpecRequest", + "properties": { + "checkMachineAvailability": { + "description": "Optional. If true, check machine availability for the recommended regions. Only return the machine spec in regions where the machine is available.", + "type": "boolean" + }, + "checkUserQuota": { + "description": "Optional. If true, check user quota for the recommended regions. Returns all the machine spec in regions they are available, and also the user quota state for each machine type in each region.", + "type": "boolean" + }, + "gcsUri": { + "description": "Required. The Google Cloud Storage URI of the custom model, storing weights and config files (which can be used to infer the base model).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RecommendSpecResponse": { + "description": "Response message for ModelService.RecommendSpec.", + "id": "GoogleCloudAiplatformV1beta1RecommendSpecResponse", + "properties": { + "baseModel": { + "description": "Output only. The base model used to finetune the custom model.", + "readOnly": true, + "type": "string" + }, + "recommendations": { + "description": "Output only. Recommendations of deployment options for the given custom weights model.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation" + }, + "readOnly": true, + "type": "array" + }, + "specs": { + "description": "Output only. The machine and model container specs.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec": { + "description": "A machine and model container spec.", + "id": "GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec", + "properties": { + "containerSpec": { + "$ref": "GoogleCloudAiplatformV1beta1ModelContainerSpec", + "description": "Output only. The model container spec.", + "readOnly": true + }, + "machineSpec": { + "$ref": "GoogleCloudAiplatformV1beta1MachineSpec", + "description": "Output only. The machine spec.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation": { + "description": "Recommendation of one deployment option for the given custom weights model in one region. Contains the machine and container spec, and user accelerator quota state.", + "id": "GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation", + "properties": { + "region": { + "description": "The region for the deployment spec (machine).", + "type": "string" + }, + "spec": { + "$ref": "GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec", + "description": "Output only. The machine and model container specs.", + "readOnly": true + }, + "userQuotaState": { + "description": "Output only. The user accelerator quota state.", + "enum": [ + "QUOTA_STATE_UNSPECIFIED", + "QUOTA_STATE_USER_HAS_QUOTA", + "QUOTA_STATE_NO_USER_QUOTA" + ], + "enumDescriptions": [ + "Unspecified quota state. Quota information not available.", + "User has enough accelerator quota for the machine type.", + "User does not have enough accelerator quota for the machine type." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest": { "description": "Request message for MetadataService.DeleteContextChildrenRequest.", "id": "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest", @@ -54444,6 +54990,10 @@ "description": "Tuning Spec for Supervised Tuning for first party models.", "id": "GoogleCloudAiplatformV1beta1SupervisedTuningSpec", "properties": { + "evaluationConfig": { + "$ref": "GoogleCloudAiplatformV1beta1EvaluationConfig", + "description": "Optional. Evaluation Config for Tuning Job." + }, "exportLastCheckpointOnly": { "description": "Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false.", "type": "boolean" @@ -55080,10 +55630,6 @@ "$ref": "GoogleCloudAiplatformV1beta1ToolCodeExecution", "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation." }, - "computerUse": { - "$ref": "GoogleCloudAiplatformV1beta1ToolComputerUse", - "description": "Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations." - }, "enterpriseWebSearch": { "$ref": "GoogleCloudAiplatformV1beta1EnterpriseWebSearch", "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." @@ -55206,25 +55752,6 @@ "properties": {}, "type": "object" }, - "GoogleCloudAiplatformV1beta1ToolComputerUse": { - "description": "Tool to support computer use.", - "id": "GoogleCloudAiplatformV1beta1ToolComputerUse", - "properties": { - "environment": { - "description": "Required. The environment being operated.", - "enum": [ - "ENVIRONMENT_UNSPECIFIED", - "ENVIRONMENT_BROWSER" - ], - "enumDescriptions": [ - "Defaults to browser.", - "Operates in a web browser." - ], - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1beta1ToolConfig": { "description": "Tool config. This config is shared for all tools provided in the request.", "id": "GoogleCloudAiplatformV1beta1ToolConfig", @@ -55243,7 +55770,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" }, "GoogleCloudAiplatformV1beta1ToolNameMatchInput": { @@ -56257,6 +56792,11 @@ "description": "Output only. Statistics for distillation.", "readOnly": true }, + "preferenceOptimizationDataStats": { + "$ref": "GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats", + "description": "Output only. Statistics for preference optimization.", + "readOnly": true + }, "supervisedTuningDataStats": { "$ref": "GoogleCloudAiplatformV1beta1SupervisedTuningDataStats", "description": "The SFT Tuning data stats." @@ -56305,6 +56845,14 @@ "description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", "readOnly": true }, + "evaluateDatasetRuns": { + "description": "Output only. Evaluation runs for the Tuning Job.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1EvaluateDatasetRun" + }, + "readOnly": true, + "type": "array" + }, "experiment": { "description": "Output only. The Experiment associated with this TuningJob.", "readOnly": true, @@ -56336,6 +56884,14 @@ "readOnly": true, "type": "string" }, + "preTunedModel": { + "$ref": "GoogleCloudAiplatformV1beta1PreTunedModel", + "description": "The pre-tuned model for continuous tuning." + }, + "preferenceOptimizationSpec": { + "$ref": "GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec", + "description": "Tuning Spec for Preference Optimization." + }, "satisfiesPzi": { "description": "Output only. Reserved for future use.", "readOnly": true, @@ -56407,11 +56963,36 @@ "description": "Output only. The tuning data statistics associated with this TuningJob.", "readOnly": true }, + "tuningJobState": { + "description": "Output only. The detail state of the tuning job (while the overall `JobState` is running).", + "enum": [ + "TUNING_JOB_STATE_UNSPECIFIED", + "TUNING_JOB_STATE_WAITING_FOR_QUOTA", + "TUNING_JOB_STATE_PROCESSING_DATASET", + "TUNING_JOB_STATE_WAITING_FOR_CAPACITY", + "TUNING_JOB_STATE_TUNING", + "TUNING_JOB_STATE_POST_PROCESSING" + ], + "enumDescriptions": [ + "Default tuning job state.", + "Tuning job is waiting for job quota.", + "Tuning job is validating the dataset.", + "Tuning job is waiting for hardware capacity.", + "Tuning job is running.", + "Tuning job is doing some post processing steps." + ], + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. Time when the TuningJob was most recently updated.", "format": "google-datetime", "readOnly": true, "type": "string" + }, + "veoTuningSpec": { + "$ref": "GoogleCloudAiplatformV1beta1VeoTuningSpec", + "description": "Tuning Spec for Veo Tuning." } }, "type": "object" @@ -56977,6 +57558,56 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1VeoHyperParameters": { + "description": "Hyperparameters for Veo.", + "id": "GoogleCloudAiplatformV1beta1VeoHyperParameters", + "properties": { + "epochCount": { + "description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", + "format": "int64", + "type": "string" + }, + "learningRateMultiplier": { + "description": "Optional. Multiplier for adjusting the default learning rate.", + "format": "double", + "type": "number" + }, + "tuningTask": { + "description": "Optional. The tuning task. Either I2V or T2V.", + "enum": [ + "TUNING_TASK_UNSPECIFIED", + "TUNING_TASK_I2V", + "TUNING_TASK_T2V" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Tuning task for image to video.", + "Tuning task for text to video." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1VeoTuningSpec": { + "description": "Tuning Spec for Veo Model Tuning.", + "id": "GoogleCloudAiplatformV1beta1VeoTuningSpec", + "properties": { + "hyperParameters": { + "$ref": "GoogleCloudAiplatformV1beta1VeoHyperParameters", + "description": "Optional. Hyperparameters for Veo." + }, + "trainingDatasetUri": { + "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" + }, + "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" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1VertexAISearch": { "description": "Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder", "id": "GoogleCloudAiplatformV1beta1VertexAISearch", @@ -57103,6 +57734,11 @@ "format": "google-duration", "type": "string" }, + "fps": { + "description": "Optional. The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0].", + "format": "double", + "type": "number" + }, "startOffset": { "description": "Optional. The start offset of the video.", "format": "google-duration", diff --git a/src/apis/aiplatform/v1.ts b/src/apis/aiplatform/v1.ts index bdb2fb744d..99270c6b65 100644 --- a/src/apis/aiplatform/v1.ts +++ b/src/apis/aiplatform/v1.ts @@ -845,7 +845,7 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1AutoscalingMetricSpec { /** - * Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization` + * Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization` * `aiplatform.googleapis.com/prediction/online/request_count` */ metricName?: string | null; /** @@ -3012,6 +3012,10 @@ export namespace aiplatform_v1 { * Optional. The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating `deployment_groups` with `reserved_ip_ranges` is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. Note: we only support up to 5 deployment groups(not including 'default'). */ deploymentGroup?: string | null; + /** + * Optional. The deployment tier that the index is deployed to. DEPLOYMENT_TIER_UNSPECIFIED defaults to PERFORMANCE. + */ + deploymentTier?: string | null; /** * The display name of the DeployedIndex. If not provided upon creation, the Index's display_name is used. */ @@ -3382,13 +3386,21 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1DeployRequestEndpointConfig { /** - * Optional. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region\}-aiplatform.googleapis.com. The limitations will be removed soon. + * Optional. By default, if dedicated endpoint is enabled, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region\}-aiplatform.googleapis.com. The limitations will be removed soon. If this field is set to true, the dedicated endpoint will be disabled and the deployed model will be exposed through the shared DNS {region\}-aiplatform.googleapis.com. + */ + dedicatedEndpointDisabled?: boolean | null; + /** + * Optional. Deprecated. Use dedicated_endpoint_disabled instead. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region\}-aiplatform.googleapis.com. The limitations will be removed soon. */ dedicatedEndpointEnabled?: boolean | null; /** * Optional. The user-specified display name of the endpoint. If not set, a default name will be used. */ endpointDisplayName?: string | null; + /** + * Optional. Immutable. The ID to use for endpoint, which will become the final component of the endpoint resource name. If not provided, Vertex AI will generate a value for this ID. If the first character is a letter, this value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The last character must be a letter or number. If the first character is a number, this value may be up to 9 characters, and valid characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this field is populated based on a query string argument, such as `?endpoint_id=12345`. This is the fallback for fields that are not included in either the URI or the body. + */ + endpointUserId?: string | null; } /** * The model config to use for the deployment. @@ -3655,7 +3667,12 @@ export namespace aiplatform_v1 { /** * Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. */ - export interface Schema$GoogleCloudAiplatformV1EnterpriseWebSearch {} + export interface Schema$GoogleCloudAiplatformV1EnterpriseWebSearch { + /** + * Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. + */ + excludeDomains?: string[] | null; + } /** * Selector for entityId. Getting ids from the given source. */ @@ -6233,6 +6250,10 @@ export namespace aiplatform_v1 { * Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter. */ labels?: {[key: string]: string} | null; + /** + * Optional. Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied. + */ + modelArmorConfig?: Schema$GoogleCloudAiplatformV1ModelArmorConfig; /** * Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. */ @@ -6739,6 +6760,10 @@ export namespace aiplatform_v1 { * Chunk from context retrieved by the retrieval tools. */ export interface Schema$GoogleCloudAiplatformV1GroundingChunkRetrievedContext { + /** + * Output only. The full document name for the referenced Vertex AI Search document. + */ + documentName?: string | null; /** * Additional context for the RAG retrieval result. This is only populated when using the RAG retrieval tool. */ @@ -8865,6 +8890,19 @@ export namespace aiplatform_v1 { */ versionUpdateTime?: string | null; } + /** + * Configuration for Model Armor integrations of prompt and responses. + */ + export interface Schema$GoogleCloudAiplatformV1ModelArmorConfig { + /** + * Optional. The name of the Model Armor template to use for prompt sanitization. + */ + promptTemplateName?: string | null; + /** + * Optional. The name of the Model Armor template to use for response sanitization. + */ + responseTemplateName?: string | null; + } /** * User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models. */ @@ -13005,10 +13043,30 @@ export namespace aiplatform_v1 { * The specification of a Reasoning Engine deployment. */ export interface Schema$GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec { + /** + * Optional. Concurrency for each container and agent server. Recommended value: 2 * cpu + 1. Defaults to 9. + */ + containerConcurrency?: number | null; /** * Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the UpdateReasoningEngine API. */ env?: Schema$GoogleCloudAiplatformV1EnvVar[]; + /** + * Optional. The maximum number of application instances that can be launched to handle increased traffic. Defaults to 100. + */ + maxInstances?: number | null; + /** + * Optional. The minimum number of application instances that will be kept running at all times. Defaults to 1. + */ + minInstances?: number | null; + /** + * Optional. Configuration for PSC-I. + */ + pscInterfaceConfig?: Schema$GoogleCloudAiplatformV1PscInterfaceConfig; + /** + * Optional. Resource limits for each container. Only 'cpu' and 'memory' keys are supported. Defaults to {"cpu": "4", "memory": "4Gi"\}. * The only supported values for CPU are '1', '2', '4', and '8'. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits + */ + resourceLimits?: {[key: string]: string} | null; /** * Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent. */ @@ -18357,10 +18415,6 @@ export namespace aiplatform_v1 { * Optional. CodeExecution tool type. Enables the model to execute code as part of generation. */ codeExecution?: Schema$GoogleCloudAiplatformV1ToolCodeExecution; - /** - * Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations. - */ - computerUse?: Schema$GoogleCloudAiplatformV1ToolComputerUse; /** * Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. */ @@ -18455,15 +18509,6 @@ export namespace aiplatform_v1 { * Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool. */ export interface Schema$GoogleCloudAiplatformV1ToolCodeExecution {} - /** - * Tool to support computer use. - */ - export interface Schema$GoogleCloudAiplatformV1ToolComputerUse { - /** - * Required. The environment being operated. - */ - environment?: string | null; - } /** * Tool config. This config is shared for all tools provided in the request. */ @@ -18480,7 +18525,12 @@ export namespace aiplatform_v1 { /** * GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. */ - export interface Schema$GoogleCloudAiplatformV1ToolGoogleSearch {} + export interface Schema$GoogleCloudAiplatformV1ToolGoogleSearch { + /** + * 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; + } /** * Input for tool name match metric. */ @@ -19691,6 +19741,10 @@ export namespace aiplatform_v1 { * Optional. The end offset of the video. */ endOffset?: string | null; + /** + * Optional. The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]. + */ + fps?: number | null; /** * Optional. The start offset of the video. */ @@ -23074,6 +23128,7 @@ export namespace aiplatform_v1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -23564,6 +23619,7 @@ export namespace aiplatform_v1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -41915,6 +41971,7 @@ export namespace aiplatform_v1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -43392,6 +43449,7 @@ export namespace aiplatform_v1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -64099,6 +64157,7 @@ export namespace aiplatform_v1 { * // "dedicatedResources": {}, * // "deployedIndexAuthConfig": {}, * // "deploymentGroup": "my_deploymentGroup", + * // "deploymentTier": "my_deploymentTier", * // "displayName": "my_displayName", * // "enableAccessLogging": false, * // "enableDatapointUpsertLogging": false, @@ -96753,6 +96812,7 @@ export namespace aiplatform_v1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -97569,6 +97629,7 @@ export namespace aiplatform_v1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -123392,6 +123453,7 @@ export namespace aiplatform_v1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -124042,6 +124104,7 @@ export namespace aiplatform_v1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, diff --git a/src/apis/aiplatform/v1beta1.ts b/src/apis/aiplatform/v1beta1.ts index 964bfcc07f..950cf32204 100644 --- a/src/apis/aiplatform/v1beta1.ts +++ b/src/apis/aiplatform/v1beta1.ts @@ -652,14 +652,6 @@ export namespace aiplatform_v1beta1 { * Optional. The read config for the dataset. */ geminiRequestReadConfig?: Schema$GoogleCloudAiplatformV1beta1GeminiRequestReadConfig; - /** - * Optional. Config for assembling templates with a Gemini API structure. - */ - geminiTemplateConfig?: Schema$GoogleCloudAiplatformV1beta1GeminiTemplateConfig; - /** - * Optional. The column name in the underlying table that contains already fully assembled requests. If this field is set, the original request will be copied to the output table. - */ - requestColumnName?: string | null; } /** * Request message for DatasetService.AssessData. Used only for MULTIMODAL datasets. @@ -677,14 +669,6 @@ export namespace aiplatform_v1beta1 { * Optional. The Gemini request read config for the dataset. */ geminiRequestReadConfig?: Schema$GoogleCloudAiplatformV1beta1GeminiRequestReadConfig; - /** - * Optional. Config for assembling templates with a Gemini API structure to assess assembled data. - */ - geminiTemplateConfig?: Schema$GoogleCloudAiplatformV1beta1GeminiTemplateConfig; - /** - * Optional. The column name in the underlying table that contains already fully assembled requests. - */ - requestColumnName?: string | null; /** * Optional. Configuration for the tuning resource usage assessment. */ @@ -969,7 +953,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1AutoscalingMetricSpec { /** - * Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization` + * Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization` * `aiplatform.googleapis.com/prediction/online/request_count` */ metricName?: string | null; /** @@ -1071,6 +1055,10 @@ export namespace aiplatform_v1beta1 { * A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. */ export interface Schema$GoogleCloudAiplatformV1beta1BatchDedicatedResources { + /** + * Optional. Immutable. If set, use DWS resource to schedule the deployment workload. reference: (https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler) + */ + flexStart?: Schema$GoogleCloudAiplatformV1beta1FlexStart; /** * Required. Immutable. The specification of a single machine. */ @@ -1079,6 +1067,10 @@ export namespace aiplatform_v1beta1 { * Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. */ maxReplicaCount?: number | null; + /** + * Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). + */ + spot?: boolean | null; /** * Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count */ @@ -3092,6 +3084,14 @@ export namespace aiplatform_v1beta1 { * Statistics computed over a tuning dataset. */ export interface Schema$GoogleCloudAiplatformV1beta1DatasetStats { + /** + * Output only. A partial sample of the indices (starting from 1) of the dropped examples. + */ + droppedExampleIndices?: string[] | null; + /** + * Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. + */ + droppedExampleReasons?: string[] | null; /** * Output only. Number of billable characters in the tuning dataset. */ @@ -3336,6 +3336,10 @@ export namespace aiplatform_v1beta1 { * Optional. The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating `deployment_groups` with `reserved_ip_ranges` is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. Note: we only support up to 5 deployment groups(not including 'default'). */ deploymentGroup?: string | null; + /** + * Optional. The deployment tier that the index is deployed to. DEPLOYMENT_TIER_UNSPECIFIED defaults to PERFORMANCE. + */ + deploymentTier?: string | null; /** * The display name of the DeployedIndex. If not provided upon creation, the Index's display_name is used. */ @@ -3731,13 +3735,21 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1DeployRequestEndpointConfig { /** - * Optional. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region\}-aiplatform.googleapis.com. The limitations will be removed soon. + * Optional. By default, if dedicated endpoint is enabled, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region\}-aiplatform.googleapis.com. The limitations will be removed soon. If this field is set to true, the dedicated endpoint will be disabled and the deployed model will be exposed through the shared DNS {region\}-aiplatform.googleapis.com. + */ + dedicatedEndpointDisabled?: boolean | null; + /** + * Optional. Deprecated. Use dedicated_endpoint_disabled instead. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region\}-aiplatform.googleapis.com. The limitations will be removed soon. */ dedicatedEndpointEnabled?: boolean | null; /** * Optional. The user-specified display name of the endpoint. If not set, a default name will be used. */ endpointDisplayName?: string | null; + /** + * Optional. Immutable. The ID to use for endpoint, which will become the final component of the endpoint resource name. If not provided, Vertex AI will generate a value for this ID. If the first character is a letter, this value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The last character must be a letter or number. If the first character is a number, this value may be up to 9 characters, and valid characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this field is populated based on a query string argument, such as `?endpoint_id=12345`. This is the fallback for fields that are not included in either the URI or the body. + */ + endpointUserId?: string | null; } /** * The model config to use for the deployment. @@ -4055,7 +4067,12 @@ export namespace aiplatform_v1beta1 { /** * 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; + } /** * Selector for entityId. Getting ids from the given source. */ @@ -4228,6 +4245,23 @@ export namespace aiplatform_v1beta1 { */ outputConfig?: Schema$GoogleCloudAiplatformV1beta1OutputConfig; } + /** + * Evaluate Dataset Run Result for Tuning Job. + */ + export interface Schema$GoogleCloudAiplatformV1beta1EvaluateDatasetRun { + /** + * Output only. The checkpoint id used in the evaluation run. Only populated when evaluating checkpoints. + */ + checkpointId?: string | null; + /** + * Output only. The error of the evaluation run if any. + */ + error?: Schema$GoogleRpcStatus; + /** + * Output only. The operation ID of the evaluation run. Format: `projects/{project\}/locations/{location\}/operations/{operation_id\}`. + */ + operationName?: string | null; + } /** * Request message for EvaluationService.EvaluateInstances. */ @@ -4498,6 +4532,23 @@ export namespace aiplatform_v1beta1 { */ trajectorySingleToolUseResults?: Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults; } + /** + * Evaluation Config for Tuning Job. + */ + export interface Schema$GoogleCloudAiplatformV1beta1EvaluationConfig { + /** + * Optional. Autorater config for evaluation. + */ + autoraterConfig?: Schema$GoogleCloudAiplatformV1beta1AutoraterConfig; + /** + * Required. The metrics used for evaluation. + */ + metrics?: Schema$GoogleCloudAiplatformV1beta1Metric[]; + /** + * Required. Config for evaluation output. + */ + outputConfig?: Schema$GoogleCloudAiplatformV1beta1OutputConfig; + } /** * The dataset used for evaluation. */ @@ -7234,6 +7285,32 @@ export namespace aiplatform_v1beta1 { */ tools?: Schema$GoogleCloudAiplatformV1beta1Tool[]; } + /** + * Input example for preference optimization. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GeminiPreferenceExample { + /** + * List of completions for a given prompt. + */ + completions?: Schema$GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion[]; + /** + * Multi-turn contents that represents the Prompt. + */ + contents?: Schema$GoogleCloudAiplatformV1beta1Content[]; + } + /** + * Completion and its preference score. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GeminiPreferenceExampleCompletion { + /** + * Single turn completion for the given prompt. + */ + completion?: Schema$GoogleCloudAiplatformV1beta1Content; + /** + * The score for the given completion. + */ + score?: number | null; + } /** * Configuration for how to read Gemini requests from a multimodal dataset. */ @@ -7328,6 +7405,10 @@ export namespace aiplatform_v1beta1 { * Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter. */ labels?: {[key: string]: string} | null; + /** + * Optional. Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied. + */ + modelArmorConfig?: Schema$GoogleCloudAiplatformV1beta1ModelArmorConfig; /** * Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. */ @@ -7448,6 +7529,10 @@ export namespace aiplatform_v1beta1 { * Defines a direct source of content as the source content from which to generate memories. */ directContentsSource?: Schema$GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectContentsSource; + /** + * Defines a direct source of memories that should be uploaded to Memory Bank. This is similar to `CreateMemory`, but it allows for consolidation between these new memories and existing memories for the same scope. + */ + directMemoriesSource?: Schema$GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource; /** * Optional. If true, generated memories will not be consolidated with existing memories; all generated memories will be added as new memories regardless of whether they are duplicates of or contradictory to existing memories. By default, memory consolidation is enabled. */ @@ -7479,6 +7564,24 @@ export namespace aiplatform_v1beta1 { */ content?: Schema$GoogleCloudAiplatformV1beta1Content; } + /** + * Defines a direct source of memories that should be uploaded to Memory Bank with consolidation. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSource { + /** + * Required. The direct memories to upload to Memory Bank. At most 5 direct memories are allowed per request. + */ + directMemories?: Schema$GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory[]; + } + /** + * A direct memory to upload to Memory Bank. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory { + /** + * Required. The fact to consolidate with existing memories. + */ + fact?: string | null; + } /** * Defines an Agent Engine Session from which to generate the memories. If `scope` is not provided, the scope will be extracted from the Session (i.e. {"user_id": sesison.user_id\}). */ @@ -7903,6 +8006,10 @@ export namespace aiplatform_v1beta1 { * Chunk from context retrieved by the retrieval tools. */ export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext { + /** + * Output only. The full document name for the referenced Vertex AI Search document. + */ + documentName?: string | null; /** * Additional context for the RAG retrieval result. This is only populated when using the RAG retrieval tool. */ @@ -9774,6 +9881,10 @@ export namespace aiplatform_v1beta1 { * Optional. Display name of the Memory. */ displayName?: string | null; + /** + * Optional. Timestamp of when this resource is considered expired. This is *always* provided on output, regardless of what `expiration` was sent on input. + */ + expireTime?: string | null; /** * Required. Semantic knowledge extracted from the source content. */ @@ -9786,6 +9897,10 @@ export namespace aiplatform_v1beta1 { * Required. Immutable. The scope of the Memory. Memories are isolated within their scope. The scope is defined when creating or generating memories. Scope values cannot contain the wildcard character '*'. */ scope?: {[key: string]: string} | null; + /** + * Optional. Input only. The TTL for this resource. The expiration time is computed: now + TTL. + */ + ttl?: string | null; /** * Output only. Timestamp when this Memory was most recently updated. */ @@ -10320,6 +10435,19 @@ export namespace aiplatform_v1beta1 { */ versionUpdateTime?: string | null; } + /** + * Configuration for Model Armor integrations of prompt and responses. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ModelArmorConfig { + /** + * Optional. The name of the Model Armor template to use for prompt sanitization. + */ + promptTemplateName?: string | null; + /** + * Optional. The name of the Model Armor template to use for response sanitization. + */ + responseTemplateName?: string | null; + } /** * User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models. */ @@ -12549,6 +12677,24 @@ export namespace aiplatform_v1beta1 { */ postStartupScriptConfig?: Schema$GoogleCloudAiplatformV1beta1PostStartupScriptConfig; } + /** + * Request message for GenAiTuningService.OptimizePrompt. + */ + export interface Schema$GoogleCloudAiplatformV1beta1OptimizePromptRequest { + /** + * Required. The content to optimize. + */ + content?: Schema$GoogleCloudAiplatformV1beta1Content; + } + /** + * Response message for GenAiTuningService.OptimizePrompt + */ + export interface Schema$GoogleCloudAiplatformV1beta1OptimizePromptResponse { + /** + * Output only. The optimized prompt content. + */ + content?: Schema$GoogleCloudAiplatformV1beta1Content; + } /** * Config for evaluation output. */ @@ -13526,6 +13672,93 @@ export namespace aiplatform_v1beta1 { */ predictionSchemaUri?: string | null; } + /** + * Statistics computed for datasets used for preference optimization. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats { + /** + * Output only. A partial sample of the indices (starting from 1) of the dropped examples. + */ + droppedExampleIndices?: string[] | null; + /** + * Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. + */ + droppedExampleReasons?: string[] | null; + /** + * Output only. Dataset distributions for scores. + */ + scoresDistribution?: Schema$GoogleCloudAiplatformV1beta1DatasetDistribution; + /** + * Output only. Dataset distributions for scores variance per example. + */ + scoreVariancePerExampleDistribution?: Schema$GoogleCloudAiplatformV1beta1DatasetDistribution; + /** + * Output only. Number of billable tokens in the tuning dataset. + */ + totalBillableTokenCount?: string | null; + /** + * Output only. Number of examples in the tuning dataset. + */ + tuningDatasetExampleCount?: string | null; + /** + * Output only. Number of tuning steps for this Tuning Job. + */ + tuningStepCount?: string | null; + /** + * Output only. Sample user examples in the training dataset. + */ + userDatasetExamples?: Schema$GoogleCloudAiplatformV1beta1GeminiPreferenceExample[]; + /** + * Output only. Dataset distributions for the user input tokens. + */ + userInputTokenDistribution?: Schema$GoogleCloudAiplatformV1beta1DatasetDistribution; + /** + * Output only. Dataset distributions for the user output tokens. + */ + userOutputTokenDistribution?: Schema$GoogleCloudAiplatformV1beta1DatasetDistribution; + } + /** + * Hyperparameters for Preference Optimization. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters { + /** + * Optional. Adapter size for preference optimization. + */ + adapterSize?: string | null; + /** + * Optional. Weight for KL Divergence regularization. + */ + beta?: number | null; + /** + * Optional. Number of complete passes the model makes over the entire training dataset during training. + */ + epochCount?: string | null; + /** + * Optional. Multiplier for adjusting the default learning rate. + */ + learningRateMultiplier?: number | null; + } + /** + * Tuning Spec for Preference Optimization. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec { + /** + * Optional. Evaluation Config for Preference Optimization Job. + */ + evaluationConfig?: Schema$GoogleCloudAiplatformV1beta1EvaluationConfig; + /** + * Optional. Hyperparameters for Preference Optimization. + */ + hyperParameters?: Schema$GoogleCloudAiplatformV1beta1PreferenceOptimizationHyperParameters; + /** + * Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. + */ + trainingDatasetUri?: string | null; + /** + * Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. + */ + validationDatasetUri?: string | null; + } /** * Preset configuration for example-based explanations */ @@ -13539,6 +13772,23 @@ export namespace aiplatform_v1beta1 { */ query?: string | null; } + /** + * A pre-tuned model for continuous tuning. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PreTunedModel { + /** + * Output only. The name of the base model this PreTunedModel was tuned from. + */ + baseModel?: string | null; + /** + * Optional. The source checkpoint id. If not specified, the default checkpoint will be used. + */ + checkpointId?: string | null; + /** + * The resource name of the Model. E.g., a model resource name with a specified version id or alias: `projects/{project\}/locations/{location\}/models/{model\}@{version_id\}` `projects/{project\}/locations/{location\}/models/{model\}@{alias\}` Or, omit the version id to use the default version: `projects/{project\}/locations/{location\}/models/{model\}` + */ + tunedModelName?: string | null; + } /** * PrivateEndpoints proto is used to provide paths for users to send requests privately. To send request via private service access, use predict_http_uri, explain_http_uri or health_http_uri. To send request via private service connect, use service_attachment. */ @@ -14645,7 +14895,7 @@ export namespace aiplatform_v1beta1 { */ ragEmbeddingModelConfig?: Schema$GoogleCloudAiplatformV1beta1RagEmbeddingModelConfig; /** - * Output only. Number of RagFiles in the RagCorpus. + * Output only. Number of RagFiles in the RagCorpus. NOTE: This field is not populated in the response of VertexRagDataService.ListRagCorpora. */ ragFilesCount?: number | null; /** @@ -15559,10 +15809,30 @@ export namespace aiplatform_v1beta1 { * The specification of a Reasoning Engine deployment. */ export interface Schema$GoogleCloudAiplatformV1beta1ReasoningEngineSpecDeploymentSpec { + /** + * Optional. Concurrency for each container and agent server. Recommended value: 2 * cpu + 1. Defaults to 9. + */ + containerConcurrency?: number | null; /** * Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the UpdateReasoningEngine API. */ env?: Schema$GoogleCloudAiplatformV1beta1EnvVar[]; + /** + * Optional. The maximum number of application instances that can be launched to handle increased traffic. Defaults to 100. + */ + maxInstances?: number | null; + /** + * Optional. The minimum number of application instances that will be kept running at all times. Defaults to 1. + */ + minInstances?: number | null; + /** + * Optional. Configuration for PSC-I. + */ + pscInterfaceConfig?: Schema$GoogleCloudAiplatformV1beta1PscInterfaceConfig; + /** + * Optional. Resource limits for each container. Only 'cpu' and 'memory' keys are supported. Defaults to {"cpu": "4", "memory": "4Gi"\}. * The only supported values for CPU are '1', '2', '4', and '8'. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits + */ + resourceLimits?: {[key: string]: string} | null; /** * Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent. */ @@ -15627,6 +15897,70 @@ export namespace aiplatform_v1beta1 { * Request message for PersistentResourceService.RebootPersistentResource. */ export interface Schema$GoogleCloudAiplatformV1beta1RebootPersistentResourceRequest {} + /** + * Request message for ModelService.RecommendSpec. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RecommendSpecRequest { + /** + * Optional. If true, check machine availability for the recommended regions. Only return the machine spec in regions where the machine is available. + */ + checkMachineAvailability?: boolean | null; + /** + * Optional. If true, check user quota for the recommended regions. Returns all the machine spec in regions they are available, and also the user quota state for each machine type in each region. + */ + checkUserQuota?: boolean | null; + /** + * Required. The Google Cloud Storage URI of the custom model, storing weights and config files (which can be used to infer the base model). + */ + gcsUri?: string | null; + } + /** + * Response message for ModelService.RecommendSpec. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RecommendSpecResponse { + /** + * Output only. The base model used to finetune the custom model. + */ + baseModel?: string | null; + /** + * Output only. Recommendations of deployment options for the given custom weights model. + */ + recommendations?: Schema$GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation[]; + /** + * Output only. The machine and model container specs. + */ + specs?: Schema$GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec[]; + } + /** + * A machine and model container spec. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec { + /** + * Output only. The model container spec. + */ + containerSpec?: Schema$GoogleCloudAiplatformV1beta1ModelContainerSpec; + /** + * Output only. The machine spec. + */ + machineSpec?: Schema$GoogleCloudAiplatformV1beta1MachineSpec; + } + /** + * Recommendation of one deployment option for the given custom weights model in one region. Contains the machine and container spec, and user accelerator quota state. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RecommendSpecResponseRecommendation { + /** + * The region for the deployment spec (machine). + */ + region?: string | null; + /** + * Output only. The machine and model container specs. + */ + spec?: Schema$GoogleCloudAiplatformV1beta1RecommendSpecResponseMachineAndModelContainerSpec; + /** + * Output only. The user accelerator quota state. + */ + userQuotaState?: string | null; + } /** * Request message for MetadataService.DeleteContextChildrenRequest. */ @@ -21142,6 +21476,10 @@ export namespace aiplatform_v1beta1 { * Tuning Spec for Supervised Tuning for first party models. */ export interface Schema$GoogleCloudAiplatformV1beta1SupervisedTuningSpec { + /** + * Optional. Evaluation Config for Tuning Job. + */ + evaluationConfig?: Schema$GoogleCloudAiplatformV1beta1EvaluationConfig; /** * Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false. */ @@ -21569,10 +21907,6 @@ export namespace aiplatform_v1beta1 { * Optional. CodeExecution tool type. Enables the model to execute code as part of generation. */ codeExecution?: Schema$GoogleCloudAiplatformV1beta1ToolCodeExecution; - /** - * Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations. - */ - computerUse?: Schema$GoogleCloudAiplatformV1beta1ToolComputerUse; /** * Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. */ @@ -21667,15 +22001,6 @@ export namespace aiplatform_v1beta1 { * Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool. */ export interface Schema$GoogleCloudAiplatformV1beta1ToolCodeExecution {} - /** - * Tool to support computer use. - */ - export interface Schema$GoogleCloudAiplatformV1beta1ToolComputerUse { - /** - * Required. The environment being operated. - */ - environment?: string | null; - } /** * Tool config. This config is shared for all tools provided in the request. */ @@ -21692,7 +22017,12 @@ export namespace aiplatform_v1beta1 { /** * 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; + } /** * Input for tool name match metric. */ @@ -22407,6 +22737,10 @@ export namespace aiplatform_v1beta1 { * Output only. Statistics for distillation. */ distillationDataStats?: Schema$GoogleCloudAiplatformV1beta1DistillationDataStats; + /** + * Output only. Statistics for preference optimization. + */ + preferenceOptimizationDataStats?: Schema$GoogleCloudAiplatformV1beta1PreferenceOptimizationDataStats; /** * The SFT Tuning data stats. */ @@ -22448,6 +22782,10 @@ export namespace aiplatform_v1beta1 { * Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. */ error?: Schema$GoogleRpcStatus; + /** + * Output only. Evaluation runs for the Tuning Job. + */ + evaluateDatasetRuns?: Schema$GoogleCloudAiplatformV1beta1EvaluateDatasetRun[]; /** * Output only. The Experiment associated with this TuningJob. */ @@ -22472,6 +22810,14 @@ export namespace aiplatform_v1beta1 { * Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project\}/locations/{location\}/pipelineJobs/{pipeline_job\}`. */ pipelineJob?: string | null; + /** + * Tuning Spec for Preference Optimization. + */ + preferenceOptimizationSpec?: Schema$GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec; + /** + * The pre-tuned model for continuous tuning. + */ + preTunedModel?: Schema$GoogleCloudAiplatformV1beta1PreTunedModel; /** * Output only. Reserved for future use. */ @@ -22508,10 +22854,18 @@ export namespace aiplatform_v1beta1 { * Output only. The tuning data statistics associated with this TuningJob. */ tuningDataStats?: Schema$GoogleCloudAiplatformV1beta1TuningDataStats; + /** + * Output only. The detail state of the tuning job (while the overall `JobState` is running). + */ + tuningJobState?: string | null; /** * Output only. Time when the TuningJob was most recently updated. */ updateTime?: string | null; + /** + * Tuning Spec for Veo Tuning. + */ + veoTuningSpec?: Schema$GoogleCloudAiplatformV1beta1VeoTuningSpec; } /** * Runtime operation information for IndexEndpointService.UndeployIndex. @@ -22957,6 +23311,40 @@ export namespace aiplatform_v1beta1 { */ stringValue?: string | null; } + /** + * Hyperparameters for Veo. + */ + export interface Schema$GoogleCloudAiplatformV1beta1VeoHyperParameters { + /** + * Optional. Number of complete passes the model makes over the entire training dataset during training. + */ + epochCount?: string | null; + /** + * Optional. Multiplier for adjusting the default learning rate. + */ + learningRateMultiplier?: number | null; + /** + * Optional. The tuning task. Either I2V or T2V. + */ + tuningTask?: string | null; + } + /** + * Tuning Spec for Veo Model Tuning. + */ + export interface Schema$GoogleCloudAiplatformV1beta1VeoTuningSpec { + /** + * Optional. Hyperparameters for Veo. + */ + hyperParameters?: Schema$GoogleCloudAiplatformV1beta1VeoHyperParameters; + /** + * 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; + /** + * 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. + */ + validationDatasetUri?: string | null; + } /** * Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder */ @@ -23054,6 +23442,10 @@ export namespace aiplatform_v1beta1 { * Optional. The end offset of the video. */ endOffset?: string | null; + /** + * Optional. The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]. + */ + fps?: number | null; /** * Optional. The start offset of the video. */ @@ -26483,6 +26875,7 @@ export namespace aiplatform_v1beta1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -26973,6 +27366,7 @@ export namespace aiplatform_v1beta1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -29809,6 +30203,165 @@ export namespace aiplatform_v1beta1 { } } + /** + * Gets a Model's spec recommendations. This API is called by UI, SDK, and internal. + * @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('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 aiplatform.projects.locations.recommendSpec({ + * // Required. The resource name of the Location from which to recommend specs. The users must have permission to make a call in the project. Format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "checkMachineAvailability": false, + * // "checkUserQuota": false, + * // "gcsUri": "my_gcsUri" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "baseModel": "my_baseModel", + * // "recommendations": [], + * // "specs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + recommendSpec( + params: Params$Resource$Projects$Locations$Recommendspec, + options: StreamMethodOptions + ): Promise>; + recommendSpec( + params?: Params$Resource$Projects$Locations$Recommendspec, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + recommendSpec( + params: Params$Resource$Projects$Locations$Recommendspec, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recommendSpec( + params: Params$Resource$Projects$Locations$Recommendspec, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recommendSpec( + params: Params$Resource$Projects$Locations$Recommendspec, + callback: BodyResponseCallback + ): void; + recommendSpec( + callback: BodyResponseCallback + ): void; + recommendSpec( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Recommendspec + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Recommendspec; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Recommendspec; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}:recommendSpec').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 + ); + } + } + /** * Retrieves relevant contexts for a query. * @example @@ -30226,6 +30779,18 @@ export namespace aiplatform_v1beta1 { */ pageToken?: string; } + export interface Params$Resource$Projects$Locations$Recommendspec + extends StandardParameters { + /** + * Required. The resource name of the Location from which to recommend specs. The users must have permission to make a call in the project. Format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1RecommendSpecRequest; + } export interface Params$Resource$Projects$Locations$Retrievecontexts extends StandardParameters { /** @@ -36921,9 +37486,7 @@ export namespace aiplatform_v1beta1 { * requestBody: { * // request body parameters * // { - * // "geminiRequestReadConfig": {}, - * // "geminiTemplateConfig": {}, - * // "requestColumnName": "my_requestColumnName" + * // "geminiRequestReadConfig": {} * // } * }, * }); @@ -37079,8 +37642,6 @@ export namespace aiplatform_v1beta1 { * // "batchPredictionResourceUsageAssessmentConfig": {}, * // "batchPredictionValidationAssessmentConfig": {}, * // "geminiRequestReadConfig": {}, - * // "geminiTemplateConfig": {}, - * // "requestColumnName": "my_requestColumnName", * // "tuningResourceUsageAssessmentConfig": {}, * // "tuningValidationAssessmentConfig": {} * // } @@ -48631,6 +49192,7 @@ export namespace aiplatform_v1beta1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -50407,6 +50969,7 @@ export namespace aiplatform_v1beta1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -81356,6 +81919,7 @@ export namespace aiplatform_v1beta1 { * // "dedicatedResources": {}, * // "deployedIndexAuthConfig": {}, * // "deploymentGroup": "my_deploymentGroup", + * // "deploymentTier": "my_deploymentTier", * // "displayName": "my_displayName", * // "enableAccessLogging": false, * // "enableDatapointUpsertLogging": false, @@ -118033,6 +118597,7 @@ export namespace aiplatform_v1beta1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -119151,6 +119716,7 @@ export namespace aiplatform_v1beta1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -125337,9 +125903,11 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "expireTime": "my_expireTime", * // "fact": "my_fact", * // "name": "my_name", * // "scope": {}, + * // "ttl": "my_ttl", * // "updateTime": "my_updateTime" * // } * }, @@ -125641,6 +126209,7 @@ export namespace aiplatform_v1beta1 { * // request body parameters * // { * // "directContentsSource": {}, + * // "directMemoriesSource": {}, * // "disableConsolidation": false, * // "scope": {}, * // "vertexSessionSource": {} @@ -125802,9 +126371,11 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "expireTime": "my_expireTime", * // "fact": "my_fact", * // "name": "my_name", * // "scope": {}, + * // "ttl": "my_ttl", * // "updateTime": "my_updateTime" * // } * } @@ -126113,9 +126684,11 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "expireTime": "my_expireTime", * // "fact": "my_fact", * // "name": "my_name", * // "scope": {}, + * // "ttl": "my_ttl", * // "updateTime": "my_updateTime" * // } * }, @@ -149267,12 +149840,15 @@ export namespace aiplatform_v1beta1 { * // "encryptionSpec": {}, * // "endTime": "my_endTime", * // "error": {}, + * // "evaluateDatasetRuns": [], * // "experiment": "my_experiment", * // "labels": {}, * // "name": "my_name", * // "outputUri": "my_outputUri", * // "partnerModelTuningSpec": {}, * // "pipelineJob": "my_pipelineJob", + * // "preTunedModel": {}, + * // "preferenceOptimizationSpec": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "serviceAccount": "my_serviceAccount", @@ -149282,7 +149858,9 @@ export namespace aiplatform_v1beta1 { * // "tunedModel": {}, * // "tunedModelDisplayName": "my_tunedModelDisplayName", * // "tuningDataStats": {}, - * // "updateTime": "my_updateTime" + * // "tuningJobState": "my_tuningJobState", + * // "updateTime": "my_updateTime", + * // "veoTuningSpec": {} * // } * }, * }); @@ -149298,12 +149876,15 @@ export namespace aiplatform_v1beta1 { * // "encryptionSpec": {}, * // "endTime": "my_endTime", * // "error": {}, + * // "evaluateDatasetRuns": [], * // "experiment": "my_experiment", * // "labels": {}, * // "name": "my_name", * // "outputUri": "my_outputUri", * // "partnerModelTuningSpec": {}, * // "pipelineJob": "my_pipelineJob", + * // "preTunedModel": {}, + * // "preferenceOptimizationSpec": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "serviceAccount": "my_serviceAccount", @@ -149313,7 +149894,9 @@ export namespace aiplatform_v1beta1 { * // "tunedModel": {}, * // "tunedModelDisplayName": "my_tunedModelDisplayName", * // "tuningDataStats": {}, - * // "updateTime": "my_updateTime" + * // "tuningJobState": "my_tuningJobState", + * // "updateTime": "my_updateTime", + * // "veoTuningSpec": {} * // } * } * @@ -149468,12 +150051,15 @@ export namespace aiplatform_v1beta1 { * // "encryptionSpec": {}, * // "endTime": "my_endTime", * // "error": {}, + * // "evaluateDatasetRuns": [], * // "experiment": "my_experiment", * // "labels": {}, * // "name": "my_name", * // "outputUri": "my_outputUri", * // "partnerModelTuningSpec": {}, * // "pipelineJob": "my_pipelineJob", + * // "preTunedModel": {}, + * // "preferenceOptimizationSpec": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "serviceAccount": "my_serviceAccount", @@ -149483,7 +150069,9 @@ export namespace aiplatform_v1beta1 { * // "tunedModel": {}, * // "tunedModelDisplayName": "my_tunedModelDisplayName", * // "tuningDataStats": {}, - * // "updateTime": "my_updateTime" + * // "tuningJobState": "my_tuningJobState", + * // "updateTime": "my_updateTime", + * // "veoTuningSpec": {} * // } * } * @@ -149743,6 +150331,161 @@ export namespace aiplatform_v1beta1 { } } + /** + * Optimizes a prompt. + * @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('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 aiplatform.projects.locations.tuningJobs.optimizePrompt({ + * // Required. The resource name of the Location to optimize the prompt in. Format: `projects/{project\}/locations/{location\}` + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "content": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "content": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + optimizePrompt( + params: Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt, + options: StreamMethodOptions + ): Promise>; + optimizePrompt( + params?: Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + optimizePrompt( + params: Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + optimizePrompt( + params: Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + optimizePrompt( + params: Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt, + callback: BodyResponseCallback + ): void; + optimizePrompt( + callback: BodyResponseCallback + ): void; + optimizePrompt( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+parent}/tuningJobs:optimizePrompt' + ).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 + ); + } + } + /** * Rebase a TunedModel. * @example @@ -149950,6 +150693,18 @@ export namespace aiplatform_v1beta1 { */ parent?: string; } + export interface Params$Resource$Projects$Locations$Tuningjobs$Optimizeprompt + extends StandardParameters { + /** + * Required. The resource name of the Location to optimize the prompt in. Format: `projects/{project\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1OptimizePromptRequest; + } export interface Params$Resource$Projects$Locations$Tuningjobs$Rebasetunedmodel extends StandardParameters { /** @@ -150993,6 +151748,7 @@ export namespace aiplatform_v1beta1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -151808,6 +152564,7 @@ export namespace aiplatform_v1beta1 { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -153304,9 +154061,11 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "expireTime": "my_expireTime", * // "fact": "my_fact", * // "name": "my_name", * // "scope": {}, + * // "ttl": "my_ttl", * // "updateTime": "my_updateTime" * // } * }, @@ -153603,6 +154362,7 @@ export namespace aiplatform_v1beta1 { * // request body parameters * // { * // "directContentsSource": {}, + * // "directMemoriesSource": {}, * // "disableConsolidation": false, * // "scope": {}, * // "vertexSessionSource": {} @@ -153761,9 +154521,11 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "expireTime": "my_expireTime", * // "fact": "my_fact", * // "name": "my_name", * // "scope": {}, + * // "ttl": "my_ttl", * // "updateTime": "my_updateTime" * // } * } @@ -154067,9 +154829,11 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "expireTime": "my_expireTime", * // "fact": "my_fact", * // "name": "my_name", * // "scope": {}, + * // "ttl": "my_ttl", * // "updateTime": "my_updateTime" * // } * }, From 1c2c093bf5010d9d8836a7d3ef02af8b857c0932 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:10 +0000 Subject: [PATCH 03/43] feat(alloydb): update the API #### alloydb:v1alpha The following keys were added: - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.id - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupConfiguration.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupConfiguration.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupRun.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupRun.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupdrConfiguration.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupdrConfiguration.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.fullResourceName.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.fullResourceName.type - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.format - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.type - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.resourceId.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.resourceId.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.type - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.backupdrMetadata.$ref - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.backupdrMetadata.description The following keys were changed: - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.feedType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.feedType.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enumDeprecated - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enumDeprecated - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enumDescriptions #### alloydb:v1beta The following keys were added: - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.id - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupConfiguration.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupConfiguration.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupRun.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupRun.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupdrConfiguration.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupdrConfiguration.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.fullResourceName.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.fullResourceName.type - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.format - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.type - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.resourceId.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.resourceId.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.type - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.backupdrMetadata.$ref - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.backupdrMetadata.description The following keys were changed: - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.feedType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.feedType.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enumDeprecated - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enumDeprecated - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enumDescriptions #### alloydb:v1 The following keys were added: - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.id - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupConfiguration.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupConfiguration.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupRun.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupRun.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupdrConfiguration.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.backupdrConfiguration.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.fullResourceName.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.fullResourceName.type - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.format - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.lastRefreshTime.type - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.resourceId.$ref - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.properties.resourceId.description - schemas.StorageDatabasecenterPartnerapiV1mainBackupDRMetadata.type - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.backupdrMetadata.$ref - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.backupdrMetadata.description The following keys were changed: - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.feedType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed.properties.feedType.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enumDeprecated - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData.properties.signalType.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enumDeprecated - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData.properties.signalType.enumDescriptions --- discovery/alloydb-v1.json | 60 +++++++++++++++++++++++++++++----- discovery/alloydb-v1alpha.json | 60 +++++++++++++++++++++++++++++----- discovery/alloydb-v1beta.json | 60 +++++++++++++++++++++++++++++----- src/apis/alloydb/v1.ts | 35 +++++++++++++++++++- src/apis/alloydb/v1alpha.ts | 35 +++++++++++++++++++- src/apis/alloydb/v1beta.ts | 35 +++++++++++++++++++- 6 files changed, 258 insertions(+), 27 deletions(-) diff --git a/discovery/alloydb-v1.json b/discovery/alloydb-v1.json index 3f07c70bb1..b77bde8cd5 100644 --- a/discovery/alloydb-v1.json +++ b/discovery/alloydb-v1.json @@ -1622,7 +1622,7 @@ } } }, - "revision": "20250723", + "revision": "20250731", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -4102,6 +4102,38 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata": { + "description": "BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource.", + "id": "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata", + "properties": { + "backupConfiguration": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupConfiguration", + "description": "Backup configuration for this instance." + }, + "backupRun": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupRun", + "description": "Latest backup run information for this instance." + }, + "backupdrConfiguration": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupDRConfiguration", + "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": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceId", + "description": "Required. Database resource id." + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainBackupRun": { "description": "A backup run.", "id": "StorageDatabasecenterPartnerapiV1mainBackupRun", @@ -4211,9 +4243,13 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed": { - "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": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed", "properties": { + "backupdrMetadata": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata", + "description": "BackupDR metadata is used to ingest metadata from BackupDR." + }, "configBasedSignalData": { "$ref": "StorageDatabasecenterPartnerapiV1mainConfigBasedSignalData", "description": "Config based signal data is used to ingest signals that are generated based on the configuration of the database resource." @@ -4231,7 +4267,8 @@ "OBSERVABILITY_DATA", "SECURITY_FINDING_DATA", "RECOMMENDATION_SIGNAL_DATA", - "CONFIG_BASED_SIGNAL_DATA" + "CONFIG_BASED_SIGNAL_DATA", + "BACKUPDR_METADATA" ], "enumDescriptions": [ "", @@ -4239,7 +4276,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" }, @@ -4478,7 +4516,8 @@ "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", "SIGNAL_TYPE_REPLICATION_LAG", - "SIGNAL_TYPE_OUTDATED_VERSION" + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT" ], "enumDeprecated": [ false, @@ -4581,6 +4620,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -4684,7 +4724,8 @@ "Schema not optimized.", "High number of idle connections.", "Replication delay.", - "Outdated version." + "Outdated version.", + "Outdated client." ], "type": "string" }, @@ -5111,7 +5152,8 @@ "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", "SIGNAL_TYPE_REPLICATION_LAG", - "SIGNAL_TYPE_OUTDATED_VERSION" + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT" ], "enumDeprecated": [ false, @@ -5214,6 +5256,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -5317,7 +5360,8 @@ "Schema not optimized.", "High number of idle connections.", "Replication delay.", - "Outdated version." + "Outdated version.", + "Outdated client." ], "type": "string" } diff --git a/discovery/alloydb-v1alpha.json b/discovery/alloydb-v1alpha.json index 18f39ecdde..20a19339da 100644 --- a/discovery/alloydb-v1alpha.json +++ b/discovery/alloydb-v1alpha.json @@ -1622,7 +1622,7 @@ } } }, - "revision": "20250723", + "revision": "20250731", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -4279,6 +4279,38 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata": { + "description": "BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource.", + "id": "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata", + "properties": { + "backupConfiguration": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupConfiguration", + "description": "Backup configuration for this instance." + }, + "backupRun": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupRun", + "description": "Latest backup run information for this instance." + }, + "backupdrConfiguration": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupDRConfiguration", + "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": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceId", + "description": "Required. Database resource id." + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainBackupRun": { "description": "A backup run.", "id": "StorageDatabasecenterPartnerapiV1mainBackupRun", @@ -4388,9 +4420,13 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed": { - "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": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed", "properties": { + "backupdrMetadata": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata", + "description": "BackupDR metadata is used to ingest metadata from BackupDR." + }, "configBasedSignalData": { "$ref": "StorageDatabasecenterPartnerapiV1mainConfigBasedSignalData", "description": "Config based signal data is used to ingest signals that are generated based on the configuration of the database resource." @@ -4408,7 +4444,8 @@ "OBSERVABILITY_DATA", "SECURITY_FINDING_DATA", "RECOMMENDATION_SIGNAL_DATA", - "CONFIG_BASED_SIGNAL_DATA" + "CONFIG_BASED_SIGNAL_DATA", + "BACKUPDR_METADATA" ], "enumDescriptions": [ "", @@ -4416,7 +4453,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" }, @@ -4655,7 +4693,8 @@ "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", "SIGNAL_TYPE_REPLICATION_LAG", - "SIGNAL_TYPE_OUTDATED_VERSION" + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT" ], "enumDeprecated": [ false, @@ -4758,6 +4797,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -4861,7 +4901,8 @@ "Schema not optimized.", "High number of idle connections.", "Replication delay.", - "Outdated version." + "Outdated version.", + "Outdated client." ], "type": "string" }, @@ -5288,7 +5329,8 @@ "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", "SIGNAL_TYPE_REPLICATION_LAG", - "SIGNAL_TYPE_OUTDATED_VERSION" + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT" ], "enumDeprecated": [ false, @@ -5391,6 +5433,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -5494,7 +5537,8 @@ "Schema not optimized.", "High number of idle connections.", "Replication delay.", - "Outdated version." + "Outdated version.", + "Outdated client." ], "type": "string" } diff --git a/discovery/alloydb-v1beta.json b/discovery/alloydb-v1beta.json index 1d0e2b2789..d97a619f7d 100644 --- a/discovery/alloydb-v1beta.json +++ b/discovery/alloydb-v1beta.json @@ -1619,7 +1619,7 @@ } } }, - "revision": "20250723", + "revision": "20250731", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -4255,6 +4255,38 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata": { + "description": "BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource.", + "id": "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata", + "properties": { + "backupConfiguration": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupConfiguration", + "description": "Backup configuration for this instance." + }, + "backupRun": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupRun", + "description": "Latest backup run information for this instance." + }, + "backupdrConfiguration": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupDRConfiguration", + "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": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceId", + "description": "Required. Database resource id." + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainBackupRun": { "description": "A backup run.", "id": "StorageDatabasecenterPartnerapiV1mainBackupRun", @@ -4364,9 +4396,13 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed": { - "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": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed", "properties": { + "backupdrMetadata": { + "$ref": "StorageDatabasecenterPartnerapiV1mainBackupDRMetadata", + "description": "BackupDR metadata is used to ingest metadata from BackupDR." + }, "configBasedSignalData": { "$ref": "StorageDatabasecenterPartnerapiV1mainConfigBasedSignalData", "description": "Config based signal data is used to ingest signals that are generated based on the configuration of the database resource." @@ -4384,7 +4420,8 @@ "OBSERVABILITY_DATA", "SECURITY_FINDING_DATA", "RECOMMENDATION_SIGNAL_DATA", - "CONFIG_BASED_SIGNAL_DATA" + "CONFIG_BASED_SIGNAL_DATA", + "BACKUPDR_METADATA" ], "enumDescriptions": [ "", @@ -4392,7 +4429,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" }, @@ -4631,7 +4669,8 @@ "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", "SIGNAL_TYPE_REPLICATION_LAG", - "SIGNAL_TYPE_OUTDATED_VERSION" + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT" ], "enumDeprecated": [ false, @@ -4734,6 +4773,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -4837,7 +4877,8 @@ "Schema not optimized.", "High number of idle connections.", "Replication delay.", - "Outdated version." + "Outdated version.", + "Outdated client." ], "type": "string" }, @@ -5264,7 +5305,8 @@ "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", "SIGNAL_TYPE_REPLICATION_LAG", - "SIGNAL_TYPE_OUTDATED_VERSION" + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT" ], "enumDeprecated": [ false, @@ -5367,6 +5409,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -5470,7 +5513,8 @@ "Schema not optimized.", "High number of idle connections.", "Replication delay.", - "Outdated version." + "Outdated version.", + "Outdated client." ], "type": "string" } diff --git a/src/apis/alloydb/v1.ts b/src/apis/alloydb/v1.ts index 8dbf5921cd..5e59389b3a 100644 --- a/src/apis/alloydb/v1.ts +++ b/src/apis/alloydb/v1.ts @@ -1714,6 +1714,35 @@ export namespace alloydb_v1 { */ backupdrManaged?: boolean | null; } + /** + * BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainBackupDRMetadata { + /** + * Backup configuration for this instance. + */ + backupConfiguration?: Schema$StorageDatabasecenterPartnerapiV1mainBackupConfiguration; + /** + * BackupDR configuration for this instance. + */ + backupdrConfiguration?: Schema$StorageDatabasecenterPartnerapiV1mainBackupDRConfiguration; + /** + * Latest backup run information for this instance. + */ + backupRun?: Schema$StorageDatabasecenterPartnerapiV1mainBackupRun; + /** + * 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$StorageDatabasecenterPartnerapiV1mainDatabaseResourceId; + } /** * A backup run. */ @@ -1783,9 +1812,13 @@ export namespace alloydb_v1 { internalResourceMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata[]; } /** - * 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$StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed { + /** + * BackupDR metadata is used to ingest metadata from BackupDR. + */ + backupdrMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainBackupDRMetadata; /** * 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/alloydb/v1alpha.ts b/src/apis/alloydb/v1alpha.ts index c363c49530..3ee5af1a60 100644 --- a/src/apis/alloydb/v1alpha.ts +++ b/src/apis/alloydb/v1alpha.ts @@ -1832,6 +1832,35 @@ export namespace alloydb_v1alpha { */ backupdrManaged?: boolean | null; } + /** + * BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainBackupDRMetadata { + /** + * Backup configuration for this instance. + */ + backupConfiguration?: Schema$StorageDatabasecenterPartnerapiV1mainBackupConfiguration; + /** + * BackupDR configuration for this instance. + */ + backupdrConfiguration?: Schema$StorageDatabasecenterPartnerapiV1mainBackupDRConfiguration; + /** + * Latest backup run information for this instance. + */ + backupRun?: Schema$StorageDatabasecenterPartnerapiV1mainBackupRun; + /** + * 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$StorageDatabasecenterPartnerapiV1mainDatabaseResourceId; + } /** * A backup run. */ @@ -1901,9 +1930,13 @@ export namespace alloydb_v1alpha { internalResourceMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata[]; } /** - * 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$StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed { + /** + * BackupDR metadata is used to ingest metadata from BackupDR. + */ + backupdrMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainBackupDRMetadata; /** * 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/alloydb/v1beta.ts b/src/apis/alloydb/v1beta.ts index 24fb0fa1f8..5cbd148e1e 100644 --- a/src/apis/alloydb/v1beta.ts +++ b/src/apis/alloydb/v1beta.ts @@ -1816,6 +1816,35 @@ export namespace alloydb_v1beta { */ backupdrManaged?: boolean | null; } + /** + * BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainBackupDRMetadata { + /** + * Backup configuration for this instance. + */ + backupConfiguration?: Schema$StorageDatabasecenterPartnerapiV1mainBackupConfiguration; + /** + * BackupDR configuration for this instance. + */ + backupdrConfiguration?: Schema$StorageDatabasecenterPartnerapiV1mainBackupDRConfiguration; + /** + * Latest backup run information for this instance. + */ + backupRun?: Schema$StorageDatabasecenterPartnerapiV1mainBackupRun; + /** + * 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$StorageDatabasecenterPartnerapiV1mainDatabaseResourceId; + } /** * A backup run. */ @@ -1885,9 +1914,13 @@ export namespace alloydb_v1beta { internalResourceMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata[]; } /** - * 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$StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed { + /** + * BackupDR metadata is used to ingest metadata from BackupDR. + */ + backupdrMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainBackupDRMetadata; /** * Config based signal data is used to ingest signals that are generated based on the configuration of the database resource. */ From 198bf050d946f39adc7623a3594b859245c90319 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 04/43] feat(analyticshub): update the API #### analyticshub:v1 The following keys were added: - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.flatPath - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.httpMethod - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.id - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.parameterOrder - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.parameters.name.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.parameters.name.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.parameters.name.pattern - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.parameters.name.required - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.parameters.name.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.path - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.request.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.response.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.approve.scopes - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.flatPath - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.httpMethod - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.id - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameterOrder - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameters.parent.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameters.parent.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameters.parent.pattern - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameters.parent.required - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameters.parent.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameters.queryTemplateId.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameters.queryTemplateId.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.parameters.queryTemplateId.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.path - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.request.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.response.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.create.scopes - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.flatPath - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.httpMethod - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.id - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.parameterOrder - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.parameters.name.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.parameters.name.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.parameters.name.pattern - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.parameters.name.required - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.parameters.name.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.path - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.response.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.delete.scopes - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.flatPath - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.httpMethod - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.id - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.parameterOrder - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.parameters.name.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.parameters.name.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.parameters.name.pattern - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.parameters.name.required - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.parameters.name.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.path - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.response.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.get.scopes - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.flatPath - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.httpMethod - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.id - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameterOrder - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.pageSize.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.pageSize.format - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.pageSize.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.pageSize.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.pageToken.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.pageToken.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.parent.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.parent.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.parent.pattern - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.parent.required - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.parameters.parent.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.path - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.response.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.list.scopes - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.flatPath - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.httpMethod - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.id - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameterOrder - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.name.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.name.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.name.pattern - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.name.required - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.name.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.updateMask.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.updateMask.format - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.updateMask.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.parameters.updateMask.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.path - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.request.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.response.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.patch.scopes - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.flatPath - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.httpMethod - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.id - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.parameterOrder - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.parameters.name.description - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.parameters.name.location - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.parameters.name.pattern - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.parameters.name.required - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.parameters.name.type - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.path - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.request.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.response.$ref - resources.projects.resources.locations.resources.dataExchanges.resources.queryTemplates.methods.submit.scopes - schemas.ApproveQueryTemplateRequest.description - schemas.ApproveQueryTemplateRequest.id - schemas.ApproveQueryTemplateRequest.type - schemas.ListQueryTemplatesResponse.description - schemas.ListQueryTemplatesResponse.id - schemas.ListQueryTemplatesResponse.properties.nextPageToken.description - schemas.ListQueryTemplatesResponse.properties.nextPageToken.type - schemas.ListQueryTemplatesResponse.properties.queryTemplates.description - schemas.ListQueryTemplatesResponse.properties.queryTemplates.items.$ref - schemas.ListQueryTemplatesResponse.properties.queryTemplates.type - schemas.ListQueryTemplatesResponse.type - schemas.QueryTemplate.description - schemas.QueryTemplate.id - schemas.QueryTemplate.properties.createTime.description - schemas.QueryTemplate.properties.createTime.format - schemas.QueryTemplate.properties.createTime.readOnly - schemas.QueryTemplate.properties.createTime.type - schemas.QueryTemplate.properties.description.description - schemas.QueryTemplate.properties.description.type - schemas.QueryTemplate.properties.displayName.description - schemas.QueryTemplate.properties.displayName.type - schemas.QueryTemplate.properties.documentation.description - schemas.QueryTemplate.properties.documentation.type - schemas.QueryTemplate.properties.name.description - schemas.QueryTemplate.properties.name.readOnly - schemas.QueryTemplate.properties.name.type - schemas.QueryTemplate.properties.primaryContact.description - schemas.QueryTemplate.properties.primaryContact.type - schemas.QueryTemplate.properties.proposer.description - schemas.QueryTemplate.properties.proposer.type - schemas.QueryTemplate.properties.routine.$ref - schemas.QueryTemplate.properties.routine.description - schemas.QueryTemplate.properties.state.description - schemas.QueryTemplate.properties.state.enum - schemas.QueryTemplate.properties.state.enumDescriptions - schemas.QueryTemplate.properties.state.readOnly - schemas.QueryTemplate.properties.state.type - schemas.QueryTemplate.properties.updateTime.description - schemas.QueryTemplate.properties.updateTime.format - schemas.QueryTemplate.properties.updateTime.readOnly - schemas.QueryTemplate.properties.updateTime.type - schemas.QueryTemplate.type - schemas.Routine.description - schemas.Routine.id - schemas.Routine.properties.definitionBody.description - schemas.Routine.properties.definitionBody.type - schemas.Routine.properties.routineType.description - schemas.Routine.properties.routineType.enum - schemas.Routine.properties.routineType.enumDescriptions - schemas.Routine.properties.routineType.type - schemas.Routine.type - schemas.SubmitQueryTemplateRequest.description - schemas.SubmitQueryTemplateRequest.id - schemas.SubmitQueryTemplateRequest.type --- discovery/analyticshub-v1.json | 342 ++++++++- src/apis/analyticshub/v1.ts | 1263 ++++++++++++++++++++++++++++++++ 2 files changed, 1604 insertions(+), 1 deletion(-) diff --git a/discovery/analyticshub-v1.json b/discovery/analyticshub-v1.json index 6967260ba0..22f36b181f 100644 --- a/discovery/analyticshub-v1.json +++ b/discovery/analyticshub-v1.json @@ -805,6 +805,226 @@ ] } } + }, + "queryTemplates": { + "methods": { + "approve": { + "description": "Approves a query template.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataExchanges/{dataExchangesId}/queryTemplates/{queryTemplatesId}:approve", + "httpMethod": "POST", + "id": "analyticshub.projects.locations.dataExchanges.queryTemplates.approve", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataExchanges/[^/]+/queryTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:approve", + "request": { + "$ref": "ApproveQueryTemplateRequest" + }, + "response": { + "$ref": "QueryTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new QueryTemplate", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataExchanges/{dataExchangesId}/queryTemplates", + "httpMethod": "POST", + "id": "analyticshub.projects.locations.dataExchanges.queryTemplates.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myQueryTemplate`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataExchanges/[^/]+$", + "required": true, + "type": "string" + }, + "queryTemplateId": { + "description": "Required. The ID of the QueryTemplate to create. Must contain only Unicode letters, numbers (0-9), underscores (_). Max length: 100 bytes.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/queryTemplates", + "request": { + "$ref": "QueryTemplate" + }, + "response": { + "$ref": "QueryTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a query template.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataExchanges/{dataExchangesId}/queryTemplates/{queryTemplatesId}", + "httpMethod": "DELETE", + "id": "analyticshub.projects.locations.dataExchanges.queryTemplates.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataExchanges/[^/]+/queryTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a QueryTemplate", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataExchanges/{dataExchangesId}/queryTemplates/{queryTemplatesId}", + "httpMethod": "GET", + "id": "analyticshub.projects.locations.dataExchanges.queryTemplates.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The parent resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataExchanges/[^/]+/queryTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "QueryTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all QueryTemplates in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataExchanges/{dataExchangesId}/queryTemplates", + "httpMethod": "GET", + "id": "analyticshub.projects.locations.dataExchanges.queryTemplates.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token, returned by a previous call, to request the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource path of the QueryTemplates. e.g. `projects/myproject/locations/us/dataExchanges/123`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataExchanges/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/queryTemplates", + "response": { + "$ref": "ListQueryTemplatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing QueryTemplate", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataExchanges/{dataExchangesId}/queryTemplates/{queryTemplatesId}", + "httpMethod": "PATCH", + "id": "analyticshub.projects.locations.dataExchanges.queryTemplates.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/456`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataExchanges/[^/]+/queryTemplates/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask specifies the fields to update in the query template resource. The fields specified in the `updateMask` are relative to the resource and are not a full request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "QueryTemplate" + }, + "response": { + "$ref": "QueryTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "submit": { + "description": "Submits a query template for approval.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataExchanges/{dataExchangesId}/queryTemplates/{queryTemplatesId}:submit", + "httpMethod": "POST", + "id": "analyticshub.projects.locations.dataExchanges.queryTemplates.submit", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataExchanges/[^/]+/queryTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:submit", + "request": { + "$ref": "SubmitQueryTemplateRequest" + }, + "response": { + "$ref": "QueryTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -1027,9 +1247,15 @@ } } }, - "revision": "20250623", + "revision": "20250807", "rootUrl": "https://analyticshub.googleapis.com/", "schemas": { + "ApproveQueryTemplateRequest": { + "description": "Message for approving a QueryTemplate.", + "id": "ApproveQueryTemplateRequest", + "properties": {}, + "type": "object" + }, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", @@ -1684,6 +1910,24 @@ }, "type": "object" }, + "ListQueryTemplatesResponse": { + "description": "Message for response to the list of QueryTemplates.", + "id": "ListQueryTemplatesResponse", + "properties": { + "nextPageToken": { + "description": "A token to request the next page of results.", + "type": "string" + }, + "queryTemplates": { + "description": "The list of QueryTemplates.", + "items": { + "$ref": "QueryTemplate" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSharedResourceSubscriptionsResponse": { "description": "Message for response to the listing of shared resource subscriptions.", "id": "ListSharedResourceSubscriptionsResponse", @@ -2110,6 +2354,73 @@ }, "type": "object" }, + "QueryTemplate": { + "description": "A query template is a container for sharing table-valued functions defined by contributors in a data clean room.", + "id": "QueryTemplate", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the QueryTemplate was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Short description of the QueryTemplate. The description must not contain Unicode non-characters and C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF). Default value is an empty string. Max length: 2000 bytes.", + "type": "string" + }, + "displayName": { + "description": "Required. Human-readable display name of the QueryTemplate. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), ampersands (&) and can't start or end with spaces. Default value is an empty string. Max length: 63 bytes.", + "type": "string" + }, + "documentation": { + "description": "Optional. Documentation describing the QueryTemplate.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/456`", + "readOnly": true, + "type": "string" + }, + "primaryContact": { + "description": "Optional. Email or URL of the primary point of contact of the QueryTemplate. Max Length: 1000 bytes.", + "type": "string" + }, + "proposer": { + "description": "Optional. Will be deprecated. Email or URL of the primary point of contact of the QueryTemplate. Max Length: 1000 bytes.", + "type": "string" + }, + "routine": { + "$ref": "Routine", + "description": "Optional. The routine associated with the QueryTemplate." + }, + "state": { + "description": "Output only. The QueryTemplate lifecycle state.", + "enum": [ + "STATE_UNSPECIFIED", + "DRAFTED", + "PENDING", + "DELETED", + "APPROVED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The QueryTemplate is in draft state.", + "The QueryTemplate is in pending state.", + "The QueryTemplate is in deleted state.", + "The QueryTemplate is in approved state." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the QueryTemplate was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RefreshSubscriptionRequest": { "description": "Message for refreshing a subscription.", "id": "RefreshSubscriptionRequest", @@ -2200,6 +2511,29 @@ "properties": {}, "type": "object" }, + "Routine": { + "description": "Represents a bigquery routine.", + "id": "Routine", + "properties": { + "definitionBody": { + "description": "Optional. The definition body of the routine.", + "type": "string" + }, + "routineType": { + "description": "Required. The type of routine.", + "enum": [ + "ROUTINE_TYPE_UNSPECIFIED", + "TABLE_VALUED_FUNCTION" + ], + "enumDescriptions": [ + "Default value.", + "Non-built-in persistent TVF." + ], + "type": "string" + } + }, + "type": "object" + }, "SelectedResource": { "description": "Resource in this dataset that is selectively shared.", "id": "SelectedResource", @@ -2273,6 +2607,12 @@ }, "type": "object" }, + "SubmitQueryTemplateRequest": { + "description": "Message for submitting a QueryTemplate.", + "id": "SubmitQueryTemplateRequest", + "properties": {}, + "type": "object" + }, "SubscribeDataExchangeRequest": { "description": "Message for subscribing to a Data Exchange.", "id": "SubscribeDataExchangeRequest", diff --git a/src/apis/analyticshub/v1.ts b/src/apis/analyticshub/v1.ts index c450373646..9531954ca2 100644 --- a/src/apis/analyticshub/v1.ts +++ b/src/apis/analyticshub/v1.ts @@ -126,6 +126,10 @@ export namespace analyticshub_v1 { } } + /** + * Message for approving a QueryTemplate. + */ + export interface Schema$ApproveQueryTemplateRequest {} /** * 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. */ @@ -716,6 +720,19 @@ export namespace analyticshub_v1 { */ nextPageToken?: string | null; } + /** + * Message for response to the list of QueryTemplates. + */ + export interface Schema$ListQueryTemplatesResponse { + /** + * A token to request the next page of results. + */ + nextPageToken?: string | null; + /** + * The list of QueryTemplates. + */ + queryTemplates?: Schema$QueryTemplate[]; + } /** * Message for response to the listing of shared resource subscriptions. */ @@ -915,6 +932,51 @@ export namespace analyticshub_v1 { */ pushEndpoint?: string | null; } + /** + * A query template is a container for sharing table-valued functions defined by contributors in a data clean room. + */ + export interface Schema$QueryTemplate { + /** + * Output only. Timestamp when the QueryTemplate was created. + */ + createTime?: string | null; + /** + * Optional. Short description of the QueryTemplate. The description must not contain Unicode non-characters and C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF). Default value is an empty string. Max length: 2000 bytes. + */ + description?: string | null; + /** + * Required. Human-readable display name of the QueryTemplate. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), ampersands (&) and can't start or end with spaces. Default value is an empty string. Max length: 63 bytes. + */ + displayName?: string | null; + /** + * Optional. Documentation describing the QueryTemplate. + */ + documentation?: string | null; + /** + * Output only. The resource name of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/456` + */ + name?: string | null; + /** + * Optional. Email or URL of the primary point of contact of the QueryTemplate. Max Length: 1000 bytes. + */ + primaryContact?: string | null; + /** + * Optional. Will be deprecated. Email or URL of the primary point of contact of the QueryTemplate. Max Length: 1000 bytes. + */ + proposer?: string | null; + /** + * Optional. The routine associated with the QueryTemplate. + */ + routine?: Schema$Routine; + /** + * Output only. The QueryTemplate lifecycle state. + */ + state?: string | null; + /** + * Output only. Timestamp when the QueryTemplate was last modified. + */ + updateTime?: string | null; + } /** * Message for refreshing a subscription. */ @@ -988,6 +1050,19 @@ export namespace analyticshub_v1 { * Message for response when you revoke a subscription. Empty for now. */ export interface Schema$RevokeSubscriptionResponse {} + /** + * Represents a bigquery routine. + */ + export interface Schema$Routine { + /** + * Optional. The definition body of the routine. + */ + definitionBody?: string | null; + /** + * Required. The type of routine. + */ + routineType?: string | null; + } /** * Resource in this dataset that is selectively shared. */ @@ -1044,6 +1119,10 @@ export namespace analyticshub_v1 { */ message?: string | null; } + /** + * Message for submitting a QueryTemplate. + */ + export interface Schema$SubmitQueryTemplateRequest {} /** * Message for subscribing to a Data Exchange. */ @@ -1406,11 +1485,16 @@ export namespace analyticshub_v1 { export class Resource$Projects$Locations$Dataexchanges { context: APIRequestContext; listings: Resource$Projects$Locations$Dataexchanges$Listings; + queryTemplates: Resource$Projects$Locations$Dataexchanges$Querytemplates; constructor(context: APIRequestContext) { this.context = context; this.listings = new Resource$Projects$Locations$Dataexchanges$Listings( this.context ); + this.queryTemplates = + new Resource$Projects$Locations$Dataexchanges$Querytemplates( + this.context + ); } /** @@ -4827,6 +4911,1185 @@ export namespace analyticshub_v1 { requestBody?: Schema$TestIamPermissionsRequest; } + export class Resource$Projects$Locations$Dataexchanges$Querytemplates { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Approves a query template. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/analyticshub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const analyticshub = google.analyticshub('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/bigquery', + * '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 analyticshub.projects.locations.dataExchanges.queryTemplates.approve({ + * // Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. + * name: 'projects/my-project/locations/my-location/dataExchanges/my-dataExchange/queryTemplates/my-queryTemplate', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "documentation": "my_documentation", + * // "name": "my_name", + * // "primaryContact": "my_primaryContact", + * // "proposer": "my_proposer", + * // "routine": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + approve( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve, + options: StreamMethodOptions + ): Promise>; + approve( + params?: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve, + options?: MethodOptions + ): Promise>; + approve( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + approve( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + approve( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve, + callback: BodyResponseCallback + ): void; + approve(callback: BodyResponseCallback): void; + approve( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://analyticshub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:approve').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a new QueryTemplate + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/analyticshub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const analyticshub = google.analyticshub('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/bigquery', + * '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 analyticshub.projects.locations.dataExchanges.queryTemplates.create({ + * // Required. The parent resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myQueryTemplate`. + * parent: + * 'projects/my-project/locations/my-location/dataExchanges/my-dataExchange', + * // Required. The ID of the QueryTemplate to create. Must contain only Unicode letters, numbers (0-9), underscores (_). Max length: 100 bytes. + * queryTemplateId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "documentation": "my_documentation", + * // "name": "my_name", + * // "primaryContact": "my_primaryContact", + * // "proposer": "my_proposer", + * // "routine": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "documentation": "my_documentation", + * // "name": "my_name", + * // "primaryContact": "my_primaryContact", + * // "proposer": "my_proposer", + * // "routine": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://analyticshub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/queryTemplates').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 query template. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/analyticshub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const analyticshub = google.analyticshub('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/bigquery', + * '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 analyticshub.projects.locations.dataExchanges.queryTemplates.delete({ + * // Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. + * name: 'projects/my-project/locations/my-location/dataExchanges/my-dataExchange/queryTemplates/my-queryTemplate', + * }); + * 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$Dataexchanges$Querytemplates$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://analyticshub.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 QueryTemplate + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/analyticshub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const analyticshub = google.analyticshub('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/bigquery', + * '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 analyticshub.projects.locations.dataExchanges.queryTemplates.get({ + * // Required. The parent resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. + * name: 'projects/my-project/locations/my-location/dataExchanges/my-dataExchange/queryTemplates/my-queryTemplate', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "documentation": "my_documentation", + * // "name": "my_name", + * // "primaryContact": "my_primaryContact", + * // "proposer": "my_proposer", + * // "routine": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://analyticshub.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 QueryTemplates in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/analyticshub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const analyticshub = google.analyticshub('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/bigquery', + * '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 analyticshub.projects.locations.dataExchanges.queryTemplates.list({ + * // Optional. The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection. + * pageSize: 'placeholder-value', + * // Optional. Page token, returned by a previous call, to request the next page of results. + * pageToken: 'placeholder-value', + * // Required. The parent resource path of the QueryTemplates. e.g. `projects/myproject/locations/us/dataExchanges/123`. + * parent: + * 'projects/my-project/locations/my-location/dataExchanges/my-dataExchange', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "queryTemplates": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Dataexchanges$Querytemplates$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://analyticshub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/queryTemplates').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates an existing QueryTemplate + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/analyticshub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const analyticshub = google.analyticshub('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/bigquery', + * '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 analyticshub.projects.locations.dataExchanges.queryTemplates.patch({ + * // Output only. The resource name of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/456` + * name: 'projects/my-project/locations/my-location/dataExchanges/my-dataExchange/queryTemplates/my-queryTemplate', + * // Optional. Field mask specifies the fields to update in the query template resource. The fields specified in the `updateMask` are relative to the resource and are not a full request. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "documentation": "my_documentation", + * // "name": "my_name", + * // "primaryContact": "my_primaryContact", + * // "proposer": "my_proposer", + * // "routine": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "documentation": "my_documentation", + * // "name": "my_name", + * // "primaryContact": "my_primaryContact", + * // "proposer": "my_proposer", + * // "routine": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://analyticshub.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); + } + } + + /** + * Submits a query template for approval. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/analyticshub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const analyticshub = google.analyticshub('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/bigquery', + * '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 analyticshub.projects.locations.dataExchanges.queryTemplates.submit({ + * // Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. + * name: 'projects/my-project/locations/my-location/dataExchanges/my-dataExchange/queryTemplates/my-queryTemplate', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "documentation": "my_documentation", + * // "name": "my_name", + * // "primaryContact": "my_primaryContact", + * // "proposer": "my_proposer", + * // "routine": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + submit( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit, + options: StreamMethodOptions + ): Promise>; + submit( + params?: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit, + options?: MethodOptions + ): Promise>; + submit( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + submit( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + submit( + params: Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit, + callback: BodyResponseCallback + ): void; + submit(callback: BodyResponseCallback): void; + submit( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://analyticshub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:submit').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Approve + extends StandardParameters { + /** + * Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ApproveQueryTemplateRequest; + } + export interface Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Create + extends StandardParameters { + /** + * Required. The parent resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myQueryTemplate`. + */ + parent?: string; + /** + * Required. The ID of the QueryTemplate to create. Must contain only Unicode letters, numbers (0-9), underscores (_). Max length: 100 bytes. + */ + queryTemplateId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$QueryTemplate; + } + export interface Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Delete + extends StandardParameters { + /** + * Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Get + extends StandardParameters { + /** + * Required. The parent resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$List + extends StandardParameters { + /** + * Optional. The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection. + */ + pageSize?: number; + /** + * Optional. Page token, returned by a previous call, to request the next page of results. + */ + pageToken?: string; + /** + * Required. The parent resource path of the QueryTemplates. e.g. `projects/myproject/locations/us/dataExchanges/123`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Patch + extends StandardParameters { + /** + * Output only. The resource name of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/456` + */ + name?: string; + /** + * Optional. Field mask specifies the fields to update in the query template resource. The fields specified in the `updateMask` are relative to the resource and are not a full request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$QueryTemplate; + } + export interface Params$Resource$Projects$Locations$Dataexchanges$Querytemplates$Submit + extends StandardParameters { + /** + * Required. The resource path of the QueryTemplate. e.g. `projects/myproject/locations/us/dataExchanges/123/queryTemplates/myqueryTemplate`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SubmitQueryTemplateRequest; + } + export class Resource$Projects$Locations$Subscriptions { context: APIRequestContext; constructor(context: APIRequestContext) { From 98948c037b0fba4ad266ae9c66ebe0eb9f37ea43 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 05/43] fix(androidmanagement): update the API #### androidmanagement:v1 The following keys were changed: - resources.enterprises.resources.devices.methods.list.parameters.pageSize.description --- discovery/androidmanagement-v1.json | 4 ++-- src/apis/androidmanagement/v1.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/discovery/androidmanagement-v1.json b/discovery/androidmanagement-v1.json index 24be53c8ce..36d31015d7 100644 --- a/discovery/androidmanagement-v1.json +++ b/discovery/androidmanagement-v1.json @@ -453,7 +453,7 @@ ], "parameters": { "pageSize": { - "description": "The requested page size. The actual page size may be fixed to a min or max value.", + "description": "The requested page size. If unspecified, at most 10 devices will be returned. The maximum value is 100; values above 100 will be coerced to 100. The limits can change over time.", "format": "int32", "location": "query", "type": "integer" @@ -1260,7 +1260,7 @@ } } }, - "revision": "20250714", + "revision": "20250804", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { diff --git a/src/apis/androidmanagement/v1.ts b/src/apis/androidmanagement/v1.ts index 0599bdf6e1..2fb24a2233 100644 --- a/src/apis/androidmanagement/v1.ts +++ b/src/apis/androidmanagement/v1.ts @@ -5573,7 +5573,7 @@ export namespace androidmanagement_v1 { * * // Do the magic * const res = await androidmanagement.enterprises.devices.list({ - * // The requested page size. The actual page size may be fixed to a min or max value. + * // The requested page size. If unspecified, at most 10 devices will be returned. The maximum value is 100; values above 100 will be coerced to 100. The limits can change over time. * pageSize: 'placeholder-value', * // A token identifying a page of results returned by the server. * pageToken: 'placeholder-value', @@ -5938,7 +5938,7 @@ export namespace androidmanagement_v1 { export interface Params$Resource$Enterprises$Devices$List extends StandardParameters { /** - * The requested page size. The actual page size may be fixed to a min or max value. + * The requested page size. If unspecified, at most 10 devices will be returned. The maximum value is 100; values above 100 will be coerced to 100. The limits can change over time. */ pageSize?: number; /** From 746cf70c5de75b60b98676c5483e5334f492d044 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 06/43] feat(androidpublisher): update the API #### androidpublisher:v3 The following keys were added: - schemas.DeferredItemRemoval.description - schemas.DeferredItemRemoval.id - schemas.DeferredItemRemoval.type - schemas.SubscriptionPurchaseLineItem.properties.deferredItemRemoval.$ref - schemas.SubscriptionPurchaseLineItem.properties.deferredItemRemoval.description --- discovery/androidpublisher-v3.json | 12 +++++++++++- src/apis/androidpublisher/v3.ts | 8 ++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/discovery/androidpublisher-v3.json b/discovery/androidpublisher-v3.json index 1f01d2c188..040e015762 100644 --- a/discovery/androidpublisher-v3.json +++ b/discovery/androidpublisher-v3.json @@ -5521,7 +5521,7 @@ } } }, - "revision": "20250724", + "revision": "20250807", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -7057,6 +7057,12 @@ }, "type": "object" }, + "DeferredItemRemoval": { + "description": "Information related to deferred item replacement.", + "id": "DeferredItemRemoval", + "properties": {}, + "type": "object" + }, "DeferredItemReplacement": { "description": "Information related to deferred item replacement.", "id": "DeferredItemReplacement", @@ -11319,6 +11325,10 @@ "$ref": "AutoRenewingPlan", "description": "The item is auto renewing." }, + "deferredItemRemoval": { + "$ref": "DeferredItemRemoval", + "description": "Information for deferred item removal." + }, "deferredItemReplacement": { "$ref": "DeferredItemReplacement", "description": "Information for deferred item replacement." diff --git a/src/apis/androidpublisher/v3.ts b/src/apis/androidpublisher/v3.ts index ff76925715..61bed421c8 100644 --- a/src/apis/androidpublisher/v3.ts +++ b/src/apis/androidpublisher/v3.ts @@ -1208,6 +1208,10 @@ export namespace androidpublisher_v3 { */ productId?: string | null; } + /** + * Information related to deferred item replacement. + */ + export interface Schema$DeferredItemRemoval {} /** * Information related to deferred item replacement. */ @@ -4213,6 +4217,10 @@ export namespace androidpublisher_v3 { * The item is auto renewing. */ autoRenewingPlan?: Schema$AutoRenewingPlan; + /** + * Information for deferred item removal. + */ + deferredItemRemoval?: Schema$DeferredItemRemoval; /** * Information for deferred item replacement. */ From 005d661b733b9cfe9a2ad4ec854583a79b15decc Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 07/43] feat(apim): update the API #### apim:v1alpha The following keys were added: - resources.projects.resources.locations.methods.getEntitlement.description - resources.projects.resources.locations.methods.getEntitlement.flatPath - resources.projects.resources.locations.methods.getEntitlement.httpMethod - resources.projects.resources.locations.methods.getEntitlement.id - resources.projects.resources.locations.methods.getEntitlement.parameterOrder - resources.projects.resources.locations.methods.getEntitlement.parameters.name.description - resources.projects.resources.locations.methods.getEntitlement.parameters.name.location - resources.projects.resources.locations.methods.getEntitlement.parameters.name.pattern - resources.projects.resources.locations.methods.getEntitlement.parameters.name.required - resources.projects.resources.locations.methods.getEntitlement.parameters.name.type - resources.projects.resources.locations.methods.getEntitlement.path - resources.projects.resources.locations.methods.getEntitlement.response.$ref - resources.projects.resources.locations.methods.getEntitlement.scopes - schemas.Entitlement.description - schemas.Entitlement.id - schemas.Entitlement.properties.apiObservationEntitled.description - schemas.Entitlement.properties.apiObservationEntitled.type - schemas.Entitlement.properties.billingProjectNumber.description - schemas.Entitlement.properties.billingProjectNumber.format - schemas.Entitlement.properties.billingProjectNumber.type - schemas.Entitlement.properties.createTime.description - schemas.Entitlement.properties.createTime.format - schemas.Entitlement.properties.createTime.readOnly - schemas.Entitlement.properties.createTime.type - schemas.Entitlement.properties.name.description - schemas.Entitlement.properties.name.type - schemas.Entitlement.properties.updateTime.description - schemas.Entitlement.properties.updateTime.format - schemas.Entitlement.properties.updateTime.readOnly - schemas.Entitlement.properties.updateTime.type - schemas.Entitlement.type --- discovery/apim-v1alpha.json | 59 ++++++++++++- src/apis/apim/v1alpha.ts | 170 ++++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+), 1 deletion(-) diff --git a/discovery/apim-v1alpha.json b/discovery/apim-v1alpha.json index 7efbf7facd..af1c546e3f 100644 --- a/discovery/apim-v1alpha.json +++ b/discovery/apim-v1alpha.json @@ -134,6 +134,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getEntitlement": { + "description": "GetEntitlement returns the entitlement for the provided project.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/entitlement", + "httpMethod": "GET", + "id": "apim.projects.locations.getEntitlement", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The entitlement resource name Format: projects/{project}/locations/{location}/entitlement", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entitlement$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Entitlement" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists information about the supported locations for this service.", "flatPath": "v1alpha/projects/{projectsId}/locations", @@ -821,7 +846,7 @@ } } }, - "revision": "20250521", + "revision": "20250730", "rootUrl": "https://apim.googleapis.com/", "schemas": { "ApiObservation": { @@ -996,6 +1021,38 @@ "properties": {}, "type": "object" }, + "Entitlement": { + "description": "Entitlement stores data related to API Observation entitlement for a given project", + "id": "Entitlement", + "properties": { + "apiObservationEntitled": { + "description": "Whether API Observation is entitled.", + "type": "boolean" + }, + "billingProjectNumber": { + "description": "Project number of associated billing project that has Apigee and Advanced API Security entitled.", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. The time of the entitlement creation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The entitlement resource name `projects/{project}/locations/{location}/entitlement`", + "type": "string" + }, + "updateTime": { + "description": "Output only. The time of the entitlement update.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GclbObservationSource": { "description": "The GCLB observation source.", "id": "GclbObservationSource", diff --git a/src/apis/apim/v1alpha.ts b/src/apis/apim/v1alpha.ts index 0a323ce02e..ca79c623ce 100644 --- a/src/apis/apim/v1alpha.ts +++ b/src/apis/apim/v1alpha.ts @@ -241,6 +241,31 @@ export namespace apim_v1alpha { * Message for enabling an ObservationJob */ export interface Schema$EnableObservationJobRequest {} + /** + * Entitlement stores data related to API Observation entitlement for a given project + */ + export interface Schema$Entitlement { + /** + * Whether API Observation is entitled. + */ + apiObservationEntitled?: boolean | null; + /** + * Project number of associated billing project that has Apigee and Advanced API Security entitled. + */ + billingProjectNumber?: string | null; + /** + * Output only. The time of the entitlement creation. + */ + createTime?: string | null; + /** + * Identifier. The entitlement resource name `projects/{project\}/locations/{location\}/entitlement` + */ + name?: string | null; + /** + * Output only. The time of the entitlement update. + */ + updateTime?: string | null; + } /** * The GCLB observation source. */ @@ -788,6 +813,144 @@ export namespace apim_v1alpha { } } + /** + * GetEntitlement returns the entitlement for the provided project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/apim.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const apim = google.apim('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 apim.projects.locations.getEntitlement({ + * // Required. The entitlement resource name Format: projects/{project\}/locations/{location\}/entitlement + * name: 'projects/my-project/locations/my-location/entitlement', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "apiObservationEntitled": false, + * // "billingProjectNumber": "my_billingProjectNumber", + * // "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. + */ + getEntitlement( + params: Params$Resource$Projects$Locations$Getentitlement, + options: StreamMethodOptions + ): Promise>; + getEntitlement( + params?: Params$Resource$Projects$Locations$Getentitlement, + options?: MethodOptions + ): Promise>; + getEntitlement( + params: Params$Resource$Projects$Locations$Getentitlement, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEntitlement( + params: Params$Resource$Projects$Locations$Getentitlement, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEntitlement( + params: Params$Resource$Projects$Locations$Getentitlement, + callback: BodyResponseCallback + ): void; + getEntitlement(callback: BodyResponseCallback): void; + getEntitlement( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Getentitlement + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Getentitlement; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Getentitlement; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://apim.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Lists information about the supported locations for this service. * @example @@ -1092,6 +1255,13 @@ export namespace apim_v1alpha { */ name?: string; } + export interface Params$Resource$Projects$Locations$Getentitlement + extends StandardParameters { + /** + * Required. The entitlement resource name Format: projects/{project\}/locations/{location\}/entitlement + */ + name?: string; + } export interface Params$Resource$Projects$Locations$List extends StandardParameters { /** From f5d32a71b93bee1954f24fe9668e69f1bbb7e6f6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 08/43] feat(appengine)!: update the API BREAKING CHANGE: This release has breaking changes. #### appengine:v1alpha The following keys were changed: - resources.apps.resources.authorizedCertificates.methods.create.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.delete.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.get.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.list.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.patch.parameters.appsId.description - resources.apps.resources.authorizedDomains.methods.list.parameters.appsId.description - resources.apps.resources.domainMappings.methods.create.parameters.appsId.description - resources.apps.resources.domainMappings.methods.delete.parameters.appsId.description - resources.apps.resources.domainMappings.methods.get.parameters.appsId.description - resources.apps.resources.domainMappings.methods.list.parameters.appsId.description - resources.apps.resources.domainMappings.methods.patch.parameters.appsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.create.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.delete.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.get.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.list.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.patch.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedDomains.methods.list.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.domainMappings.methods.create.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.domainMappings.methods.get.parameters.projectsId.description #### appengine:v1beta The following keys were deleted: - schemas.Application.properties.name.description - schemas.FirewallRule.properties.priority.description The following keys were changed: - resources.apps.methods.get.parameters.appsId.description - resources.apps.methods.patch.parameters.appsId.description - resources.apps.methods.repair.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.create.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.delete.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.get.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.list.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.patch.parameters.appsId.description - resources.apps.resources.authorizedDomains.methods.list.parameters.appsId.description - resources.apps.resources.domainMappings.methods.create.parameters.appsId.description - resources.apps.resources.domainMappings.methods.delete.parameters.appsId.description - resources.apps.resources.domainMappings.methods.get.parameters.appsId.description - resources.apps.resources.domainMappings.methods.list.parameters.appsId.description - resources.apps.resources.domainMappings.methods.patch.parameters.appsId.description - resources.apps.resources.firewall.resources.ingressRules.methods.create.parameters.appsId.description - resources.apps.resources.services.methods.delete.parameters.appsId.description - resources.apps.resources.services.methods.get.parameters.appsId.description - resources.apps.resources.services.methods.list.parameters.appsId.description - resources.apps.resources.services.methods.patch.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.create.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.delete.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.get.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.list.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.patch.parameters.appsId.description - resources.apps.resources.services.resources.versions.resources.instances.methods.debug.parameters.appsId.description - resources.apps.resources.services.resources.versions.resources.instances.methods.delete.parameters.appsId.description - resources.apps.resources.services.resources.versions.resources.instances.methods.get.parameters.appsId.description - resources.apps.resources.services.resources.versions.resources.instances.methods.list.parameters.appsId.description - resources.projects.resources.locations.resources.applications.methods.patch.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.create.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.delete.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.get.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.list.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.patch.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedDomains.methods.list.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.domainMappings.methods.create.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.domainMappings.methods.get.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.methods.delete.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.methods.patch.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.methods.delete.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.methods.patch.parameters.projectsId.description - schemas.FirewallRule.description #### appengine:v1 The following keys were deleted: - schemas.Application.properties.name.description - schemas.FirewallRule.properties.priority.description The following keys were changed: - resources.apps.methods.get.parameters.appsId.description - resources.apps.methods.patch.parameters.appsId.description - resources.apps.methods.repair.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.create.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.delete.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.get.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.list.parameters.appsId.description - resources.apps.resources.authorizedCertificates.methods.patch.parameters.appsId.description - resources.apps.resources.authorizedDomains.methods.list.parameters.appsId.description - resources.apps.resources.domainMappings.methods.create.parameters.appsId.description - resources.apps.resources.domainMappings.methods.delete.parameters.appsId.description - resources.apps.resources.domainMappings.methods.get.parameters.appsId.description - resources.apps.resources.domainMappings.methods.list.parameters.appsId.description - resources.apps.resources.domainMappings.methods.patch.parameters.appsId.description - resources.apps.resources.firewall.resources.ingressRules.methods.create.parameters.appsId.description - resources.apps.resources.services.methods.delete.parameters.appsId.description - resources.apps.resources.services.methods.get.parameters.appsId.description - resources.apps.resources.services.methods.list.parameters.appsId.description - resources.apps.resources.services.methods.patch.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.create.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.delete.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.get.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.list.parameters.appsId.description - resources.apps.resources.services.resources.versions.methods.patch.parameters.appsId.description - resources.apps.resources.services.resources.versions.resources.instances.methods.debug.parameters.appsId.description - resources.apps.resources.services.resources.versions.resources.instances.methods.delete.parameters.appsId.description - resources.apps.resources.services.resources.versions.resources.instances.methods.get.parameters.appsId.description - resources.apps.resources.services.resources.versions.resources.instances.methods.list.parameters.appsId.description - resources.projects.resources.locations.resources.applications.methods.patch.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.create.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.delete.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.get.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.list.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedCertificates.methods.patch.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.authorizedDomains.methods.list.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.domainMappings.methods.create.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.domainMappings.methods.get.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.methods.delete.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.methods.patch.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.methods.delete.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.methods.patch.parameters.projectsId.description - schemas.FirewallRule.description --- discovery/appengine-v1.json | 88 ++++++++-------- discovery/appengine-v1alpha.json | 40 +++---- discovery/appengine-v1beta.json | 88 ++++++++-------- src/apis/appengine/v1.ts | 172 +++++++++++++++---------------- src/apis/appengine/v1alpha.ts | 76 +++++++------- src/apis/appengine/v1beta.ts | 172 +++++++++++++++---------------- 6 files changed, 310 insertions(+), 326 deletions(-) diff --git a/discovery/appengine-v1.json b/discovery/appengine-v1.json index 69387857c3..473e8d4ef9 100644 --- a/discovery/appengine-v1.json +++ b/discovery/appengine-v1.json @@ -140,7 +140,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the Application resource to get. Example: apps/myapp.", + "description": "Part of `name`. Required. Name of the Application resource to get. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -222,7 +222,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", + "description": "Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -255,7 +255,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the application to repair. Example: apps/myapp", + "description": "Part of `name`. Required. Name of the application to repair. Example: apps/myapp", "location": "path", "required": true, "type": "string" @@ -286,7 +286,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -314,7 +314,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -345,7 +345,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -390,7 +390,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -441,7 +441,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -484,7 +484,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -525,7 +525,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -568,7 +568,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -599,7 +599,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -631,7 +631,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -669,7 +669,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -741,7 +741,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", + "description": "Part of `parent`. Required. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", "location": "path", "required": true, "type": "string" @@ -1085,7 +1085,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1116,7 +1116,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1148,7 +1148,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1186,7 +1186,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1235,7 +1235,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", + "description": "Part of `parent`. Required. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1270,7 +1270,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "location": "path", "required": true, "type": "string" @@ -1308,7 +1308,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "location": "path", "required": true, "type": "string" @@ -1360,7 +1360,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default.", + "description": "Part of `parent`. Required. Name of the parent Service resource. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1418,7 +1418,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", "location": "path", "required": true, "type": "string" @@ -1470,7 +1470,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", "location": "path", "required": true, "type": "string" @@ -1518,7 +1518,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", "location": "path", "required": true, "type": "string" @@ -1563,7 +1563,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", "location": "path", "required": true, "type": "string" @@ -1609,7 +1609,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `parent`. Required. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", "location": "path", "required": true, "type": "string" @@ -1686,7 +1686,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", + "description": "Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1737,7 +1737,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1785,7 +1785,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -1830,7 +1830,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -1894,7 +1894,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1954,7 +1954,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -2016,7 +2016,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -2075,7 +2075,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -2123,7 +2123,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -2168,7 +2168,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -2218,7 +2218,7 @@ "type": "boolean" }, "projectsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -2277,7 +2277,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "location": "path", "required": true, "type": "string" @@ -2329,7 +2329,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", "location": "path", "required": true, "type": "string" @@ -2375,7 +2375,7 @@ } } }, - "revision": "20250616", + "revision": "20250805", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -2532,7 +2532,6 @@ "type": "string" }, "name": { - "description": "Output only. Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", "readOnly": true, "type": "string" }, @@ -3103,7 +3102,7 @@ "type": "object" }, "FirewallRule": { - "description": "A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.", + "description": "A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests. A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.", "id": "FirewallRule", "properties": { "action": { @@ -3125,7 +3124,6 @@ "type": "string" }, "priority": { - "description": "A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.", "format": "int32", "type": "integer" }, diff --git a/discovery/appengine-v1alpha.json b/discovery/appengine-v1alpha.json index a269c47ba1..6cb9f1051f 100644 --- a/discovery/appengine-v1alpha.json +++ b/discovery/appengine-v1alpha.json @@ -124,7 +124,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -152,7 +152,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -183,7 +183,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -228,7 +228,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -279,7 +279,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -322,7 +322,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -363,7 +363,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -411,7 +411,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -442,7 +442,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -474,7 +474,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -512,7 +512,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -829,7 +829,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -877,7 +877,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -922,7 +922,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -986,7 +986,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1046,7 +1046,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -1108,7 +1108,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1172,7 +1172,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1220,7 +1220,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -1338,7 +1338,7 @@ } } }, - "revision": "20250616", + "revision": "20250805", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "AuthorizedCertificate": { diff --git a/discovery/appengine-v1beta.json b/discovery/appengine-v1beta.json index 8c5ed8bfaf..ab3e6f78fb 100644 --- a/discovery/appengine-v1beta.json +++ b/discovery/appengine-v1beta.json @@ -140,7 +140,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the Application resource to get. Example: apps/myapp.", + "description": "Part of `name`. Required. Name of the Application resource to get. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -222,7 +222,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", + "description": "Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -255,7 +255,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the application to repair. Example: apps/myapp", + "description": "Part of `name`. Required. Name of the application to repair. Example: apps/myapp", "location": "path", "required": true, "type": "string" @@ -286,7 +286,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -314,7 +314,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -345,7 +345,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -390,7 +390,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -441,7 +441,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -484,7 +484,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -525,7 +525,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -568,7 +568,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -599,7 +599,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -631,7 +631,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -669,7 +669,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -741,7 +741,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", + "description": "Part of `parent`. Required. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", "location": "path", "required": true, "type": "string" @@ -1085,7 +1085,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1116,7 +1116,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1163,7 +1163,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1201,7 +1201,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1250,7 +1250,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", + "description": "Part of `parent`. Required. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1285,7 +1285,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "location": "path", "required": true, "type": "string" @@ -1323,7 +1323,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "location": "path", "required": true, "type": "string" @@ -1390,7 +1390,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default.", + "description": "Part of `parent`. Required. Name of the parent Service resource. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -1448,7 +1448,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", "location": "path", "required": true, "type": "string" @@ -1500,7 +1500,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", "location": "path", "required": true, "type": "string" @@ -1548,7 +1548,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", "location": "path", "required": true, "type": "string" @@ -1593,7 +1593,7 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", "location": "path", "required": true, "type": "string" @@ -1639,7 +1639,7 @@ ], "parameters": { "appsId": { - "description": "Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `parent`. Required. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", "location": "path", "required": true, "type": "string" @@ -1799,7 +1799,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", + "description": "Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1850,7 +1850,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -1898,7 +1898,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -1943,7 +1943,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -2007,7 +2007,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -2067,7 +2067,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", "location": "path", "required": true, "type": "string" @@ -2129,7 +2129,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -2188,7 +2188,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", "location": "path", "required": true, "type": "string" @@ -2236,7 +2236,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", "location": "path", "required": true, "type": "string" @@ -2281,7 +2281,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -2331,7 +2331,7 @@ "type": "boolean" }, "projectsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default.", "location": "path", "required": true, "type": "string" @@ -2390,7 +2390,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "location": "path", "required": true, "type": "string" @@ -2442,7 +2442,7 @@ "type": "string" }, "projectsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", + "description": "Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", "location": "path", "required": true, "type": "string" @@ -2581,7 +2581,7 @@ } } }, - "revision": "20250616", + "revision": "20250805", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -2738,7 +2738,6 @@ "type": "string" }, "name": { - "description": "Output only. Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", "readOnly": true, "type": "string" }, @@ -3360,7 +3359,7 @@ "type": "object" }, "FirewallRule": { - "description": "A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.", + "description": "A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests. A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.", "id": "FirewallRule", "properties": { "action": { @@ -3382,7 +3381,6 @@ "type": "string" }, "priority": { - "description": "A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.", "format": "int32", "type": "integer" }, diff --git a/src/apis/appengine/v1.ts b/src/apis/appengine/v1.ts index 589fae3052..01092eec64 100644 --- a/src/apis/appengine/v1.ts +++ b/src/apis/appengine/v1.ts @@ -213,9 +213,6 @@ export namespace appengine_v1 { * Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). */ locationId?: string | null; - /** - * Output only. Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly - */ name?: string | null; /** * The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one. @@ -632,7 +629,7 @@ export namespace appengine_v1 { sourceUrl?: string | null; } /** - * A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests. + * A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests. A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user. */ export interface Schema$FirewallRule { /** @@ -643,9 +640,6 @@ export namespace appengine_v1 { * An optional string description of this rule. This field has a maximum length of 400 characters. */ description?: string | null; - /** - * A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user. - */ priority?: number | null; /** * IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334. Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32. @@ -2100,7 +2094,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.get({ - * // Part of `name`. Name of the Application resource to get. Example: apps/myapp. + * // Part of `name`. Required. Name of the Application resource to get. Example: apps/myapp. * appsId: 'placeholder-value', * // Options to include extra data * includeExtraData: 'placeholder-value', @@ -2399,7 +2393,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.patch({ - * // Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * // Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp. * appsId: 'placeholder-value', * // Required. Standard field mask for the set of fields to be updated. * updateMask: 'placeholder-value', @@ -2562,7 +2556,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.repair({ - * // Part of `name`. Name of the application to repair. Example: apps/myapp + * // Part of `name`. Required. Name of the application to repair. Example: apps/myapp * appsId: 'placeholder-value', * * // Request body metadata @@ -2686,7 +2680,7 @@ export namespace appengine_v1 { } export interface Params$Resource$Apps$Get extends StandardParameters { /** - * Part of `name`. Name of the Application resource to get. Example: apps/myapp. + * Part of `name`. Required. Name of the Application resource to get. Example: apps/myapp. */ appsId?: string; /** @@ -2707,7 +2701,7 @@ export namespace appengine_v1 { } export interface Params$Resource$Apps$Patch extends StandardParameters { /** - * Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp. */ appsId?: string; /** @@ -2722,7 +2716,7 @@ export namespace appengine_v1 { } export interface Params$Resource$Apps$Repair extends StandardParameters { /** - * Part of `name`. Name of the application to repair. Example: apps/myapp + * Part of `name`. Required. Name of the application to repair. Example: apps/myapp */ appsId?: string; @@ -2769,7 +2763,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.create({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * * // Request body metadata @@ -2932,7 +2926,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.delete({ - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -3073,7 +3067,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -3228,7 +3222,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -3382,7 +3376,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -3522,7 +3516,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Authorizedcertificates$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; @@ -3534,7 +3528,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Authorizedcertificates$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -3545,7 +3539,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Authorizedcertificates$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -3560,7 +3554,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Authorizedcertificates$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -3579,7 +3573,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Authorizedcertificates$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -3638,7 +3632,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.authorizedDomains.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -3759,7 +3753,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Authorizeddomains$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -3809,7 +3803,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.domainMappings.create({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected. * overrideStrategy: 'placeholder-value', @@ -3963,7 +3957,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.domainMappings.delete({ - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -4109,7 +4103,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.domainMappings.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -4254,7 +4248,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.domainMappings.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -4400,7 +4394,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.domainMappings.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -4528,7 +4522,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Domainmappings$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -4544,7 +4538,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Domainmappings$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -4555,7 +4549,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Domainmappings$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -4566,7 +4560,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Domainmappings$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -4581,7 +4575,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Domainmappings$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -4795,7 +4789,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.firewall.ingressRules.create({ - * // Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. + * // Part of `parent`. Required. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. * appsId: 'placeholder-value', * * // Request body metadata @@ -5519,7 +5513,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Firewall$Ingressrules$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. + * Part of `parent`. Required. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. */ appsId?: string; @@ -6303,7 +6297,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.delete({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -6450,7 +6444,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -6598,7 +6592,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -6742,7 +6736,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). * migrateTraffic: 'placeholder-value', @@ -6875,7 +6869,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -6886,7 +6880,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -6897,7 +6891,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -6912,7 +6906,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -6975,7 +6969,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.create({ - * // Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default. + * // Part of `parent`. Required. Name of the parent resource to create this version under. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Part of `parent`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -7166,7 +7160,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.delete({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -7315,7 +7309,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -7503,7 +7497,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.list({ - * // Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default. + * // Part of `parent`. Required. Name of the parent Service resource. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -7650,7 +7644,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -7819,7 +7813,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default. + * Part of `parent`. Required. Name of the parent resource to create this version under. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -7835,7 +7829,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. */ appsId?: string; /** @@ -7850,7 +7844,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. */ appsId?: string; /** @@ -7869,7 +7863,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default. + * Part of `parent`. Required. Name of the parent Service resource. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -7892,7 +7886,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1. */ appsId?: string; /** @@ -7951,7 +7945,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.instances.debug({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * instancesId: 'placeholder-value', @@ -8106,7 +8100,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.instances.delete({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * instancesId: 'placeholder-value', @@ -8257,7 +8251,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.instances.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * instancesId: 'placeholder-value', @@ -8420,7 +8414,7 @@ export namespace appengine_v1 { * * // Do the magic * const res = await appengine.apps.services.versions.instances.list({ - * // Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. + * // Part of `parent`. Required. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -8541,7 +8535,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$Instances$Debug extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. */ appsId?: string; /** @@ -8565,7 +8559,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$Instances$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. */ appsId?: string; /** @@ -8584,7 +8578,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$Instances$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. */ appsId?: string; /** @@ -8603,7 +8597,7 @@ export namespace appengine_v1 { export interface Params$Resource$Apps$Services$Versions$Instances$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. + * Part of `parent`. Required. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. */ appsId?: string; /** @@ -8704,7 +8698,7 @@ export namespace appengine_v1 { * applicationsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * // Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp. * projectsId: 'placeholder-value', * // Required. Standard field mask for the set of fields to be updated. * updateMask: 'placeholder-value', @@ -8852,7 +8846,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp. */ projectsId?: string; /** @@ -8909,7 +8903,7 @@ export namespace appengine_v1 { * applicationsId: 'placeholder-value', * // Part of `parent`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * * // Request body metadata @@ -9082,7 +9076,7 @@ export namespace appengine_v1 { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * }, * ); @@ -9240,7 +9234,7 @@ export namespace appengine_v1 { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * // Controls the set of fields returned in the GET response. * view: 'placeholder-value', @@ -9414,7 +9408,7 @@ export namespace appengine_v1 { * pageSize: 'placeholder-value', * // Continuation token for fetching the next page of results. * pageToken: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * // Controls the set of fields returned in the LIST response. * view: 'placeholder-value', @@ -9574,7 +9568,7 @@ export namespace appengine_v1 { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * // Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields. * updateMask: 'placeholder-value', @@ -9732,7 +9726,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; @@ -9756,7 +9750,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; } @@ -9775,7 +9769,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; /** @@ -9802,7 +9796,7 @@ export namespace appengine_v1 { */ pageToken?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; /** @@ -9825,7 +9819,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; /** @@ -9889,7 +9883,7 @@ export namespace appengine_v1 { * pageSize: 'placeholder-value', * // Continuation token for fetching the next page of results. * pageToken: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * }); * console.log(res.data); @@ -10023,7 +10017,7 @@ export namespace appengine_v1 { */ pageToken?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; } @@ -10072,7 +10066,7 @@ export namespace appengine_v1 { * locationsId: 'placeholder-value', * // Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected. * overrideStrategy: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * * // Request body metadata @@ -10236,7 +10230,7 @@ export namespace appengine_v1 { * domainMappingsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. * projectsId: 'placeholder-value', * }); * console.log(res.data); @@ -10372,7 +10366,7 @@ export namespace appengine_v1 { */ overrideStrategy?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; @@ -10396,7 +10390,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. */ projectsId?: string; } @@ -10447,7 +10441,7 @@ export namespace appengine_v1 { * applicationsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. * projectsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * servicesId: 'placeholder-value', @@ -10607,7 +10601,7 @@ export namespace appengine_v1 { * locationsId: 'placeholder-value', * // Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). * migrateTraffic: 'placeholder-value', - * // Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. * projectsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * servicesId: 'placeholder-value', @@ -10757,7 +10751,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. */ projectsId?: string; /** @@ -10780,7 +10774,7 @@ export namespace appengine_v1 { */ migrateTraffic?: boolean; /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. */ projectsId?: string; /** @@ -10840,7 +10834,7 @@ export namespace appengine_v1 { * applicationsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. * projectsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * servicesId: 'placeholder-value', @@ -11003,7 +10997,7 @@ export namespace appengine_v1 { * applicationsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1. * projectsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * servicesId: 'placeholder-value', @@ -11193,7 +11187,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. */ projectsId?: string; /** @@ -11216,7 +11210,7 @@ export namespace appengine_v1 { */ locationsId?: string; /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1. */ projectsId?: string; /** diff --git a/src/apis/appengine/v1alpha.ts b/src/apis/appengine/v1alpha.ts index 4618aac8cb..5b09f32cea 100644 --- a/src/apis/appengine/v1alpha.ts +++ b/src/apis/appengine/v1alpha.ts @@ -734,7 +734,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.create({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * * // Request body metadata @@ -896,7 +896,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.delete({ - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -1037,7 +1037,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -1192,7 +1192,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -1345,7 +1345,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -1485,7 +1485,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Authorizedcertificates$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; @@ -1497,7 +1497,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Authorizedcertificates$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -1508,7 +1508,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Authorizedcertificates$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -1523,7 +1523,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Authorizedcertificates$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -1542,7 +1542,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Authorizedcertificates$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -1601,7 +1601,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.authorizedDomains.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -1722,7 +1722,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Authorizeddomains$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -1772,7 +1772,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.domainMappings.create({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manaually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated. * noManagedCertificate: 'placeholder-value', @@ -1928,7 +1928,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.domainMappings.delete({ - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -2075,7 +2075,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.domainMappings.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -2221,7 +2221,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.domainMappings.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -2367,7 +2367,7 @@ export namespace appengine_v1alpha { * * // Do the magic * const res = await appengine.apps.domainMappings.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -2498,7 +2498,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Domainmappings$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -2518,7 +2518,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Domainmappings$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -2529,7 +2529,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Domainmappings$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -2540,7 +2540,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Domainmappings$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -2555,7 +2555,7 @@ export namespace appengine_v1alpha { export interface Params$Resource$Apps$Domainmappings$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -3673,7 +3673,7 @@ export namespace appengine_v1alpha { * applicationsId: 'placeholder-value', * // Part of `parent`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * * // Request body metadata @@ -3846,7 +3846,7 @@ export namespace appengine_v1alpha { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * }, * ); @@ -4004,7 +4004,7 @@ export namespace appengine_v1alpha { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * // Controls the set of fields returned in the GET response. * view: 'placeholder-value', @@ -4178,7 +4178,7 @@ export namespace appengine_v1alpha { * pageSize: 'placeholder-value', * // Continuation token for fetching the next page of results. * pageToken: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * // Controls the set of fields returned in the LIST response. * view: 'placeholder-value', @@ -4338,7 +4338,7 @@ export namespace appengine_v1alpha { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * // Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields. * updateMask: 'placeholder-value', @@ -4496,7 +4496,7 @@ export namespace appengine_v1alpha { */ locationsId?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; @@ -4520,7 +4520,7 @@ export namespace appengine_v1alpha { */ locationsId?: string; /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; } @@ -4539,7 +4539,7 @@ export namespace appengine_v1alpha { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; /** @@ -4566,7 +4566,7 @@ export namespace appengine_v1alpha { */ pageToken?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; /** @@ -4589,7 +4589,7 @@ export namespace appengine_v1alpha { */ locationsId?: string; /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; /** @@ -4653,7 +4653,7 @@ export namespace appengine_v1alpha { * pageSize: 'placeholder-value', * // Continuation token for fetching the next page of results. * pageToken: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * }); * console.log(res.data); @@ -4787,7 +4787,7 @@ export namespace appengine_v1alpha { */ pageToken?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; } @@ -4838,7 +4838,7 @@ export namespace appengine_v1alpha { * noManagedCertificate: 'placeholder-value', * // Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected. * overrideStrategy: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * * // Request body metadata @@ -5002,7 +5002,7 @@ export namespace appengine_v1alpha { * domainMappingsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. * projectsId: 'placeholder-value', * }); * console.log(res.data); @@ -5142,7 +5142,7 @@ export namespace appengine_v1alpha { */ overrideStrategy?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; @@ -5166,7 +5166,7 @@ export namespace appengine_v1alpha { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. */ projectsId?: string; } diff --git a/src/apis/appengine/v1beta.ts b/src/apis/appengine/v1beta.ts index 07df2ff866..7606f21bed 100644 --- a/src/apis/appengine/v1beta.ts +++ b/src/apis/appengine/v1beta.ts @@ -213,9 +213,6 @@ export namespace appengine_v1beta { * Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). */ locationId?: string | null; - /** - * Output only. Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly - */ name?: string | null; /** * The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one. @@ -674,7 +671,7 @@ export namespace appengine_v1beta { sourceUrl?: string | null; } /** - * A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests. + * A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests. A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user. */ export interface Schema$FirewallRule { /** @@ -685,9 +682,6 @@ export namespace appengine_v1beta { * An optional string description of this rule. This field has a maximum length of 400 characters. */ description?: string | null; - /** - * A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user. - */ priority?: number | null; /** * IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334. Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32. @@ -2142,7 +2136,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.get({ - * // Part of `name`. Name of the Application resource to get. Example: apps/myapp. + * // Part of `name`. Required. Name of the Application resource to get. Example: apps/myapp. * appsId: 'placeholder-value', * // Optional. Options to include extra data * includeExtraData: 'placeholder-value', @@ -2444,7 +2438,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.patch({ - * // Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * // Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp. * appsId: 'placeholder-value', * // Required. Standard field mask for the set of fields to be updated. * updateMask: 'placeholder-value', @@ -2610,7 +2604,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.repair({ - * // Part of `name`. Name of the application to repair. Example: apps/myapp + * // Part of `name`. Required. Name of the application to repair. Example: apps/myapp * appsId: 'placeholder-value', * * // Request body metadata @@ -2734,7 +2728,7 @@ export namespace appengine_v1beta { } export interface Params$Resource$Apps$Get extends StandardParameters { /** - * Part of `name`. Name of the Application resource to get. Example: apps/myapp. + * Part of `name`. Required. Name of the Application resource to get. Example: apps/myapp. */ appsId?: string; /** @@ -2755,7 +2749,7 @@ export namespace appengine_v1beta { } export interface Params$Resource$Apps$Patch extends StandardParameters { /** - * Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp. */ appsId?: string; /** @@ -2770,7 +2764,7 @@ export namespace appengine_v1beta { } export interface Params$Resource$Apps$Repair extends StandardParameters { /** - * Part of `name`. Name of the application to repair. Example: apps/myapp + * Part of `name`. Required. Name of the application to repair. Example: apps/myapp */ appsId?: string; @@ -2817,7 +2811,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.create({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * * // Request body metadata @@ -2979,7 +2973,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.delete({ - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -3120,7 +3114,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -3275,7 +3269,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -3428,7 +3422,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.authorizedCertificates.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * authorizedCertificatesId: 'placeholder-value', @@ -3568,7 +3562,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Authorizedcertificates$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; @@ -3580,7 +3574,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Authorizedcertificates$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -3591,7 +3585,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Authorizedcertificates$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -3606,7 +3600,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Authorizedcertificates$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -3625,7 +3619,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Authorizedcertificates$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. */ appsId?: string; /** @@ -3684,7 +3678,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.authorizedDomains.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -3805,7 +3799,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Authorizeddomains$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -3855,7 +3849,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.domainMappings.create({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected. * overrideStrategy: 'placeholder-value', @@ -4009,7 +4003,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.domainMappings.delete({ - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -4156,7 +4150,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.domainMappings.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -4302,7 +4296,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.domainMappings.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -4448,7 +4442,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.domainMappings.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * domainMappingsId: 'placeholder-value', @@ -4577,7 +4571,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Domainmappings$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -4593,7 +4587,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Domainmappings$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -4604,7 +4598,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Domainmappings$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -4615,7 +4609,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Domainmappings$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -4630,7 +4624,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Domainmappings$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. */ appsId?: string; /** @@ -4845,7 +4839,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.firewall.ingressRules.create({ - * // Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. + * // Part of `parent`. Required. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. * appsId: 'placeholder-value', * * // Request body metadata @@ -5567,7 +5561,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Firewall$Ingressrules$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. + * Part of `parent`. Required. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. */ appsId?: string; @@ -6351,7 +6345,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.delete({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -6497,7 +6491,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Optional. Options to include extra data * includeExtraData: 'placeholder-value', @@ -6646,7 +6640,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.list({ - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -6790,7 +6784,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). * migrateTraffic: 'placeholder-value', @@ -6922,7 +6916,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -6933,7 +6927,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -6948,7 +6942,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ appsId?: string; /** @@ -6963,7 +6957,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -7026,7 +7020,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.create({ - * // Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default. + * // Part of `parent`. Required. Name of the parent resource to create this version under. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Part of `parent`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -7217,7 +7211,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.delete({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -7366,7 +7360,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. * appsId: 'placeholder-value', * // Optional. Options to include extra data * includeExtraData: 'placeholder-value', @@ -7556,7 +7550,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.list({ - * // Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default. + * // Part of `parent`. Required. Name of the parent Service resource. Example: apps/myapp/services/default. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -7703,7 +7697,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.patch({ - * // Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * servicesId: 'placeholder-value', @@ -7872,7 +7866,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$Create extends StandardParameters { /** - * Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default. + * Part of `parent`. Required. Name of the parent resource to create this version under. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -7888,7 +7882,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. */ appsId?: string; /** @@ -7903,7 +7897,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. */ appsId?: string; /** @@ -7926,7 +7920,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default. + * Part of `parent`. Required. Name of the parent Service resource. Example: apps/myapp/services/default. */ appsId?: string; /** @@ -7949,7 +7943,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$Patch extends StandardParameters { /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1. */ appsId?: string; /** @@ -8008,7 +8002,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.instances.debug({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * instancesId: 'placeholder-value', @@ -8163,7 +8157,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.instances.delete({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * instancesId: 'placeholder-value', @@ -8314,7 +8308,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.instances.get({ - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. * appsId: 'placeholder-value', * // Part of `name`. See documentation of `appsId`. * instancesId: 'placeholder-value', @@ -8477,7 +8471,7 @@ export namespace appengine_v1beta { * * // Do the magic * const res = await appengine.apps.services.versions.instances.list({ - * // Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. + * // Part of `parent`. Required. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. * appsId: 'placeholder-value', * // Maximum results to return per page. * pageSize: 'placeholder-value', @@ -8598,7 +8592,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$Instances$Debug extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. */ appsId?: string; /** @@ -8622,7 +8616,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$Instances$Delete extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. */ appsId?: string; /** @@ -8641,7 +8635,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$Instances$Get extends StandardParameters { /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. */ appsId?: string; /** @@ -8660,7 +8654,7 @@ export namespace appengine_v1beta { export interface Params$Resource$Apps$Services$Versions$Instances$List extends StandardParameters { /** - * Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. + * Part of `parent`. Required. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. */ appsId?: string; /** @@ -9098,7 +9092,7 @@ export namespace appengine_v1beta { * applicationsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * // Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp. * projectsId: 'placeholder-value', * // Required. Standard field mask for the set of fields to be updated. * updateMask: 'placeholder-value', @@ -9246,7 +9240,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * Part of `name`. Required. Name of the Application resource to update. Example: apps/myapp. */ projectsId?: string; /** @@ -9303,7 +9297,7 @@ export namespace appengine_v1beta { * applicationsId: 'placeholder-value', * // Part of `parent`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * * // Request body metadata @@ -9476,7 +9470,7 @@ export namespace appengine_v1beta { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * }, * ); @@ -9634,7 +9628,7 @@ export namespace appengine_v1beta { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * // Controls the set of fields returned in the GET response. * view: 'placeholder-value', @@ -9808,7 +9802,7 @@ export namespace appengine_v1beta { * pageSize: 'placeholder-value', * // Continuation token for fetching the next page of results. * pageToken: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * // Controls the set of fields returned in the LIST response. * view: 'placeholder-value', @@ -9968,7 +9962,7 @@ export namespace appengine_v1beta { * authorizedCertificatesId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. * projectsId: 'placeholder-value', * // Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields. * updateMask: 'placeholder-value', @@ -10126,7 +10120,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; @@ -10150,7 +10144,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; } @@ -10169,7 +10163,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; /** @@ -10196,7 +10190,7 @@ export namespace appengine_v1beta { */ pageToken?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; /** @@ -10219,7 +10213,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. */ projectsId?: string; /** @@ -10283,7 +10277,7 @@ export namespace appengine_v1beta { * pageSize: 'placeholder-value', * // Continuation token for fetching the next page of results. * pageToken: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * }); * console.log(res.data); @@ -10417,7 +10411,7 @@ export namespace appengine_v1beta { */ pageToken?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; } @@ -10466,7 +10460,7 @@ export namespace appengine_v1beta { * locationsId: 'placeholder-value', * // Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected. * overrideStrategy: 'placeholder-value', - * // Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * // Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. * projectsId: 'placeholder-value', * * // Request body metadata @@ -10630,7 +10624,7 @@ export namespace appengine_v1beta { * domainMappingsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. * projectsId: 'placeholder-value', * }); * console.log(res.data); @@ -10766,7 +10760,7 @@ export namespace appengine_v1beta { */ overrideStrategy?: string; /** - * Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. */ projectsId?: string; @@ -10790,7 +10784,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. */ projectsId?: string; } @@ -10841,7 +10835,7 @@ export namespace appengine_v1beta { * applicationsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. * projectsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * servicesId: 'placeholder-value', @@ -11001,7 +10995,7 @@ export namespace appengine_v1beta { * locationsId: 'placeholder-value', * // Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). * migrateTraffic: 'placeholder-value', - * // Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. * projectsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * servicesId: 'placeholder-value', @@ -11151,7 +11145,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. */ projectsId?: string; /** @@ -11174,7 +11168,7 @@ export namespace appengine_v1beta { */ migrateTraffic?: boolean; /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. */ projectsId?: string; /** @@ -11234,7 +11228,7 @@ export namespace appengine_v1beta { * applicationsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. * projectsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * servicesId: 'placeholder-value', @@ -11397,7 +11391,7 @@ export namespace appengine_v1beta { * applicationsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * locationsId: 'placeholder-value', - * // Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * // Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1. * projectsId: 'placeholder-value', * // Part of `name`. See documentation of `projectsId`. * servicesId: 'placeholder-value', @@ -11587,7 +11581,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. */ projectsId?: string; /** @@ -11610,7 +11604,7 @@ export namespace appengine_v1beta { */ locationsId?: string; /** - * Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default/versions/1. */ projectsId?: string; /** From 2c7f4c6853feb41123f627d9d023d2d579df468a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 09/43] feat(backupdr): update the API #### backupdr:v1 The following keys were added: - schemas.DiskBackupProperties.properties.accessMode.description - schemas.DiskBackupProperties.properties.accessMode.type - schemas.DiskBackupProperties.properties.enableConfidentialCompute.description - schemas.DiskBackupProperties.properties.enableConfidentialCompute.type - schemas.DiskBackupProperties.properties.labels.additionalProperties.type - schemas.DiskBackupProperties.properties.labels.description - schemas.DiskBackupProperties.properties.labels.type - schemas.DiskBackupProperties.properties.physicalBlockSizeBytes.description - schemas.DiskBackupProperties.properties.physicalBlockSizeBytes.format - schemas.DiskBackupProperties.properties.physicalBlockSizeBytes.type - schemas.DiskBackupProperties.properties.provisionedIops.description - schemas.DiskBackupProperties.properties.provisionedIops.format - schemas.DiskBackupProperties.properties.provisionedIops.type - schemas.DiskBackupProperties.properties.provisionedThroughput.description - schemas.DiskBackupProperties.properties.provisionedThroughput.format - schemas.DiskBackupProperties.properties.provisionedThroughput.type - schemas.DiskBackupProperties.properties.storagePool.description - schemas.DiskBackupProperties.properties.storagePool.type - schemas.LocationMetadata.id - schemas.LocationMetadata.properties.unsupportedFeatures.items.enum - schemas.LocationMetadata.properties.unsupportedFeatures.items.enumDescriptions - schemas.LocationMetadata.properties.unsupportedFeatures.items.type - schemas.LocationMetadata.properties.unsupportedFeatures.type - schemas.LocationMetadata.type --- discovery/backupdr-v1.json | 58 +++++++++++++++++++++++++++++++++++++- src/apis/backupdr/v1.ts | 31 ++++++++++++++++++++ 2 files changed, 88 insertions(+), 1 deletion(-) diff --git a/discovery/backupdr-v1.json b/discovery/backupdr-v1.json index 9fce1235d2..bc27517f5a 100644 --- a/discovery/backupdr-v1.json +++ b/discovery/backupdr-v1.json @@ -2060,7 +2060,7 @@ } } }, - "revision": "20250723", + "revision": "20250730", "rootUrl": "https://backupdr.googleapis.com/", "schemas": { "AbandonBackupRequest": { @@ -4029,6 +4029,10 @@ "description": "DiskBackupProperties represents the properties of a Disk backup.", "id": "DiskBackupProperties", "properties": { + "accessMode": { + "description": "The access mode of the source disk.", + "type": "string" + }, "architecture": { "description": "The architecture of the source disk. Valid values are ARM64 or X86_64.", "enum": [ @@ -4047,6 +4051,10 @@ "description": "A description of the source disk.", "type": "string" }, + "enableConfidentialCompute": { + "description": "Indicates whether the source disk is using confidential compute mode.", + "type": "boolean" + }, "guestOsFeature": { "description": "A list of guest OS features that are applicable to this backup.", "items": { @@ -4054,6 +4062,13 @@ }, "type": "array" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels of the source disk.", + "type": "object" + }, "licenses": { "description": "A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image.", "items": { @@ -4061,6 +4076,21 @@ }, "type": "array" }, + "physicalBlockSizeBytes": { + "description": "The physical block size of the source disk.", + "format": "int64", + "type": "string" + }, + "provisionedIops": { + "description": "The number of IOPS provisioned for the source disk.", + "format": "int64", + "type": "string" + }, + "provisionedThroughput": { + "description": "The number of throughput provisioned for the source disk.", + "format": "int64", + "type": "string" + }, "region": { "description": "Region and zone are mutually exclusive fields. The URL of the region of the source disk.", "type": "string" @@ -4081,6 +4111,10 @@ "description": "The source disk used to create this backup.", "type": "string" }, + "storagePool": { + "description": "The storage pool of the source disk.", + "type": "string" + }, "type": { "description": "The URL of the type of the disk.", "type": "string" @@ -4931,6 +4965,28 @@ }, "type": "object" }, + "LocationMetadata": { + "id": "LocationMetadata", + "properties": { + "unsupportedFeatures": { + "items": { + "enum": [ + "FEATURE_UNSPECIFIED", + "MANAGEMENT_SERVER", + "COMPUTE_INSTANCE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ManagementServer": { "description": "ManagementServer describes a single BackupDR ManagementServer instance.", "id": "ManagementServer", diff --git a/src/apis/backupdr/v1.ts b/src/apis/backupdr/v1.ts index c787463657..90adcc2fd4 100644 --- a/src/apis/backupdr/v1.ts +++ b/src/apis/backupdr/v1.ts @@ -1412,6 +1412,10 @@ export namespace backupdr_v1 { * DiskBackupProperties represents the properties of a Disk backup. */ export interface Schema$DiskBackupProperties { + /** + * The access mode of the source disk. + */ + accessMode?: string | null; /** * The architecture of the source disk. Valid values are ARM64 or X86_64. */ @@ -1420,14 +1424,34 @@ export namespace backupdr_v1 { * A description of the source disk. */ description?: string | null; + /** + * Indicates whether the source disk is using confidential compute mode. + */ + enableConfidentialCompute?: boolean | null; /** * A list of guest OS features that are applicable to this backup. */ guestOsFeature?: Schema$GuestOsFeature[]; + /** + * The labels of the source disk. + */ + labels?: {[key: string]: string} | null; /** * A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image. */ licenses?: string[] | null; + /** + * The physical block size of the source disk. + */ + physicalBlockSizeBytes?: string | null; + /** + * The number of IOPS provisioned for the source disk. + */ + provisionedIops?: string | null; + /** + * The number of throughput provisioned for the source disk. + */ + provisionedThroughput?: string | null; /** * Region and zone are mutually exclusive fields. The URL of the region of the source disk. */ @@ -1444,6 +1468,10 @@ export namespace backupdr_v1 { * The source disk used to create this backup. */ sourceDisk?: string | null; + /** + * The storage pool of the source disk. + */ + storagePool?: string | null; /** * The URL of the type of the disk. */ @@ -2059,6 +2087,9 @@ export namespace backupdr_v1 { */ name?: string | null; } + export interface Schema$LocationMetadata { + unsupportedFeatures?: string[] | null; + } /** * ManagementServer describes a single BackupDR ManagementServer instance. */ From 916597f398d2572b57462bf827d8d1872f4b0f6e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 10/43] feat(bigtableadmin): update the API #### bigtableadmin:v2 The following keys were added: - schemas.Instance.properties.tags.additionalProperties.type - schemas.Instance.properties.tags.description - schemas.Instance.properties.tags.type --- discovery/bigtableadmin-v2.json | 9 ++++++++- src/apis/bigtableadmin/v2.ts | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/discovery/bigtableadmin-v2.json b/discovery/bigtableadmin-v2.json index 62fa802788..3c578d959d 100644 --- a/discovery/bigtableadmin-v2.json +++ b/discovery/bigtableadmin-v2.json @@ -3168,7 +3168,7 @@ } } }, - "revision": "20250724", + "revision": "20250804", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -4695,6 +4695,13 @@ "readOnly": true, "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" Tags and Labels (above) are both used to bind metadata to resources, with different use-cases. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for an in-depth overview on the difference between tags and labels.", + "type": "object" + }, "type": { "description": "The type of the instance. Defaults to `PRODUCTION`.", "enum": [ diff --git a/src/apis/bigtableadmin/v2.ts b/src/apis/bigtableadmin/v2.ts index e1a69687c0..3997d5f4f5 100644 --- a/src/apis/bigtableadmin/v2.ts +++ b/src/apis/bigtableadmin/v2.ts @@ -1254,6 +1254,10 @@ export namespace bigtableadmin_v2 { * Output only. The current state of the instance. */ state?: string | null; + /** + * Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" Tags and Labels (above) are both used to bind metadata to resources, with different use-cases. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for an in-depth overview on the difference between tags and labels. + */ + tags?: {[key: string]: string} | null; /** * The type of the instance. Defaults to `PRODUCTION`. */ @@ -3198,6 +3202,7 @@ export namespace bigtableadmin_v2 { * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "state": "my_state", + * // "tags": {}, * // "type": "my_type" * // } * } @@ -3657,6 +3662,7 @@ export namespace bigtableadmin_v2 { * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "state": "my_state", + * // "tags": {}, * // "type": "my_type" * // } * }, @@ -4134,6 +4140,7 @@ export namespace bigtableadmin_v2 { * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "state": "my_state", + * // "tags": {}, * // "type": "my_type" * // } * }, @@ -4149,6 +4156,7 @@ export namespace bigtableadmin_v2 { * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "state": "my_state", + * // "tags": {}, * // "type": "my_type" * // } * } From 65d3d75cba0088d2498107274e1d6adda3518659 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 11/43] fix(chat): update the API #### chat:v1 The following keys were changed: - schemas.Space.properties.customer.description --- discovery/chat-v1.json | 4 ++-- src/apis/chat/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/chat-v1.json b/discovery/chat-v1.json index c09b62b707..595ab4e85a 100644 --- a/discovery/chat-v1.json +++ b/discovery/chat-v1.json @@ -1528,7 +1528,7 @@ } } }, - "revision": "20250727", + "revision": "20250731", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessSettings": { @@ -4950,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.", + "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": { diff --git a/src/apis/chat/v1.ts b/src/apis/chat/v1.ts index ad75df4b03..6e3645bd7f 100644 --- a/src/apis/chat/v1.ts +++ b/src/apis/chat/v1.ts @@ -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. + * 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; /** From 62100eb822ee29fd46fc045edd98fab631033ca1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 12/43] feat(cloudbuild): update the API #### cloudbuild:v1 The following keys were added: - schemas.WorkerConfig.properties.enableNestedVirtualization.description - schemas.WorkerConfig.properties.enableNestedVirtualization.type --- discovery/cloudbuild-v1.json | 6 +++++- src/apis/cloudbuild/v1.ts | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/discovery/cloudbuild-v1.json b/discovery/cloudbuild-v1.json index 106213cf02..95f827abd6 100644 --- a/discovery/cloudbuild-v1.json +++ b/discovery/cloudbuild-v1.json @@ -2573,7 +2573,7 @@ } } }, - "revision": "20250718", + "revision": "20250801", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ApprovalConfig": { @@ -5864,6 +5864,10 @@ "format": "int64", "type": "string" }, + "enableNestedVirtualization": { + "description": "Optional. Enable nested virtualization on the worker, if supported by the machine type. By default, nested virtualization is disabled.", + "type": "boolean" + }, "machineType": { "description": "Optional. Machine type of a worker, such as `e2-medium`. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). If left blank, Cloud Build will use a sensible default.", "type": "string" diff --git a/src/apis/cloudbuild/v1.ts b/src/apis/cloudbuild/v1.ts index ef21ffa0c1..1f5855cfc2 100644 --- a/src/apis/cloudbuild/v1.ts +++ b/src/apis/cloudbuild/v1.ts @@ -2509,6 +2509,10 @@ export namespace cloudbuild_v1 { * Size of the disk attached to the worker, in GB. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). Specify a value of up to 4000. If `0` is specified, Cloud Build will use a standard disk size. */ diskSizeGb?: string | null; + /** + * Optional. Enable nested virtualization on the worker, if supported by the machine type. By default, nested virtualization is disabled. + */ + enableNestedVirtualization?: boolean | null; /** * Optional. Machine type of a worker, such as `e2-medium`. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). If left blank, Cloud Build will use a sensible default. */ From 17d91b79a0c813e9108d4c936095a2f09bcc602e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 13/43] feat(cloudidentity): update the API #### cloudidentity:v1beta1 The following keys were added: - resources.inboundOidcSsoProfiles.methods.create.description - resources.inboundOidcSsoProfiles.methods.create.flatPath - resources.inboundOidcSsoProfiles.methods.create.httpMethod - resources.inboundOidcSsoProfiles.methods.create.id - resources.inboundOidcSsoProfiles.methods.create.parameterOrder - resources.inboundOidcSsoProfiles.methods.create.path - resources.inboundOidcSsoProfiles.methods.create.request.$ref - resources.inboundOidcSsoProfiles.methods.create.response.$ref - resources.inboundOidcSsoProfiles.methods.create.scopes - resources.inboundOidcSsoProfiles.methods.delete.description - resources.inboundOidcSsoProfiles.methods.delete.flatPath - resources.inboundOidcSsoProfiles.methods.delete.httpMethod - resources.inboundOidcSsoProfiles.methods.delete.id - resources.inboundOidcSsoProfiles.methods.delete.parameterOrder - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.description - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.location - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.pattern - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.required - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.type - resources.inboundOidcSsoProfiles.methods.delete.path - resources.inboundOidcSsoProfiles.methods.delete.response.$ref - resources.inboundOidcSsoProfiles.methods.delete.scopes - resources.inboundOidcSsoProfiles.methods.get.description - resources.inboundOidcSsoProfiles.methods.get.flatPath - resources.inboundOidcSsoProfiles.methods.get.httpMethod - resources.inboundOidcSsoProfiles.methods.get.id - resources.inboundOidcSsoProfiles.methods.get.parameterOrder - resources.inboundOidcSsoProfiles.methods.get.parameters.name.description - resources.inboundOidcSsoProfiles.methods.get.parameters.name.location - resources.inboundOidcSsoProfiles.methods.get.parameters.name.pattern - resources.inboundOidcSsoProfiles.methods.get.parameters.name.required - resources.inboundOidcSsoProfiles.methods.get.parameters.name.type - resources.inboundOidcSsoProfiles.methods.get.path - resources.inboundOidcSsoProfiles.methods.get.response.$ref - resources.inboundOidcSsoProfiles.methods.get.scopes - resources.inboundOidcSsoProfiles.methods.list.description - resources.inboundOidcSsoProfiles.methods.list.flatPath - resources.inboundOidcSsoProfiles.methods.list.httpMethod - resources.inboundOidcSsoProfiles.methods.list.id - resources.inboundOidcSsoProfiles.methods.list.parameterOrder - resources.inboundOidcSsoProfiles.methods.list.parameters.filter.description - resources.inboundOidcSsoProfiles.methods.list.parameters.filter.location - resources.inboundOidcSsoProfiles.methods.list.parameters.filter.type - resources.inboundOidcSsoProfiles.methods.list.parameters.pageSize.description - resources.inboundOidcSsoProfiles.methods.list.parameters.pageSize.format - resources.inboundOidcSsoProfiles.methods.list.parameters.pageSize.location - resources.inboundOidcSsoProfiles.methods.list.parameters.pageSize.type - resources.inboundOidcSsoProfiles.methods.list.parameters.pageToken.description - resources.inboundOidcSsoProfiles.methods.list.parameters.pageToken.location - resources.inboundOidcSsoProfiles.methods.list.parameters.pageToken.type - resources.inboundOidcSsoProfiles.methods.list.path - resources.inboundOidcSsoProfiles.methods.list.response.$ref - resources.inboundOidcSsoProfiles.methods.list.scopes - resources.inboundOidcSsoProfiles.methods.patch.description - resources.inboundOidcSsoProfiles.methods.patch.flatPath - resources.inboundOidcSsoProfiles.methods.patch.httpMethod - resources.inboundOidcSsoProfiles.methods.patch.id - resources.inboundOidcSsoProfiles.methods.patch.parameterOrder - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.description - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.location - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.pattern - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.required - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.type - resources.inboundOidcSsoProfiles.methods.patch.parameters.updateMask.description - resources.inboundOidcSsoProfiles.methods.patch.parameters.updateMask.format - resources.inboundOidcSsoProfiles.methods.patch.parameters.updateMask.location - resources.inboundOidcSsoProfiles.methods.patch.parameters.updateMask.type - resources.inboundOidcSsoProfiles.methods.patch.path - resources.inboundOidcSsoProfiles.methods.patch.request.$ref - resources.inboundOidcSsoProfiles.methods.patch.response.$ref - resources.inboundOidcSsoProfiles.methods.patch.scopes - schemas.CreateInboundOidcSsoProfileOperationMetadata.description - schemas.CreateInboundOidcSsoProfileOperationMetadata.id - schemas.CreateInboundOidcSsoProfileOperationMetadata.properties.state.description - schemas.CreateInboundOidcSsoProfileOperationMetadata.properties.state.type - schemas.CreateInboundOidcSsoProfileOperationMetadata.type - schemas.DeleteInboundOidcSsoProfileOperationMetadata.description - schemas.DeleteInboundOidcSsoProfileOperationMetadata.id - schemas.DeleteInboundOidcSsoProfileOperationMetadata.type - schemas.InboundOidcSsoProfile.description - schemas.InboundOidcSsoProfile.id - schemas.InboundOidcSsoProfile.properties.customer.description - schemas.InboundOidcSsoProfile.properties.customer.type - schemas.InboundOidcSsoProfile.properties.displayName.description - schemas.InboundOidcSsoProfile.properties.displayName.type - schemas.InboundOidcSsoProfile.properties.idpConfig.$ref - schemas.InboundOidcSsoProfile.properties.idpConfig.description - schemas.InboundOidcSsoProfile.properties.name.description - schemas.InboundOidcSsoProfile.properties.name.readOnly - schemas.InboundOidcSsoProfile.properties.name.type - schemas.InboundOidcSsoProfile.properties.rpConfig.$ref - schemas.InboundOidcSsoProfile.properties.rpConfig.description - schemas.InboundOidcSsoProfile.type - schemas.InboundSsoAssignment.properties.oidcSsoInfo.$ref - schemas.InboundSsoAssignment.properties.oidcSsoInfo.description - schemas.ListInboundOidcSsoProfilesResponse.description - schemas.ListInboundOidcSsoProfilesResponse.id - schemas.ListInboundOidcSsoProfilesResponse.properties.inboundOidcSsoProfiles.description - schemas.ListInboundOidcSsoProfilesResponse.properties.inboundOidcSsoProfiles.items.$ref - schemas.ListInboundOidcSsoProfilesResponse.properties.inboundOidcSsoProfiles.type - schemas.ListInboundOidcSsoProfilesResponse.properties.nextPageToken.description - schemas.ListInboundOidcSsoProfilesResponse.properties.nextPageToken.type - schemas.ListInboundOidcSsoProfilesResponse.type - schemas.OidcIdpConfig.description - schemas.OidcIdpConfig.id - schemas.OidcIdpConfig.properties.changePasswordUri.description - schemas.OidcIdpConfig.properties.changePasswordUri.type - schemas.OidcIdpConfig.properties.issuerUri.description - schemas.OidcIdpConfig.properties.issuerUri.type - schemas.OidcIdpConfig.type - schemas.OidcRpConfig.description - schemas.OidcRpConfig.id - schemas.OidcRpConfig.properties.clientId.description - schemas.OidcRpConfig.properties.clientId.type - schemas.OidcRpConfig.properties.clientSecret.description - schemas.OidcRpConfig.properties.clientSecret.type - schemas.OidcRpConfig.properties.redirectUris.description - schemas.OidcRpConfig.properties.redirectUris.items.type - schemas.OidcRpConfig.properties.redirectUris.readOnly - schemas.OidcRpConfig.properties.redirectUris.type - schemas.OidcRpConfig.type - schemas.OidcSsoInfo.description - schemas.OidcSsoInfo.id - schemas.OidcSsoInfo.properties.inboundOidcSsoProfile.description - schemas.OidcSsoInfo.properties.inboundOidcSsoProfile.type - schemas.OidcSsoInfo.type - schemas.UpdateInboundOidcSsoProfileOperationMetadata.description - schemas.UpdateInboundOidcSsoProfileOperationMetadata.id - schemas.UpdateInboundOidcSsoProfileOperationMetadata.properties.state.description - schemas.UpdateInboundOidcSsoProfileOperationMetadata.properties.state.type - schemas.UpdateInboundOidcSsoProfileOperationMetadata.type The following keys were changed: - schemas.InboundSsoAssignment.properties.ssoMode.enum - schemas.InboundSsoAssignment.properties.ssoMode.enumDescriptions #### cloudidentity:v1 The following keys were added: - resources.inboundOidcSsoProfiles.methods.create.description - resources.inboundOidcSsoProfiles.methods.create.flatPath - resources.inboundOidcSsoProfiles.methods.create.httpMethod - resources.inboundOidcSsoProfiles.methods.create.id - resources.inboundOidcSsoProfiles.methods.create.parameterOrder - resources.inboundOidcSsoProfiles.methods.create.path - resources.inboundOidcSsoProfiles.methods.create.request.$ref - resources.inboundOidcSsoProfiles.methods.create.response.$ref - resources.inboundOidcSsoProfiles.methods.create.scopes - resources.inboundOidcSsoProfiles.methods.delete.description - resources.inboundOidcSsoProfiles.methods.delete.flatPath - resources.inboundOidcSsoProfiles.methods.delete.httpMethod - resources.inboundOidcSsoProfiles.methods.delete.id - resources.inboundOidcSsoProfiles.methods.delete.parameterOrder - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.description - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.location - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.pattern - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.required - resources.inboundOidcSsoProfiles.methods.delete.parameters.name.type - resources.inboundOidcSsoProfiles.methods.delete.path - resources.inboundOidcSsoProfiles.methods.delete.response.$ref - resources.inboundOidcSsoProfiles.methods.delete.scopes - resources.inboundOidcSsoProfiles.methods.get.description - resources.inboundOidcSsoProfiles.methods.get.flatPath - resources.inboundOidcSsoProfiles.methods.get.httpMethod - resources.inboundOidcSsoProfiles.methods.get.id - resources.inboundOidcSsoProfiles.methods.get.parameterOrder - resources.inboundOidcSsoProfiles.methods.get.parameters.name.description - resources.inboundOidcSsoProfiles.methods.get.parameters.name.location - resources.inboundOidcSsoProfiles.methods.get.parameters.name.pattern - resources.inboundOidcSsoProfiles.methods.get.parameters.name.required - resources.inboundOidcSsoProfiles.methods.get.parameters.name.type - resources.inboundOidcSsoProfiles.methods.get.path - resources.inboundOidcSsoProfiles.methods.get.response.$ref - resources.inboundOidcSsoProfiles.methods.get.scopes - resources.inboundOidcSsoProfiles.methods.list.description - resources.inboundOidcSsoProfiles.methods.list.flatPath - resources.inboundOidcSsoProfiles.methods.list.httpMethod - resources.inboundOidcSsoProfiles.methods.list.id - resources.inboundOidcSsoProfiles.methods.list.parameterOrder - resources.inboundOidcSsoProfiles.methods.list.parameters.filter.description - resources.inboundOidcSsoProfiles.methods.list.parameters.filter.location - resources.inboundOidcSsoProfiles.methods.list.parameters.filter.type - resources.inboundOidcSsoProfiles.methods.list.parameters.pageSize.description - resources.inboundOidcSsoProfiles.methods.list.parameters.pageSize.format - resources.inboundOidcSsoProfiles.methods.list.parameters.pageSize.location - resources.inboundOidcSsoProfiles.methods.list.parameters.pageSize.type - resources.inboundOidcSsoProfiles.methods.list.parameters.pageToken.description - resources.inboundOidcSsoProfiles.methods.list.parameters.pageToken.location - resources.inboundOidcSsoProfiles.methods.list.parameters.pageToken.type - resources.inboundOidcSsoProfiles.methods.list.path - resources.inboundOidcSsoProfiles.methods.list.response.$ref - resources.inboundOidcSsoProfiles.methods.list.scopes - resources.inboundOidcSsoProfiles.methods.patch.description - resources.inboundOidcSsoProfiles.methods.patch.flatPath - resources.inboundOidcSsoProfiles.methods.patch.httpMethod - resources.inboundOidcSsoProfiles.methods.patch.id - resources.inboundOidcSsoProfiles.methods.patch.parameterOrder - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.description - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.location - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.pattern - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.required - resources.inboundOidcSsoProfiles.methods.patch.parameters.name.type - resources.inboundOidcSsoProfiles.methods.patch.parameters.updateMask.description - resources.inboundOidcSsoProfiles.methods.patch.parameters.updateMask.format - resources.inboundOidcSsoProfiles.methods.patch.parameters.updateMask.location - resources.inboundOidcSsoProfiles.methods.patch.parameters.updateMask.type - resources.inboundOidcSsoProfiles.methods.patch.path - resources.inboundOidcSsoProfiles.methods.patch.request.$ref - resources.inboundOidcSsoProfiles.methods.patch.response.$ref - resources.inboundOidcSsoProfiles.methods.patch.scopes - schemas.CreateInboundOidcSsoProfileOperationMetadata.description - schemas.CreateInboundOidcSsoProfileOperationMetadata.id - schemas.CreateInboundOidcSsoProfileOperationMetadata.properties.state.description - schemas.CreateInboundOidcSsoProfileOperationMetadata.properties.state.type - schemas.CreateInboundOidcSsoProfileOperationMetadata.type - schemas.DeleteInboundOidcSsoProfileOperationMetadata.description - schemas.DeleteInboundOidcSsoProfileOperationMetadata.id - schemas.DeleteInboundOidcSsoProfileOperationMetadata.type - schemas.InboundOidcSsoProfile.description - schemas.InboundOidcSsoProfile.id - schemas.InboundOidcSsoProfile.properties.customer.description - schemas.InboundOidcSsoProfile.properties.customer.type - schemas.InboundOidcSsoProfile.properties.displayName.description - schemas.InboundOidcSsoProfile.properties.displayName.type - schemas.InboundOidcSsoProfile.properties.idpConfig.$ref - schemas.InboundOidcSsoProfile.properties.idpConfig.description - schemas.InboundOidcSsoProfile.properties.name.description - schemas.InboundOidcSsoProfile.properties.name.readOnly - schemas.InboundOidcSsoProfile.properties.name.type - schemas.InboundOidcSsoProfile.properties.rpConfig.$ref - schemas.InboundOidcSsoProfile.properties.rpConfig.description - schemas.InboundOidcSsoProfile.type - schemas.InboundSsoAssignment.properties.oidcSsoInfo.$ref - schemas.InboundSsoAssignment.properties.oidcSsoInfo.description - schemas.ListInboundOidcSsoProfilesResponse.description - schemas.ListInboundOidcSsoProfilesResponse.id - schemas.ListInboundOidcSsoProfilesResponse.properties.inboundOidcSsoProfiles.description - schemas.ListInboundOidcSsoProfilesResponse.properties.inboundOidcSsoProfiles.items.$ref - schemas.ListInboundOidcSsoProfilesResponse.properties.inboundOidcSsoProfiles.type - schemas.ListInboundOidcSsoProfilesResponse.properties.nextPageToken.description - schemas.ListInboundOidcSsoProfilesResponse.properties.nextPageToken.type - schemas.ListInboundOidcSsoProfilesResponse.type - schemas.OidcIdpConfig.description - schemas.OidcIdpConfig.id - schemas.OidcIdpConfig.properties.changePasswordUri.description - schemas.OidcIdpConfig.properties.changePasswordUri.type - schemas.OidcIdpConfig.properties.issuerUri.description - schemas.OidcIdpConfig.properties.issuerUri.type - schemas.OidcIdpConfig.type - schemas.OidcRpConfig.description - schemas.OidcRpConfig.id - schemas.OidcRpConfig.properties.clientId.description - schemas.OidcRpConfig.properties.clientId.type - schemas.OidcRpConfig.properties.clientSecret.description - schemas.OidcRpConfig.properties.clientSecret.type - schemas.OidcRpConfig.properties.redirectUris.description - schemas.OidcRpConfig.properties.redirectUris.items.type - schemas.OidcRpConfig.properties.redirectUris.readOnly - schemas.OidcRpConfig.properties.redirectUris.type - schemas.OidcRpConfig.type - schemas.OidcSsoInfo.description - schemas.OidcSsoInfo.id - schemas.OidcSsoInfo.properties.inboundOidcSsoProfile.description - schemas.OidcSsoInfo.properties.inboundOidcSsoProfile.type - schemas.OidcSsoInfo.type - schemas.UpdateInboundOidcSsoProfileOperationMetadata.description - schemas.UpdateInboundOidcSsoProfileOperationMetadata.id - schemas.UpdateInboundOidcSsoProfileOperationMetadata.properties.state.description - schemas.UpdateInboundOidcSsoProfileOperationMetadata.properties.state.type - schemas.UpdateInboundOidcSsoProfileOperationMetadata.type The following keys were changed: - schemas.InboundSsoAssignment.properties.ssoMode.enum - schemas.InboundSsoAssignment.properties.ssoMode.enumDescriptions --- discovery/cloudidentity-v1.json | 276 +++++++- discovery/cloudidentity-v1beta1.json | 276 +++++++- src/apis/cloudidentity/v1.ts | 924 +++++++++++++++++++++++++++ src/apis/cloudidentity/v1beta1.ts | 924 +++++++++++++++++++++++++++ 4 files changed, 2398 insertions(+), 2 deletions(-) diff --git a/discovery/cloudidentity-v1.json b/discovery/cloudidentity-v1.json index 01270ad47f..2bf0a5659b 100644 --- a/discovery/cloudidentity-v1.json +++ b/discovery/cloudidentity-v1.json @@ -1605,6 +1605,151 @@ } } }, + "inboundOidcSsoProfiles": { + "methods": { + "create": { + "description": "Creates an InboundOidcSsoProfile for a customer. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", + "flatPath": "v1/inboundOidcSsoProfiles", + "httpMethod": "POST", + "id": "cloudidentity.inboundOidcSsoProfiles.create", + "parameterOrder": [], + "parameters": {}, + "path": "v1/inboundOidcSsoProfiles", + "request": { + "$ref": "InboundOidcSsoProfile" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an InboundOidcSsoProfile.", + "flatPath": "v1/inboundOidcSsoProfiles/{inboundOidcSsoProfilesId}", + "httpMethod": "DELETE", + "id": "cloudidentity.inboundOidcSsoProfiles.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to delete. Format: `inboundOidcSsoProfiles/{sso_profile_id}`", + "location": "path", + "pattern": "^inboundOidcSsoProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an InboundOidcSsoProfile.", + "flatPath": "v1/inboundOidcSsoProfiles/{inboundOidcSsoProfilesId}", + "httpMethod": "GET", + "id": "cloudidentity.inboundOidcSsoProfiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to get. Format: `inboundOidcSsoProfiles/{sso_profile_id}`", + "location": "path", + "pattern": "^inboundOidcSsoProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "InboundOidcSsoProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists InboundOidcSsoProfile objects for a Google enterprise customer.", + "flatPath": "v1/inboundOidcSsoProfiles", + "httpMethod": "GET", + "id": "cloudidentity.inboundOidcSsoProfiles.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer==\"customers/C0123abc\"`. Omitting the filter or specifying a filter of `customer==\"customers/my_customer\"` will return the profiles for the customer that the caller (authenticated user) belongs to. Specifying a filter of `customer==\"\"` will return the global shared OIDC profiles.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of InboundOidcSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListInboundOidcSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundOidcSsoProfiles` must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/inboundOidcSsoProfiles", + "response": { + "$ref": "ListInboundOidcSsoProfilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an InboundOidcSsoProfile. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", + "flatPath": "v1/inboundOidcSsoProfiles/{inboundOidcSsoProfilesId}", + "httpMethod": "PATCH", + "id": "cloudidentity.inboundOidcSsoProfiles.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile.", + "location": "path", + "pattern": "^inboundOidcSsoProfiles/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "InboundOidcSsoProfile" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "inboundSamlSsoProfiles": { "methods": { "create": { @@ -2085,7 +2230,7 @@ } } }, - "revision": "20250701", + "revision": "20250805", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -2133,6 +2278,17 @@ "properties": {}, "type": "object" }, + "CreateInboundOidcSsoProfileOperationMetadata": { + "description": "LRO response metadata for InboundOidcSsoProfilesService.CreateInboundOidcSsoProfile.", + "id": "CreateInboundOidcSsoProfileOperationMetadata", + "properties": { + "state": { + "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", + "type": "string" + } + }, + "type": "object" + }, "CreateInboundSamlSsoProfileOperationMetadata": { "description": "LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile.", "id": "CreateInboundSamlSsoProfileOperationMetadata", @@ -2168,6 +2324,12 @@ "properties": {}, "type": "object" }, + "DeleteInboundOidcSsoProfileOperationMetadata": { + "description": "LRO response metadata for InboundOidcSsoProfilesService.DeleteInboundOidcSsoProfile.", + "id": "DeleteInboundOidcSsoProfileOperationMetadata", + "properties": {}, + "type": "object" + }, "DeleteInboundSamlSsoProfileOperationMetadata": { "description": "LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile.", "id": "DeleteInboundSamlSsoProfileOperationMetadata", @@ -3494,6 +3656,34 @@ }, "type": "object" }, + "InboundOidcSsoProfile": { + "description": "An [OIDC](https://openid.net/developers/how-connect-works/) federation between a Google enterprise customer and an OIDC identity provider.", + "id": "InboundOidcSsoProfile", + "properties": { + "customer": { + "description": "Immutable. The customer. For example: `customers/C0123abc`.", + "type": "string" + }, + "displayName": { + "description": "Human-readable name of the OIDC SSO profile.", + "type": "string" + }, + "idpConfig": { + "$ref": "OidcIdpConfig", + "description": "OIDC identity provider configuration." + }, + "name": { + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile.", + "readOnly": true, + "type": "string" + }, + "rpConfig": { + "$ref": "OidcRpConfig", + "description": "OIDC relying party (RP) configuration for this OIDC SSO profile. These are the RP details provided by Google that should be configured on the corresponding identity provider." + } + }, + "type": "object" + }, "InboundSamlSsoProfile": { "description": "A [SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) federation between a Google enterprise customer and a SAML identity provider.", "id": "InboundSamlSsoProfile", @@ -3535,6 +3725,10 @@ "readOnly": true, "type": "string" }, + "oidcSsoInfo": { + "$ref": "OidcSsoInfo", + "description": "OpenID Connect SSO details. Must be set if and only if `sso_mode` is set to `OIDC_SSO`." + }, "rank": { "description": "Must be zero (which is the default value so it can be omitted) for assignments with `target_org_unit` set and must be greater-than-or-equal-to one for assignments with `target_group` set.", "format": "int32", @@ -3554,12 +3748,14 @@ "SSO_MODE_UNSPECIFIED", "SSO_OFF", "SAML_SSO", + "OIDC_SSO", "DOMAIN_WIDE_SAML_IF_ENABLED" ], "enumDescriptions": [ "Not allowed.", "Disable SSO for the targeted users.", "Use an external SAML Identity Provider for SSO for the targeted users.", + "Use an external OIDC Identity Provider for SSO for the targeted users.", "Use the domain-wide SAML Identity Provider for the targeted users if one is configured; otherwise, this is equivalent to `SSO_OFF`. Note that this will also be equivalent to `SSO_OFF` if/when support for domain-wide SAML is removed. Google may disallow this mode at that point and existing assignments with this mode may be automatically changed to `SSO_OFF`." ], "type": "string" @@ -3622,6 +3818,24 @@ }, "type": "object" }, + "ListInboundOidcSsoProfilesResponse": { + "description": "Response of the InboundOidcSsoProfilesService.ListInboundOidcSsoProfiles method.", + "id": "ListInboundOidcSsoProfilesResponse", + "properties": { + "inboundOidcSsoProfiles": { + "description": "List of InboundOidcSsoProfiles.", + "items": { + "$ref": "InboundOidcSsoProfile" + }, + "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" + }, "ListInboundSamlSsoProfilesResponse": { "description": "Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.", "id": "ListInboundSamlSsoProfilesResponse", @@ -4012,6 +4226,55 @@ }, "type": "object" }, + "OidcIdpConfig": { + "description": "OIDC IDP (identity provider) configuration.", + "id": "OidcIdpConfig", + "properties": { + "changePasswordUri": { + "description": "The **Change Password URL** of the identity provider. Users will be sent to this URL when changing their passwords at `myaccount.google.com`. This takes precedence over the change password URL configured at customer-level. Must use `HTTPS`.", + "type": "string" + }, + "issuerUri": { + "description": "Required. The Issuer identifier for the IdP. Must be a URL. The discovery URL will be derived from this as described in Section 4 of [the OIDC specification](https://openid.net/specs/openid-connect-discovery-1_0.html).", + "type": "string" + } + }, + "type": "object" + }, + "OidcRpConfig": { + "description": "OIDC RP (relying party) configuration.", + "id": "OidcRpConfig", + "properties": { + "clientId": { + "description": "OAuth2 client ID for OIDC.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. OAuth2 client secret for OIDC.", + "type": "string" + }, + "redirectUris": { + "description": "Output only. The URL(s) that this client may use in authentication requests.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "OidcSsoInfo": { + "description": "Details that are applicable when `sso_mode` is set to `OIDC_SSO`.", + "id": "OidcSsoInfo", + "properties": { + "inboundOidcSsoProfile": { + "description": "Required. Name of the `InboundOidcSsoProfile` to use. Must be of the form `inboundOidcSsoProfiles/{inbound_oidc_sso_profile}`. ", + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -4387,6 +4650,17 @@ "properties": {}, "type": "object" }, + "UpdateInboundOidcSsoProfileOperationMetadata": { + "description": "LRO response metadata for InboundOidcSsoProfilesService.UpdateInboundOidcSsoProfile.", + "id": "UpdateInboundOidcSsoProfileOperationMetadata", + "properties": { + "state": { + "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", + "type": "string" + } + }, + "type": "object" + }, "UpdateInboundSamlSsoProfileOperationMetadata": { "description": "LRO response metadata for InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile.", "id": "UpdateInboundSamlSsoProfileOperationMetadata", diff --git a/discovery/cloudidentity-v1beta1.json b/discovery/cloudidentity-v1beta1.json index 480b1876af..33f065076a 100644 --- a/discovery/cloudidentity-v1beta1.json +++ b/discovery/cloudidentity-v1beta1.json @@ -1560,6 +1560,151 @@ } } }, + "inboundOidcSsoProfiles": { + "methods": { + "create": { + "description": "Creates an InboundOidcSsoProfile for a customer. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", + "flatPath": "v1beta1/inboundOidcSsoProfiles", + "httpMethod": "POST", + "id": "cloudidentity.inboundOidcSsoProfiles.create", + "parameterOrder": [], + "parameters": {}, + "path": "v1beta1/inboundOidcSsoProfiles", + "request": { + "$ref": "InboundOidcSsoProfile" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an InboundOidcSsoProfile.", + "flatPath": "v1beta1/inboundOidcSsoProfiles/{inboundOidcSsoProfilesId}", + "httpMethod": "DELETE", + "id": "cloudidentity.inboundOidcSsoProfiles.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to delete. Format: `inboundOidcSsoProfiles/{sso_profile_id}`", + "location": "path", + "pattern": "^inboundOidcSsoProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an InboundOidcSsoProfile.", + "flatPath": "v1beta1/inboundOidcSsoProfiles/{inboundOidcSsoProfilesId}", + "httpMethod": "GET", + "id": "cloudidentity.inboundOidcSsoProfiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to get. Format: `inboundOidcSsoProfiles/{sso_profile_id}`", + "location": "path", + "pattern": "^inboundOidcSsoProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "InboundOidcSsoProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists InboundOidcSsoProfile objects for a Google enterprise customer.", + "flatPath": "v1beta1/inboundOidcSsoProfiles", + "httpMethod": "GET", + "id": "cloudidentity.inboundOidcSsoProfiles.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer==\"customers/C0123abc\"`. Omitting the filter or specifying a filter of `customer==\"customers/my_customer\"` will return the profiles for the customer that the caller (authenticated user) belongs to. Specifying a filter of `customer==\"\"` will return the global shared OIDC profiles.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of InboundOidcSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListInboundOidcSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundOidcSsoProfiles` must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/inboundOidcSsoProfiles", + "response": { + "$ref": "ListInboundOidcSsoProfilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an InboundOidcSsoProfile. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", + "flatPath": "v1beta1/inboundOidcSsoProfiles/{inboundOidcSsoProfilesId}", + "httpMethod": "PATCH", + "id": "cloudidentity.inboundOidcSsoProfiles.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile.", + "location": "path", + "pattern": "^inboundOidcSsoProfiles/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "InboundOidcSsoProfile" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "inboundSamlSsoProfiles": { "methods": { "create": { @@ -2123,7 +2268,7 @@ } } }, - "revision": "20250701", + "revision": "20250805", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -2630,6 +2775,17 @@ }, "type": "object" }, + "CreateInboundOidcSsoProfileOperationMetadata": { + "description": "LRO response metadata for InboundOidcSsoProfilesService.CreateInboundOidcSsoProfile.", + "id": "CreateInboundOidcSsoProfileOperationMetadata", + "properties": { + "state": { + "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", + "type": "string" + } + }, + "type": "object" + }, "CreateInboundSamlSsoProfileOperationMetadata": { "description": "LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile.", "id": "CreateInboundSamlSsoProfileOperationMetadata", @@ -2673,6 +2829,12 @@ "properties": {}, "type": "object" }, + "DeleteInboundOidcSsoProfileOperationMetadata": { + "description": "LRO response metadata for InboundOidcSsoProfilesService.DeleteInboundOidcSsoProfile.", + "id": "DeleteInboundOidcSsoProfileOperationMetadata", + "properties": {}, + "type": "object" + }, "DeleteInboundSamlSsoProfileOperationMetadata": { "description": "LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile.", "id": "DeleteInboundSamlSsoProfileOperationMetadata", @@ -4233,6 +4395,34 @@ }, "type": "object" }, + "InboundOidcSsoProfile": { + "description": "An [OIDC](https://openid.net/developers/how-connect-works/) federation between a Google enterprise customer and an OIDC identity provider.", + "id": "InboundOidcSsoProfile", + "properties": { + "customer": { + "description": "Immutable. The customer. For example: `customers/C0123abc`.", + "type": "string" + }, + "displayName": { + "description": "Human-readable name of the OIDC SSO profile.", + "type": "string" + }, + "idpConfig": { + "$ref": "OidcIdpConfig", + "description": "OIDC identity provider configuration." + }, + "name": { + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile.", + "readOnly": true, + "type": "string" + }, + "rpConfig": { + "$ref": "OidcRpConfig", + "description": "OIDC relying party (RP) configuration for this OIDC SSO profile. These are the RP details provided by Google that should be configured on the corresponding identity provider." + } + }, + "type": "object" + }, "InboundSamlSsoProfile": { "description": "A [SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) federation between a Google enterprise customer and a SAML identity provider.", "id": "InboundSamlSsoProfile", @@ -4274,6 +4464,10 @@ "readOnly": true, "type": "string" }, + "oidcSsoInfo": { + "$ref": "OidcSsoInfo", + "description": "OpenID Connect SSO details. Must be set if and only if `sso_mode` is set to `OIDC_SSO`." + }, "rank": { "description": "Must be zero (which is the default value so it can be omitted) for assignments with `target_org_unit` set and must be greater-than-or-equal-to one for assignments with `target_group` set.", "format": "int32", @@ -4293,12 +4487,14 @@ "SSO_MODE_UNSPECIFIED", "SSO_OFF", "SAML_SSO", + "OIDC_SSO", "DOMAIN_WIDE_SAML_IF_ENABLED" ], "enumDescriptions": [ "Not allowed.", "Disable SSO for the targeted users.", "Use an external SAML Identity Provider for SSO for the targeted users.", + "Use an external OIDC Identity Provider for SSO for the targeted users.", "Use the domain-wide SAML Identity Provider for the targeted users if one is configured; otherwise, this is equivalent to `SSO_OFF`. Note that this will also be equivalent to `SSO_OFF` if/when support for domain-wide SAML is removed. Google may disallow this mode at that point and existing assignments with this mode may be automatically changed to `SSO_OFF`." ], "type": "string" @@ -4415,6 +4611,24 @@ }, "type": "object" }, + "ListInboundOidcSsoProfilesResponse": { + "description": "Response of the InboundOidcSsoProfilesService.ListInboundOidcSsoProfiles method.", + "id": "ListInboundOidcSsoProfilesResponse", + "properties": { + "inboundOidcSsoProfiles": { + "description": "List of InboundOidcSsoProfiles.", + "items": { + "$ref": "InboundOidcSsoProfile" + }, + "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" + }, "ListInboundSamlSsoProfilesResponse": { "description": "Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.", "id": "ListInboundSamlSsoProfilesResponse", @@ -4865,6 +5079,55 @@ }, "type": "object" }, + "OidcIdpConfig": { + "description": "OIDC IDP (identity provider) configuration.", + "id": "OidcIdpConfig", + "properties": { + "changePasswordUri": { + "description": "The **Change Password URL** of the identity provider. Users will be sent to this URL when changing their passwords at `myaccount.google.com`. This takes precedence over the change password URL configured at customer-level. Must use `HTTPS`.", + "type": "string" + }, + "issuerUri": { + "description": "Required. The Issuer identifier for the IdP. Must be a URL. The discovery URL will be derived from this as described in Section 4 of [the OIDC specification](https://openid.net/specs/openid-connect-discovery-1_0.html).", + "type": "string" + } + }, + "type": "object" + }, + "OidcRpConfig": { + "description": "OIDC RP (relying party) configuration.", + "id": "OidcRpConfig", + "properties": { + "clientId": { + "description": "OAuth2 client ID for OIDC.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. OAuth2 client secret for OIDC.", + "type": "string" + }, + "redirectUris": { + "description": "Output only. The URL(s) that this client may use in authentication requests.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "OidcSsoInfo": { + "description": "Details that are applicable when `sso_mode` is set to `OIDC_SSO`.", + "id": "OidcSsoInfo", + "properties": { + "inboundOidcSsoProfile": { + "description": "Required. Name of the `InboundOidcSsoProfile` to use. Must be of the form `inboundOidcSsoProfiles/{inbound_oidc_sso_profile}`. ", + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -5285,6 +5548,17 @@ }, "type": "object" }, + "UpdateInboundOidcSsoProfileOperationMetadata": { + "description": "LRO response metadata for InboundOidcSsoProfilesService.UpdateInboundOidcSsoProfile.", + "id": "UpdateInboundOidcSsoProfileOperationMetadata", + "properties": { + "state": { + "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", + "type": "string" + } + }, + "type": "object" + }, "UpdateInboundSamlSsoProfileOperationMetadata": { "description": "LRO response metadata for InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile.", "id": "UpdateInboundSamlSsoProfileOperationMetadata", diff --git a/src/apis/cloudidentity/v1.ts b/src/apis/cloudidentity/v1.ts index 67b2bfcd40..5f42b543ad 100644 --- a/src/apis/cloudidentity/v1.ts +++ b/src/apis/cloudidentity/v1.ts @@ -115,6 +115,7 @@ export namespace cloudidentity_v1 { customers: Resource$Customers; devices: Resource$Devices; groups: Resource$Groups; + inboundOidcSsoProfiles: Resource$Inboundoidcssoprofiles; inboundSamlSsoProfiles: Resource$Inboundsamlssoprofiles; inboundSsoAssignments: Resource$Inboundssoassignments; policies: Resource$Policies; @@ -128,6 +129,9 @@ export namespace cloudidentity_v1 { this.customers = new Resource$Customers(this.context); this.devices = new Resource$Devices(this.context); this.groups = new Resource$Groups(this.context); + this.inboundOidcSsoProfiles = new Resource$Inboundoidcssoprofiles( + this.context + ); this.inboundSamlSsoProfiles = new Resource$Inboundsamlssoprofiles( this.context ); @@ -173,6 +177,15 @@ export namespace cloudidentity_v1 { * Metadata for CreateGroup LRO. */ export interface Schema$CreateGroupMetadata {} + /** + * LRO response metadata for InboundOidcSsoProfilesService.CreateInboundOidcSsoProfile. + */ + export interface Schema$CreateInboundOidcSsoProfileOperationMetadata { + /** + * State of this Operation Will be "awaiting-multi-party-approval" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448). + */ + state?: string | null; + } /** * LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile. */ @@ -198,6 +211,10 @@ export namespace cloudidentity_v1 { * LRO response metadata for InboundSamlSsoProfilesService.DeleteIdpCredential. */ export interface Schema$DeleteIdpCredentialOperationMetadata {} + /** + * LRO response metadata for InboundOidcSsoProfilesService.DeleteInboundOidcSsoProfile. + */ + export interface Schema$DeleteInboundOidcSsoProfileOperationMetadata {} /** * LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile. */ @@ -1054,6 +1071,31 @@ export namespace cloudidentity_v1 { */ updateTime?: string | null; } + /** + * An [OIDC](https://openid.net/developers/how-connect-works/) federation between a Google enterprise customer and an OIDC identity provider. + */ + export interface Schema$InboundOidcSsoProfile { + /** + * Immutable. The customer. For example: `customers/C0123abc`. + */ + customer?: string | null; + /** + * Human-readable name of the OIDC SSO profile. + */ + displayName?: string | null; + /** + * OIDC identity provider configuration. + */ + idpConfig?: Schema$OidcIdpConfig; + /** + * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile. + */ + name?: string | null; + /** + * OIDC relying party (RP) configuration for this OIDC SSO profile. These are the RP details provided by Google that should be configured on the corresponding identity provider. + */ + rpConfig?: Schema$OidcRpConfig; + } /** * A [SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) federation between a Google enterprise customer and a SAML identity provider. */ @@ -1091,6 +1133,10 @@ export namespace cloudidentity_v1 { * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment. */ name?: string | null; + /** + * OpenID Connect SSO details. Must be set if and only if `sso_mode` is set to `OIDC_SSO`. + */ + oidcSsoInfo?: Schema$OidcSsoInfo; /** * Must be zero (which is the default value so it can be omitted) for assignments with `target_org_unit` set and must be greater-than-or-equal-to one for assignments with `target_group` set. */ @@ -1151,6 +1197,19 @@ export namespace cloudidentity_v1 { */ nextPageToken?: string | null; } + /** + * Response of the InboundOidcSsoProfilesService.ListInboundOidcSsoProfiles method. + */ + export interface Schema$ListInboundOidcSsoProfilesResponse { + /** + * List of InboundOidcSsoProfiles. + */ + inboundOidcSsoProfiles?: Schema$InboundOidcSsoProfile[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method. */ @@ -1399,6 +1458,45 @@ export namespace cloudidentity_v1 { */ membership?: Schema$Membership; } + /** + * OIDC IDP (identity provider) configuration. + */ + export interface Schema$OidcIdpConfig { + /** + * The **Change Password URL** of the identity provider. Users will be sent to this URL when changing their passwords at `myaccount.google.com`. This takes precedence over the change password URL configured at customer-level. Must use `HTTPS`. + */ + changePasswordUri?: string | null; + /** + * Required. The Issuer identifier for the IdP. Must be a URL. The discovery URL will be derived from this as described in Section 4 of [the OIDC specification](https://openid.net/specs/openid-connect-discovery-1_0.html). + */ + issuerUri?: string | null; + } + /** + * OIDC RP (relying party) configuration. + */ + export interface Schema$OidcRpConfig { + /** + * OAuth2 client ID for OIDC. + */ + clientId?: string | null; + /** + * Input only. OAuth2 client secret for OIDC. + */ + clientSecret?: string | null; + /** + * Output only. The URL(s) that this client may use in authentication requests. + */ + redirectUris?: string[] | null; + } + /** + * Details that are applicable when `sso_mode` is set to `OIDC_SSO`. + */ + export interface Schema$OidcSsoInfo { + /** + * Required. Name of the `InboundOidcSsoProfile` to use. Must be of the form `inboundOidcSsoProfiles/{inbound_oidc_sso_profile\}`. + */ + inboundOidcSsoProfile?: string | null; + } /** * This resource represents a long-running operation that is the result of a network API call. */ @@ -1661,6 +1759,15 @@ export namespace cloudidentity_v1 { * Metadata for UpdateGroup LRO. */ export interface Schema$UpdateGroupMetadata {} + /** + * LRO response metadata for InboundOidcSsoProfilesService.UpdateInboundOidcSsoProfile. + */ + export interface Schema$UpdateInboundOidcSsoProfileOperationMetadata { + /** + * State of this Operation Will be "awaiting-multi-party-approval" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448). + */ + state?: string | null; + } /** * LRO response metadata for InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile. */ @@ -8749,6 +8856,820 @@ export namespace cloudidentity_v1 { parent?: string; } + export class Resource$Inboundoidcssoprofiles { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an InboundOidcSsoProfile for a customer. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `"done": false`, it will not have a response, and the metadata will have `"state": "awaiting-multi-party-approval"`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * '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 cloudidentity.inboundOidcSsoProfiles.create({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customer": "my_customer", + * // "displayName": "my_displayName", + * // "idpConfig": {}, + * // "name": "my_name", + * // "rpConfig": {} + * // } + * }, + * }); + * 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$Inboundoidcssoprofiles$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Inboundoidcssoprofiles$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Inboundoidcssoprofiles$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Inboundoidcssoprofiles$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Inboundoidcssoprofiles$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/inboundOidcSsoProfiles').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an InboundOidcSsoProfile. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * '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 cloudidentity.inboundOidcSsoProfiles.delete({ + * // Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to delete. Format: `inboundOidcSsoProfiles/{sso_profile_id\}` + * name: 'inboundOidcSsoProfiles/my-inboundOidcSsoProfile', + * }); + * 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$Inboundoidcssoprofiles$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Inboundoidcssoprofiles$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Inboundoidcssoprofiles$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Inboundoidcssoprofiles$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Inboundoidcssoprofiles$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.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 InboundOidcSsoProfile. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * 'https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudidentity.inboundOidcSsoProfiles.get({ + * // Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to get. Format: `inboundOidcSsoProfiles/{sso_profile_id\}` + * name: 'inboundOidcSsoProfiles/my-inboundOidcSsoProfile', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "customer": "my_customer", + * // "displayName": "my_displayName", + * // "idpConfig": {}, + * // "name": "my_name", + * // "rpConfig": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Inboundoidcssoprofiles$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Inboundoidcssoprofiles$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Inboundoidcssoprofiles$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Inboundoidcssoprofiles$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Inboundoidcssoprofiles$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.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 InboundOidcSsoProfile objects for a Google enterprise customer. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * 'https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudidentity.inboundOidcSsoProfiles.list({ + * // A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer=="customers/C0123abc"`. Omitting the filter or specifying a filter of `customer=="customers/my_customer"` will return the profiles for the customer that the caller (authenticated user) belongs to. Specifying a filter of `customer==""` will return the global shared OIDC profiles. + * filter: 'placeholder-value', + * // The maximum number of InboundOidcSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value. + * pageSize: 'placeholder-value', + * // A page token, received from a previous `ListInboundOidcSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundOidcSsoProfiles` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "inboundOidcSsoProfiles": [], + * // "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$Inboundoidcssoprofiles$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Inboundoidcssoprofiles$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Inboundoidcssoprofiles$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Inboundoidcssoprofiles$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Inboundoidcssoprofiles$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/inboundOidcSsoProfiles').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an InboundOidcSsoProfile. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `"done": false`, it will not have a response, and the metadata will have `"state": "awaiting-multi-party-approval"`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * '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 cloudidentity.inboundOidcSsoProfiles.patch({ + * // Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile. + * name: 'inboundOidcSsoProfiles/my-inboundOidcSsoProfile', + * // Required. The list of fields to be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customer": "my_customer", + * // "displayName": "my_displayName", + * // "idpConfig": {}, + * // "name": "my_name", + * // "rpConfig": {} + * // } + * }, + * }); + * 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$Inboundoidcssoprofiles$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Inboundoidcssoprofiles$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Inboundoidcssoprofiles$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Inboundoidcssoprofiles$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Inboundoidcssoprofiles$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.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$Inboundoidcssoprofiles$Create + extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$InboundOidcSsoProfile; + } + export interface Params$Resource$Inboundoidcssoprofiles$Delete + extends StandardParameters { + /** + * Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to delete. Format: `inboundOidcSsoProfiles/{sso_profile_id\}` + */ + name?: string; + } + export interface Params$Resource$Inboundoidcssoprofiles$Get + extends StandardParameters { + /** + * Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to get. Format: `inboundOidcSsoProfiles/{sso_profile_id\}` + */ + name?: string; + } + export interface Params$Resource$Inboundoidcssoprofiles$List + extends StandardParameters { + /** + * A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer=="customers/C0123abc"`. Omitting the filter or specifying a filter of `customer=="customers/my_customer"` will return the profiles for the customer that the caller (authenticated user) belongs to. Specifying a filter of `customer==""` will return the global shared OIDC profiles. + */ + filter?: string; + /** + * The maximum number of InboundOidcSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value. + */ + pageSize?: number; + /** + * A page token, received from a previous `ListInboundOidcSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundOidcSsoProfiles` must match the call that provided the page token. + */ + pageToken?: string; + } + export interface Params$Resource$Inboundoidcssoprofiles$Patch + extends StandardParameters { + /** + * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile. + */ + name?: string; + /** + * Required. The list of fields to be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InboundOidcSsoProfile; + } + export class Resource$Inboundsamlssoprofiles { context: APIRequestContext; idpCredentials: Resource$Inboundsamlssoprofiles$Idpcredentials; @@ -10254,6 +11175,7 @@ export namespace cloudidentity_v1 { * // { * // "customer": "my_customer", * // "name": "my_name", + * // "oidcSsoInfo": {}, * // "rank": 0, * // "samlSsoInfo": {}, * // "signInBehavior": {}, @@ -10557,6 +11479,7 @@ export namespace cloudidentity_v1 { * // { * // "customer": "my_customer", * // "name": "my_name", + * // "oidcSsoInfo": {}, * // "rank": 0, * // "samlSsoInfo": {}, * // "signInBehavior": {}, @@ -10863,6 +11786,7 @@ export namespace cloudidentity_v1 { * // { * // "customer": "my_customer", * // "name": "my_name", + * // "oidcSsoInfo": {}, * // "rank": 0, * // "samlSsoInfo": {}, * // "signInBehavior": {}, diff --git a/src/apis/cloudidentity/v1beta1.ts b/src/apis/cloudidentity/v1beta1.ts index dfecc9efb6..7364a1f7cb 100644 --- a/src/apis/cloudidentity/v1beta1.ts +++ b/src/apis/cloudidentity/v1beta1.ts @@ -115,6 +115,7 @@ export namespace cloudidentity_v1beta1 { customers: Resource$Customers; devices: Resource$Devices; groups: Resource$Groups; + inboundOidcSsoProfiles: Resource$Inboundoidcssoprofiles; inboundSamlSsoProfiles: Resource$Inboundsamlssoprofiles; inboundSsoAssignments: Resource$Inboundssoassignments; orgUnits: Resource$Orgunits; @@ -129,6 +130,9 @@ export namespace cloudidentity_v1beta1 { this.customers = new Resource$Customers(this.context); this.devices = new Resource$Devices(this.context); this.groups = new Resource$Groups(this.context); + this.inboundOidcSsoProfiles = new Resource$Inboundoidcssoprofiles( + this.context + ); this.inboundSamlSsoProfiles = new Resource$Inboundsamlssoprofiles( this.context ); @@ -482,6 +486,15 @@ export namespace cloudidentity_v1beta1 { */ device?: Schema$Device; } + /** + * LRO response metadata for InboundOidcSsoProfilesService.CreateInboundOidcSsoProfile. + */ + export interface Schema$CreateInboundOidcSsoProfileOperationMetadata { + /** + * State of this Operation Will be "awaiting-multi-party-approval" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448). + */ + state?: string | null; + } /** * LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile. */ @@ -516,6 +529,10 @@ export namespace cloudidentity_v1beta1 { * LRO response metadata for InboundSamlSsoProfilesService.DeleteIdpCredential. */ export interface Schema$DeleteIdpCredentialOperationMetadata {} + /** + * LRO response metadata for InboundOidcSsoProfilesService.DeleteInboundOidcSsoProfile. + */ + export interface Schema$DeleteInboundOidcSsoProfileOperationMetadata {} /** * LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile. */ @@ -1450,6 +1467,31 @@ export namespace cloudidentity_v1beta1 { */ updateTime?: string | null; } + /** + * An [OIDC](https://openid.net/developers/how-connect-works/) federation between a Google enterprise customer and an OIDC identity provider. + */ + export interface Schema$InboundOidcSsoProfile { + /** + * Immutable. The customer. For example: `customers/C0123abc`. + */ + customer?: string | null; + /** + * Human-readable name of the OIDC SSO profile. + */ + displayName?: string | null; + /** + * OIDC identity provider configuration. + */ + idpConfig?: Schema$OidcIdpConfig; + /** + * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile. + */ + name?: string | null; + /** + * OIDC relying party (RP) configuration for this OIDC SSO profile. These are the RP details provided by Google that should be configured on the corresponding identity provider. + */ + rpConfig?: Schema$OidcRpConfig; + } /** * A [SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) federation between a Google enterprise customer and a SAML identity provider. */ @@ -1487,6 +1529,10 @@ export namespace cloudidentity_v1beta1 { * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment. */ name?: string | null; + /** + * OpenID Connect SSO details. Must be set if and only if `sso_mode` is set to `OIDC_SSO`. + */ + oidcSsoInfo?: Schema$OidcSsoInfo; /** * Must be zero (which is the default value so it can be omitted) for assignments with `target_org_unit` set and must be greater-than-or-equal-to one for assignments with `target_group` set. */ @@ -1586,6 +1632,19 @@ export namespace cloudidentity_v1beta1 { */ nextPageToken?: string | null; } + /** + * Response of the InboundOidcSsoProfilesService.ListInboundOidcSsoProfiles method. + */ + export interface Schema$ListInboundOidcSsoProfilesResponse { + /** + * List of InboundOidcSsoProfiles. + */ + inboundOidcSsoProfiles?: Schema$InboundOidcSsoProfile[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method. */ @@ -1881,6 +1940,45 @@ export namespace cloudidentity_v1beta1 { */ destinationOrgUnit?: string | null; } + /** + * OIDC IDP (identity provider) configuration. + */ + export interface Schema$OidcIdpConfig { + /** + * The **Change Password URL** of the identity provider. Users will be sent to this URL when changing their passwords at `myaccount.google.com`. This takes precedence over the change password URL configured at customer-level. Must use `HTTPS`. + */ + changePasswordUri?: string | null; + /** + * Required. The Issuer identifier for the IdP. Must be a URL. The discovery URL will be derived from this as described in Section 4 of [the OIDC specification](https://openid.net/specs/openid-connect-discovery-1_0.html). + */ + issuerUri?: string | null; + } + /** + * OIDC RP (relying party) configuration. + */ + export interface Schema$OidcRpConfig { + /** + * OAuth2 client ID for OIDC. + */ + clientId?: string | null; + /** + * Input only. OAuth2 client secret for OIDC. + */ + clientSecret?: string | null; + /** + * Output only. The URL(s) that this client may use in authentication requests. + */ + redirectUris?: string[] | null; + } + /** + * Details that are applicable when `sso_mode` is set to `OIDC_SSO`. + */ + export interface Schema$OidcSsoInfo { + /** + * Required. Name of the `InboundOidcSsoProfile` to use. Must be of the form `inboundOidcSsoProfiles/{inbound_oidc_sso_profile\}`. + */ + inboundOidcSsoProfile?: string | null; + } /** * This resource represents a long-running operation that is the result of a network API call. */ @@ -2177,6 +2275,15 @@ export namespace cloudidentity_v1beta1 { */ role?: string | null; } + /** + * LRO response metadata for InboundOidcSsoProfilesService.UpdateInboundOidcSsoProfile. + */ + export interface Schema$UpdateInboundOidcSsoProfileOperationMetadata { + /** + * State of this Operation Will be "awaiting-multi-party-approval" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448). + */ + state?: string | null; + } /** * LRO response metadata for InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile. */ @@ -9063,6 +9170,820 @@ export namespace cloudidentity_v1beta1 { parent?: string; } + export class Resource$Inboundoidcssoprofiles { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an InboundOidcSsoProfile for a customer. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `"done": false`, it will not have a response, and the metadata will have `"state": "awaiting-multi-party-approval"`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * '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 cloudidentity.inboundOidcSsoProfiles.create({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customer": "my_customer", + * // "displayName": "my_displayName", + * // "idpConfig": {}, + * // "name": "my_name", + * // "rpConfig": {} + * // } + * }, + * }); + * 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$Inboundoidcssoprofiles$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Inboundoidcssoprofiles$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Inboundoidcssoprofiles$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Inboundoidcssoprofiles$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Inboundoidcssoprofiles$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/inboundOidcSsoProfiles').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an InboundOidcSsoProfile. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * '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 cloudidentity.inboundOidcSsoProfiles.delete({ + * // Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to delete. Format: `inboundOidcSsoProfiles/{sso_profile_id\}` + * name: 'inboundOidcSsoProfiles/my-inboundOidcSsoProfile', + * }); + * 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$Inboundoidcssoprofiles$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Inboundoidcssoprofiles$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Inboundoidcssoprofiles$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Inboundoidcssoprofiles$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Inboundoidcssoprofiles$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.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 an InboundOidcSsoProfile. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * 'https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudidentity.inboundOidcSsoProfiles.get({ + * // Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to get. Format: `inboundOidcSsoProfiles/{sso_profile_id\}` + * name: 'inboundOidcSsoProfiles/my-inboundOidcSsoProfile', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "customer": "my_customer", + * // "displayName": "my_displayName", + * // "idpConfig": {}, + * // "name": "my_name", + * // "rpConfig": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Inboundoidcssoprofiles$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Inboundoidcssoprofiles$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Inboundoidcssoprofiles$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Inboundoidcssoprofiles$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Inboundoidcssoprofiles$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.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 InboundOidcSsoProfile objects for a Google enterprise customer. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * 'https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudidentity.inboundOidcSsoProfiles.list({ + * // A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer=="customers/C0123abc"`. Omitting the filter or specifying a filter of `customer=="customers/my_customer"` will return the profiles for the customer that the caller (authenticated user) belongs to. Specifying a filter of `customer==""` will return the global shared OIDC profiles. + * filter: 'placeholder-value', + * // The maximum number of InboundOidcSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value. + * pageSize: 'placeholder-value', + * // A page token, received from a previous `ListInboundOidcSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundOidcSsoProfiles` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "inboundOidcSsoProfiles": [], + * // "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$Inboundoidcssoprofiles$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Inboundoidcssoprofiles$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Inboundoidcssoprofiles$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Inboundoidcssoprofiles$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Inboundoidcssoprofiles$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/inboundOidcSsoProfiles').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an InboundOidcSsoProfile. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `"done": false`, it will not have a response, and the metadata will have `"state": "awaiting-multi-party-approval"`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudidentity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudidentity = google.cloudidentity('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-identity.inboundsso', + * '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 cloudidentity.inboundOidcSsoProfiles.patch({ + * // Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile. + * name: 'inboundOidcSsoProfiles/my-inboundOidcSsoProfile', + * // Required. The list of fields to be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customer": "my_customer", + * // "displayName": "my_displayName", + * // "idpConfig": {}, + * // "name": "my_name", + * // "rpConfig": {} + * // } + * }, + * }); + * 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$Inboundoidcssoprofiles$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Inboundoidcssoprofiles$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Inboundoidcssoprofiles$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Inboundoidcssoprofiles$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Inboundoidcssoprofiles$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Inboundoidcssoprofiles$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Inboundoidcssoprofiles$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Inboundoidcssoprofiles$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.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$Inboundoidcssoprofiles$Create + extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$InboundOidcSsoProfile; + } + export interface Params$Resource$Inboundoidcssoprofiles$Delete + extends StandardParameters { + /** + * Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to delete. Format: `inboundOidcSsoProfiles/{sso_profile_id\}` + */ + name?: string; + } + export interface Params$Resource$Inboundoidcssoprofiles$Get + extends StandardParameters { + /** + * Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundOidcSsoProfile to get. Format: `inboundOidcSsoProfiles/{sso_profile_id\}` + */ + name?: string; + } + export interface Params$Resource$Inboundoidcssoprofiles$List + extends StandardParameters { + /** + * A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer=="customers/C0123abc"`. Omitting the filter or specifying a filter of `customer=="customers/my_customer"` will return the profiles for the customer that the caller (authenticated user) belongs to. Specifying a filter of `customer==""` will return the global shared OIDC profiles. + */ + filter?: string; + /** + * The maximum number of InboundOidcSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value. + */ + pageSize?: number; + /** + * A page token, received from a previous `ListInboundOidcSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundOidcSsoProfiles` must match the call that provided the page token. + */ + pageToken?: string; + } + export interface Params$Resource$Inboundoidcssoprofiles$Patch + extends StandardParameters { + /** + * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the OIDC SSO profile. + */ + name?: string; + /** + * Required. The list of fields to be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InboundOidcSsoProfile; + } + export class Resource$Inboundsamlssoprofiles { context: APIRequestContext; idpCredentials: Resource$Inboundsamlssoprofiles$Idpcredentials; @@ -10568,6 +11489,7 @@ export namespace cloudidentity_v1beta1 { * // { * // "customer": "my_customer", * // "name": "my_name", + * // "oidcSsoInfo": {}, * // "rank": 0, * // "samlSsoInfo": {}, * // "signInBehavior": {}, @@ -10871,6 +11793,7 @@ export namespace cloudidentity_v1beta1 { * // { * // "customer": "my_customer", * // "name": "my_name", + * // "oidcSsoInfo": {}, * // "rank": 0, * // "samlSsoInfo": {}, * // "signInBehavior": {}, @@ -11177,6 +12100,7 @@ export namespace cloudidentity_v1beta1 { * // { * // "customer": "my_customer", * // "name": "my_name", + * // "oidcSsoInfo": {}, * // "rank": 0, * // "samlSsoInfo": {}, * // "signInBehavior": {}, From d5530bbabdad38e9ea742b03db3686723562a1e7 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 14/43] feat(cloudkms): update the API #### cloudkms:v1 The following keys were added: - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.description - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.flatPath - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.httpMethod - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.id - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.parameterOrder - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.parameters.name.description - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.parameters.name.location - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.parameters.name.pattern - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.parameters.name.required - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.parameters.name.type - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.path - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.request.$ref - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.response.$ref - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.decapsulate.scopes - schemas.DecapsulateRequest.description - schemas.DecapsulateRequest.id - schemas.DecapsulateRequest.properties.ciphertext.description - schemas.DecapsulateRequest.properties.ciphertext.format - schemas.DecapsulateRequest.properties.ciphertext.type - schemas.DecapsulateRequest.properties.ciphertextCrc32c.description - schemas.DecapsulateRequest.properties.ciphertextCrc32c.format - schemas.DecapsulateRequest.properties.ciphertextCrc32c.type - schemas.DecapsulateRequest.type - schemas.DecapsulateResponse.description - schemas.DecapsulateResponse.id - schemas.DecapsulateResponse.properties.name.description - schemas.DecapsulateResponse.properties.name.type - schemas.DecapsulateResponse.properties.protectionLevel.description - schemas.DecapsulateResponse.properties.protectionLevel.enum - schemas.DecapsulateResponse.properties.protectionLevel.enumDescriptions - schemas.DecapsulateResponse.properties.protectionLevel.type - schemas.DecapsulateResponse.properties.sharedSecret.description - schemas.DecapsulateResponse.properties.sharedSecret.format - schemas.DecapsulateResponse.properties.sharedSecret.type - schemas.DecapsulateResponse.properties.sharedSecretCrc32c.description - schemas.DecapsulateResponse.properties.sharedSecretCrc32c.format - schemas.DecapsulateResponse.properties.sharedSecretCrc32c.type - schemas.DecapsulateResponse.properties.verifiedCiphertextCrc32c.description - schemas.DecapsulateResponse.properties.verifiedCiphertextCrc32c.type - schemas.DecapsulateResponse.type The following keys were changed: - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.getPublicKey.parameters.publicKeyFormat.enum - resources.projects.resources.locations.resources.keyRings.resources.cryptoKeys.resources.cryptoKeyVersions.methods.getPublicKey.parameters.publicKeyFormat.enumDescriptions - schemas.CryptoKey.properties.purpose.enum - schemas.CryptoKey.properties.purpose.enumDescriptions - schemas.CryptoKeyVersion.properties.algorithm.enum - schemas.CryptoKeyVersion.properties.algorithm.enumDescriptions - schemas.CryptoKeyVersionTemplate.properties.algorithm.enum - schemas.CryptoKeyVersionTemplate.properties.algorithm.enumDescriptions - schemas.ImportCryptoKeyVersionRequest.properties.algorithm.enum - schemas.ImportCryptoKeyVersionRequest.properties.algorithm.enumDescriptions - schemas.PublicKey.properties.algorithm.enum - schemas.PublicKey.properties.algorithm.enumDescriptions - schemas.PublicKey.properties.publicKeyFormat.enum - schemas.PublicKey.properties.publicKeyFormat.enumDescriptions --- discovery/cloudkms-v1.json | 137 ++++++++++++++++++++++-- src/apis/cloudkms/v1.ts | 209 +++++++++++++++++++++++++++++++++++++ 2 files changed, 339 insertions(+), 7 deletions(-) diff --git a/discovery/cloudkms-v1.json b/discovery/cloudkms-v1.json index de211569f9..5b07be3b01 100644 --- a/discovery/cloudkms-v1.json +++ b/discovery/cloudkms-v1.json @@ -1795,6 +1795,35 @@ "https://www.googleapis.com/auth/cloudkms" ] }, + "decapsulate": { + "description": "Decapsulates data that was encapsulated with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose KEY_ENCAPSULATION.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:decapsulate", + "httpMethod": "POST", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.decapsulate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the CryptoKeyVersion to use for decapsulation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:decapsulate", + "request": { + "$ref": "DecapsulateRequest" + }, + "response": { + "$ref": "DecapsulateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudkms" + ] + }, "destroy": { "description": "Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:destroy", @@ -1871,12 +1900,16 @@ "enum": [ "PUBLIC_KEY_FORMAT_UNSPECIFIED", "PEM", - "NIST_PQC" + "DER", + "NIST_PQC", + "XWING_RAW_BYTES" ], "enumDescriptions": [ "If the public_key_format field is not specified: - For PQC algorithms, an error will be returned. - For non-PQC algorithms, the default format is PEM, and the field pem will be populated. Otherwise, the public key will be exported through the public_key field in the requested format.", "The returned public key will be encoded in PEM format. See the [RFC7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13) for more information.", - "This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205)." + "The returned public key will be encoded in DER format (the PrivateKeyInfo structure from RFC 5208).", + "This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205).", + "The returned public key is in raw bytes format defined in its standard https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem." ], "location": "query", "type": "string" @@ -2402,7 +2435,7 @@ } } }, - "revision": "20250523", + "revision": "20250731", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AsymmetricDecryptRequest": { @@ -2799,7 +2832,8 @@ "ASYMMETRIC_SIGN", "ASYMMETRIC_DECRYPT", "RAW_ENCRYPT_DECRYPT", - "MAC" + "MAC", + "KEY_ENCAPSULATION" ], "enumDescriptions": [ "Not specified.", @@ -2807,7 +2841,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" }, @@ -2866,6 +2901,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" @@ -2907,6 +2945,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." @@ -3078,6 +3119,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" @@ -3119,6 +3163,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." @@ -3146,6 +3193,66 @@ }, "type": "object" }, + "DecapsulateRequest": { + "description": "Request message for KeyManagementService.Decapsulate.", + "id": "DecapsulateRequest", + "properties": { + "ciphertext": { + "description": "Required. The ciphertext produced from encapsulation with the named CryptoKeyVersion public key(s).", + "format": "byte", + "type": "string" + }, + "ciphertextCrc32c": { + "description": "Optional. A CRC32C checksum of the DecapsulateRequest.ciphertext. If specified, KeyManagementService will verify the integrity of the received DecapsulateRequest.ciphertext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(DecapsulateRequest.ciphertext) is equal to DecapsulateRequest.ciphertext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DecapsulateResponse": { + "description": "Response message for KeyManagementService.Decapsulate.", + "id": "DecapsulateResponse", + "properties": { + "name": { + "description": "The resource name of the CryptoKeyVersion used for decapsulation. Check this field to verify that the intended resource was used for decapsulation.", + "type": "string" + }, + "protectionLevel": { + "description": "The ProtectionLevel of the CryptoKeyVersion used in decapsulation.", + "enum": [ + "PROTECTION_LEVEL_UNSPECIFIED", + "SOFTWARE", + "HSM", + "EXTERNAL", + "EXTERNAL_VPC" + ], + "enumDescriptions": [ + "Not specified.", + "Crypto operations are performed in software.", + "Crypto operations are performed in a Hardware Security Module.", + "Crypto operations are performed by an external key manager.", + "Crypto operations are performed in an EKM-over-VPC backend." + ], + "type": "string" + }, + "sharedSecret": { + "description": "The decapsulated shared_secret originally encapsulated with the matching public key.", + "format": "byte", + "type": "string" + }, + "sharedSecretCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned DecapsulateResponse.shared_secret. An integrity check of DecapsulateResponse.shared_secret can be performed by computing the CRC32C checksum of DecapsulateResponse.shared_secret and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: receiving this response message indicates that KeyManagementService is able to successfully decrypt the ciphertext. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "verifiedCiphertextCrc32c": { + "description": "Integrity verification field. A flag indicating whether DecapsulateRequest.ciphertext_crc32c was received by KeyManagementService and used for the integrity verification of the ciphertext. A false value of this field indicates either that DecapsulateRequest.ciphertext_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set DecapsulateRequest.ciphertext_crc32c but this field is still false, discard the response and perform a limited number of retries.", + "type": "boolean" + } + }, + "type": "object" + }, "DecryptRequest": { "description": "Request message for KeyManagementService.Decrypt.", "id": "DecryptRequest", @@ -3505,6 +3612,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" @@ -3546,6 +3656,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." @@ -4260,6 +4373,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" @@ -4301,6 +4417,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." @@ -4347,12 +4466,16 @@ "enum": [ "PUBLIC_KEY_FORMAT_UNSPECIFIED", "PEM", - "NIST_PQC" + "DER", + "NIST_PQC", + "XWING_RAW_BYTES" ], "enumDescriptions": [ "If the public_key_format field is not specified: - For PQC algorithms, an error will be returned. - For non-PQC algorithms, the default format is PEM, and the field pem will be populated. Otherwise, the public key will be exported through the public_key field in the requested format.", "The returned public key will be encoded in PEM format. See the [RFC7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13) for more information.", - "This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205)." + "The returned public key will be encoded in DER format (the PrivateKeyInfo structure from RFC 5208).", + "This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205).", + "The returned public key is in raw bytes format defined in its standard https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem." ], "type": "string" } diff --git a/src/apis/cloudkms/v1.ts b/src/apis/cloudkms/v1.ts index 06fc02a476..f9c6d39c9d 100644 --- a/src/apis/cloudkms/v1.ts +++ b/src/apis/cloudkms/v1.ts @@ -482,6 +482,44 @@ export namespace cloudkms_v1 { */ protectionLevel?: string | null; } + /** + * Request message for KeyManagementService.Decapsulate. + */ + export interface Schema$DecapsulateRequest { + /** + * Required. The ciphertext produced from encapsulation with the named CryptoKeyVersion public key(s). + */ + ciphertext?: string | null; + /** + * Optional. A CRC32C checksum of the DecapsulateRequest.ciphertext. If specified, KeyManagementService will verify the integrity of the received DecapsulateRequest.ciphertext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(DecapsulateRequest.ciphertext) is equal to DecapsulateRequest.ciphertext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type. + */ + ciphertextCrc32c?: string | null; + } + /** + * Response message for KeyManagementService.Decapsulate. + */ + export interface Schema$DecapsulateResponse { + /** + * The resource name of the CryptoKeyVersion used for decapsulation. Check this field to verify that the intended resource was used for decapsulation. + */ + name?: string | null; + /** + * The ProtectionLevel of the CryptoKeyVersion used in decapsulation. + */ + protectionLevel?: string | null; + /** + * The decapsulated shared_secret originally encapsulated with the matching public key. + */ + sharedSecret?: string | null; + /** + * Integrity verification field. A CRC32C checksum of the returned DecapsulateResponse.shared_secret. An integrity check of DecapsulateResponse.shared_secret can be performed by computing the CRC32C checksum of DecapsulateResponse.shared_secret and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: receiving this response message indicates that KeyManagementService is able to successfully decrypt the ciphertext. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type. + */ + sharedSecretCrc32c?: string | null; + /** + * Integrity verification field. A flag indicating whether DecapsulateRequest.ciphertext_crc32c was received by KeyManagementService and used for the integrity verification of the ciphertext. A false value of this field indicates either that DecapsulateRequest.ciphertext_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set DecapsulateRequest.ciphertext_crc32c but this field is still false, discard the response and perform a limited number of retries. + */ + verifiedCiphertextCrc32c?: boolean | null; + } /** * Request message for KeyManagementService.Decrypt. */ @@ -9621,6 +9659,165 @@ export namespace cloudkms_v1 { } } + /** + * Decapsulates data that was encapsulated with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose KEY_ENCAPSULATION. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudkms.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudkms = google.cloudkms('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloudkms', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.decapsulate( + * { + * // Required. The resource name of the CryptoKeyVersion to use for decapsulation. + * name: 'projects/my-project/locations/my-location/keyRings/my-keyRing/cryptoKeys/my-cryptoKey/cryptoKeyVersions/my-cryptoKeyVersion', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "ciphertext": "my_ciphertext", + * // "ciphertextCrc32c": "my_ciphertextCrc32c" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "protectionLevel": "my_protectionLevel", + * // "sharedSecret": "my_sharedSecret", + * // "sharedSecretCrc32c": "my_sharedSecretCrc32c", + * // "verifiedCiphertextCrc32c": 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. + */ + decapsulate( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate, + options: StreamMethodOptions + ): Promise>; + decapsulate( + params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate, + options?: MethodOptions + ): Promise>; + decapsulate( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + decapsulate( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + decapsulate( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate, + callback: BodyResponseCallback + ): void; + decapsulate( + callback: BodyResponseCallback + ): void; + decapsulate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:decapsulate').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); + } + } + /** * Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process. * @example @@ -11458,6 +11655,18 @@ export namespace cloudkms_v1 { */ requestBody?: Schema$CryptoKeyVersion; } + export interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Decapsulate + extends StandardParameters { + /** + * Required. The resource name of the CryptoKeyVersion to use for decapsulation. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DecapsulateRequest; + } export interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy extends StandardParameters { /** From a639f2367598eb1d0a61cb99b03dbf7af9898f82 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 15/43] feat(cloudsupport): update the API #### cloudsupport:v2beta The following keys were added: - resources.cases.resources.attachments.methods.get.description - resources.cases.resources.attachments.methods.get.flatPath - resources.cases.resources.attachments.methods.get.httpMethod - resources.cases.resources.attachments.methods.get.id - resources.cases.resources.attachments.methods.get.parameterOrder - resources.cases.resources.attachments.methods.get.parameters.name.description - resources.cases.resources.attachments.methods.get.parameters.name.location - resources.cases.resources.attachments.methods.get.parameters.name.pattern - resources.cases.resources.attachments.methods.get.parameters.name.required - resources.cases.resources.attachments.methods.get.parameters.name.type - resources.cases.resources.attachments.methods.get.path - resources.cases.resources.attachments.methods.get.response.$ref - resources.cases.resources.attachments.methods.get.scopes - resources.cases.resources.comments.methods.get.description - resources.cases.resources.comments.methods.get.flatPath - resources.cases.resources.comments.methods.get.httpMethod - resources.cases.resources.comments.methods.get.id - resources.cases.resources.comments.methods.get.parameterOrder - resources.cases.resources.comments.methods.get.parameters.name.description - resources.cases.resources.comments.methods.get.parameters.name.location - resources.cases.resources.comments.methods.get.parameters.name.pattern - resources.cases.resources.comments.methods.get.parameters.name.required - resources.cases.resources.comments.methods.get.parameters.name.type - resources.cases.resources.comments.methods.get.path - resources.cases.resources.comments.methods.get.response.$ref - resources.cases.resources.comments.methods.get.scopes --- discovery/cloudsupport-v2beta.json | 52 +++++- src/apis/cloudsupport/v2beta.ts | 291 +++++++++++++++++++++++++++++ 2 files changed, 342 insertions(+), 1 deletion(-) diff --git a/discovery/cloudsupport-v2beta.json b/discovery/cloudsupport-v2beta.json index a57d7175fd..41469a76a5 100644 --- a/discovery/cloudsupport-v2beta.json +++ b/discovery/cloudsupport-v2beta.json @@ -439,6 +439,31 @@ "resources": { "attachments": { "methods": { + "get": { + "description": "Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment=\"projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$attachment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .get(name=\"projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB\") ) print(request.execute()) ```", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments/{attachmentsId}", + "httpMethod": "GET", + "id": "cloudsupport.cases.attachments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the attachment to get.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+/attachments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Attachment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/23598314\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case/attachments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments", @@ -507,6 +532,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "get": { + "description": "Retrieve a comment. EXAMPLES: cURL: ```shell comment=\"projects/some-project/cases/43595344/comments/234567890\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$comment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().comments().get( name=\"projects/some-project/cases/43595344/comments/234567890\", ) print(request.execute()) ```", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments/{commentsId}", + "httpMethod": "GET", + "id": "cloudsupport.cases.comments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the comment to retrieve.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+/comments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Comment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "List all the comments associated with a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case/comments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .comments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments", @@ -619,7 +669,7 @@ } } }, - "revision": "20250609", + "revision": "20250806", "rootUrl": "https://cloudsupport.googleapis.com/", "schemas": { "Actor": { diff --git a/src/apis/cloudsupport/v2beta.ts b/src/apis/cloudsupport/v2beta.ts index aa3d8f3736..9e251afcef 100644 --- a/src/apis/cloudsupport/v2beta.ts +++ b/src/apis/cloudsupport/v2beta.ts @@ -2363,6 +2363,145 @@ export namespace cloudsupport_v2beta { this.context = context; } + /** + * Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$attachment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version\}", ) request = ( supportApiService.cases() .attachments() .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") ) print(request.execute()) ``` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudsupport.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudsupport = google.cloudsupport('v2beta'); + * + * async function main() { + * const auth = new google.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 cloudsupport.cases.attachments.get({ + * // Required. The name of the attachment to get. + * name: '[^/]+/[^/]+/cases/my-case/attachments/my-attachment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": {}, + * // "filename": "my_filename", + * // "mimeType": "my_mimeType", + * // "name": "my_name", + * // "sizeBytes": "my_sizeBytes" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Cases$Attachments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Cases$Attachments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Cases$Attachments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Cases$Attachments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Cases$Attachments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Cases$Attachments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Cases$Attachments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Cases$Attachments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudsupport.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version\}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ``` * @example @@ -2508,6 +2647,13 @@ export namespace cloudsupport_v2beta { } } + export interface Params$Resource$Cases$Attachments$Get + extends StandardParameters { + /** + * Required. The name of the attachment to get. + */ + name?: string; + } export interface Params$Resource$Cases$Attachments$List extends StandardParameters { /** @@ -2683,6 +2829,144 @@ export namespace cloudsupport_v2beta { } } + /** + * Retrieve a comment. EXAMPLES: cURL: ```shell comment="projects/some-project/cases/43595344/comments/234567890" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$comment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version\}", ) request = supportApiService.cases().comments().get( name="projects/some-project/cases/43595344/comments/234567890", ) print(request.execute()) ``` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudsupport.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudsupport = google.cloudsupport('v2beta'); + * + * async function main() { + * const auth = new google.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 cloudsupport.cases.comments.get({ + * // Required. The name of the comment to retrieve. + * name: '[^/]+/[^/]+/cases/my-case/comments/my-comment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "body": "my_body", + * // "createTime": "my_createTime", + * // "creator": {}, + * // "name": "my_name", + * // "plainTextBody": "my_plainTextBody" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Cases$Comments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Cases$Comments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Cases$Comments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Cases$Comments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Cases$Comments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Cases$Comments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Cases$Comments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Cases$Comments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudsupport.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version\}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ``` * @example @@ -2840,6 +3124,13 @@ export namespace cloudsupport_v2beta { */ requestBody?: Schema$Comment; } + export interface Params$Resource$Cases$Comments$Get + extends StandardParameters { + /** + * Required. The name of the comment to retrieve. + */ + name?: string; + } export interface Params$Resource$Cases$Comments$List extends StandardParameters { /** From cb38e2b7a5f27331c177c25ebb6eae84d6a5344d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:11 +0000 Subject: [PATCH 16/43] feat(compute): update the API #### compute:alpha The following keys were added: - resources.haControllers.methods.delete.description - resources.haControllers.methods.delete.flatPath - resources.haControllers.methods.delete.httpMethod - resources.haControllers.methods.delete.id - resources.haControllers.methods.delete.parameterOrder - resources.haControllers.methods.delete.parameters.haController.description - resources.haControllers.methods.delete.parameters.haController.location - resources.haControllers.methods.delete.parameters.haController.required - resources.haControllers.methods.delete.parameters.haController.type - resources.haControllers.methods.delete.parameters.project.description - resources.haControllers.methods.delete.parameters.project.location - resources.haControllers.methods.delete.parameters.project.pattern - resources.haControllers.methods.delete.parameters.project.required - resources.haControllers.methods.delete.parameters.project.type - resources.haControllers.methods.delete.parameters.region.description - resources.haControllers.methods.delete.parameters.region.location - resources.haControllers.methods.delete.parameters.region.pattern - resources.haControllers.methods.delete.parameters.region.required - resources.haControllers.methods.delete.parameters.region.type - resources.haControllers.methods.delete.parameters.requestId.description - resources.haControllers.methods.delete.parameters.requestId.location - resources.haControllers.methods.delete.parameters.requestId.type - resources.haControllers.methods.delete.path - resources.haControllers.methods.delete.response.$ref - resources.haControllers.methods.delete.scopes - resources.haControllers.methods.get.description - resources.haControllers.methods.get.flatPath - resources.haControllers.methods.get.httpMethod - resources.haControllers.methods.get.id - resources.haControllers.methods.get.parameterOrder - resources.haControllers.methods.get.parameters.haController.description - resources.haControllers.methods.get.parameters.haController.location - resources.haControllers.methods.get.parameters.haController.pattern - resources.haControllers.methods.get.parameters.haController.required - resources.haControllers.methods.get.parameters.haController.type - resources.haControllers.methods.get.parameters.project.description - resources.haControllers.methods.get.parameters.project.location - resources.haControllers.methods.get.parameters.project.pattern - resources.haControllers.methods.get.parameters.project.required - resources.haControllers.methods.get.parameters.project.type - resources.haControllers.methods.get.parameters.region.description - resources.haControllers.methods.get.parameters.region.location - resources.haControllers.methods.get.parameters.region.pattern - resources.haControllers.methods.get.parameters.region.required - resources.haControllers.methods.get.parameters.region.type - resources.haControllers.methods.get.path - resources.haControllers.methods.get.response.$ref - resources.haControllers.methods.get.scopes - resources.haControllers.methods.insert.description - resources.haControllers.methods.insert.flatPath - resources.haControllers.methods.insert.httpMethod - resources.haControllers.methods.insert.id - resources.haControllers.methods.insert.parameterOrder - resources.haControllers.methods.insert.parameters.project.description - resources.haControllers.methods.insert.parameters.project.location - resources.haControllers.methods.insert.parameters.project.pattern - resources.haControllers.methods.insert.parameters.project.required - resources.haControllers.methods.insert.parameters.project.type - resources.haControllers.methods.insert.parameters.region.description - resources.haControllers.methods.insert.parameters.region.location - resources.haControllers.methods.insert.parameters.region.pattern - resources.haControllers.methods.insert.parameters.region.required - resources.haControllers.methods.insert.parameters.region.type - resources.haControllers.methods.insert.parameters.requestId.description - resources.haControllers.methods.insert.parameters.requestId.location - resources.haControllers.methods.insert.parameters.requestId.type - resources.haControllers.methods.insert.path - resources.haControllers.methods.insert.request.$ref - resources.haControllers.methods.insert.response.$ref - resources.haControllers.methods.insert.scopes - resources.haControllers.methods.list.description - resources.haControllers.methods.list.flatPath - resources.haControllers.methods.list.httpMethod - resources.haControllers.methods.list.id - resources.haControllers.methods.list.parameterOrder - resources.haControllers.methods.list.parameters.filter.description - resources.haControllers.methods.list.parameters.filter.location - resources.haControllers.methods.list.parameters.filter.type - resources.haControllers.methods.list.parameters.maxResults.default - resources.haControllers.methods.list.parameters.maxResults.description - resources.haControllers.methods.list.parameters.maxResults.format - resources.haControllers.methods.list.parameters.maxResults.location - resources.haControllers.methods.list.parameters.maxResults.minimum - resources.haControllers.methods.list.parameters.maxResults.type - resources.haControllers.methods.list.parameters.orderBy.description - resources.haControllers.methods.list.parameters.orderBy.location - resources.haControllers.methods.list.parameters.orderBy.type - resources.haControllers.methods.list.parameters.pageToken.description - resources.haControllers.methods.list.parameters.pageToken.location - resources.haControllers.methods.list.parameters.pageToken.type - resources.haControllers.methods.list.parameters.project.description - resources.haControllers.methods.list.parameters.project.location - resources.haControllers.methods.list.parameters.project.pattern - resources.haControllers.methods.list.parameters.project.required - resources.haControllers.methods.list.parameters.project.type - resources.haControllers.methods.list.parameters.region.description - resources.haControllers.methods.list.parameters.region.location - resources.haControllers.methods.list.parameters.region.pattern - resources.haControllers.methods.list.parameters.region.required - resources.haControllers.methods.list.parameters.region.type - resources.haControllers.methods.list.parameters.returnPartialSuccess.description - resources.haControllers.methods.list.parameters.returnPartialSuccess.location - resources.haControllers.methods.list.parameters.returnPartialSuccess.type - resources.haControllers.methods.list.path - resources.haControllers.methods.list.response.$ref - resources.haControllers.methods.list.scopes - resources.haControllers.methods.patch.description - resources.haControllers.methods.patch.flatPath - resources.haControllers.methods.patch.httpMethod - resources.haControllers.methods.patch.id - resources.haControllers.methods.patch.parameterOrder - resources.haControllers.methods.patch.parameters.haController.description - resources.haControllers.methods.patch.parameters.haController.location - resources.haControllers.methods.patch.parameters.haController.pattern - resources.haControllers.methods.patch.parameters.haController.required - resources.haControllers.methods.patch.parameters.haController.type - resources.haControllers.methods.patch.parameters.project.description - resources.haControllers.methods.patch.parameters.project.location - resources.haControllers.methods.patch.parameters.project.pattern - resources.haControllers.methods.patch.parameters.project.required - resources.haControllers.methods.patch.parameters.project.type - resources.haControllers.methods.patch.parameters.region.description - resources.haControllers.methods.patch.parameters.region.location - resources.haControllers.methods.patch.parameters.region.pattern - resources.haControllers.methods.patch.parameters.region.required - resources.haControllers.methods.patch.parameters.region.type - resources.haControllers.methods.patch.parameters.requestId.description - resources.haControllers.methods.patch.parameters.requestId.location - resources.haControllers.methods.patch.parameters.requestId.type - resources.haControllers.methods.patch.parameters.updateMask.description - resources.haControllers.methods.patch.parameters.updateMask.format - resources.haControllers.methods.patch.parameters.updateMask.location - resources.haControllers.methods.patch.parameters.updateMask.type - resources.haControllers.methods.patch.path - resources.haControllers.methods.patch.request.$ref - resources.haControllers.methods.patch.response.$ref - resources.haControllers.methods.patch.scopes - resources.regionHealthAggregationPolicies.methods.aggregatedList.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.flatPath - resources.regionHealthAggregationPolicies.methods.aggregatedList.httpMethod - resources.regionHealthAggregationPolicies.methods.aggregatedList.id - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameterOrder - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.filter.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.filter.location - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.filter.type - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.includeAllScopes.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.includeAllScopes.location - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.includeAllScopes.type - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.maxResults.default - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.maxResults.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.maxResults.format - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.maxResults.location - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.maxResults.minimum - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.maxResults.type - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.orderBy.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.orderBy.location - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.orderBy.type - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.pageToken.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.pageToken.location - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.pageToken.type - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.project.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.project.location - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.project.pattern - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.project.required - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.project.type - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.returnPartialSuccess.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.returnPartialSuccess.location - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.returnPartialSuccess.type - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.serviceProjectNumber.description - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.serviceProjectNumber.format - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.serviceProjectNumber.location - resources.regionHealthAggregationPolicies.methods.aggregatedList.parameters.serviceProjectNumber.type - resources.regionHealthAggregationPolicies.methods.aggregatedList.path - resources.regionHealthAggregationPolicies.methods.aggregatedList.response.$ref - resources.regionHealthAggregationPolicies.methods.aggregatedList.scopes - resources.reservationSubBlocks.methods.reportFaulty.description - resources.reservationSubBlocks.methods.reportFaulty.flatPath - resources.reservationSubBlocks.methods.reportFaulty.httpMethod - resources.reservationSubBlocks.methods.reportFaulty.id - resources.reservationSubBlocks.methods.reportFaulty.parameterOrder - resources.reservationSubBlocks.methods.reportFaulty.parameters.parentName.description - resources.reservationSubBlocks.methods.reportFaulty.parameters.parentName.location - resources.reservationSubBlocks.methods.reportFaulty.parameters.parentName.required - resources.reservationSubBlocks.methods.reportFaulty.parameters.parentName.type - resources.reservationSubBlocks.methods.reportFaulty.parameters.project.description - resources.reservationSubBlocks.methods.reportFaulty.parameters.project.location - resources.reservationSubBlocks.methods.reportFaulty.parameters.project.required - resources.reservationSubBlocks.methods.reportFaulty.parameters.project.type - resources.reservationSubBlocks.methods.reportFaulty.parameters.requestId.description - resources.reservationSubBlocks.methods.reportFaulty.parameters.requestId.location - resources.reservationSubBlocks.methods.reportFaulty.parameters.requestId.type - resources.reservationSubBlocks.methods.reportFaulty.parameters.reservationSubBlock.description - resources.reservationSubBlocks.methods.reportFaulty.parameters.reservationSubBlock.location - resources.reservationSubBlocks.methods.reportFaulty.parameters.reservationSubBlock.required - resources.reservationSubBlocks.methods.reportFaulty.parameters.reservationSubBlock.type - resources.reservationSubBlocks.methods.reportFaulty.parameters.zone.description - resources.reservationSubBlocks.methods.reportFaulty.parameters.zone.location - resources.reservationSubBlocks.methods.reportFaulty.parameters.zone.required - resources.reservationSubBlocks.methods.reportFaulty.parameters.zone.type - resources.reservationSubBlocks.methods.reportFaulty.path - resources.reservationSubBlocks.methods.reportFaulty.request.$ref - resources.reservationSubBlocks.methods.reportFaulty.response.$ref - resources.reservationSubBlocks.methods.reportFaulty.scopes - schemas.AllocationAggregateReservation.properties.hostCount.description - schemas.AllocationAggregateReservation.properties.hostCount.format - schemas.AllocationAggregateReservation.properties.hostCount.type - schemas.AllocationAggregateReservation.properties.inUseHostCount.description - schemas.AllocationAggregateReservation.properties.inUseHostCount.format - schemas.AllocationAggregateReservation.properties.inUseHostCount.type - schemas.AllocationAggregateReservation.properties.inUseInstanceCount.description - schemas.AllocationAggregateReservation.properties.inUseInstanceCount.format - schemas.AllocationAggregateReservation.properties.inUseInstanceCount.type - schemas.Backend.properties.maxInFlightRequests.description - schemas.Backend.properties.maxInFlightRequests.format - schemas.Backend.properties.maxInFlightRequests.type - schemas.Backend.properties.maxInFlightRequestsPerEndpoint.description - schemas.Backend.properties.maxInFlightRequestsPerEndpoint.format - schemas.Backend.properties.maxInFlightRequestsPerEndpoint.type - schemas.Backend.properties.maxInFlightRequestsPerInstance.description - schemas.Backend.properties.maxInFlightRequestsPerInstance.format - schemas.Backend.properties.maxInFlightRequestsPerInstance.type - schemas.Backend.properties.trafficDuration.enum - schemas.Backend.properties.trafficDuration.enumDescriptions - schemas.Backend.properties.trafficDuration.type - schemas.ExternalVpnGateway.properties.params.$ref - schemas.ExternalVpnGateway.properties.params.description - schemas.ExternalVpnGatewayParams.id - schemas.ExternalVpnGatewayParams.properties.resourceManagerTags.additionalProperties.type - schemas.ExternalVpnGatewayParams.properties.resourceManagerTags.description - schemas.ExternalVpnGatewayParams.properties.resourceManagerTags.type - schemas.ExternalVpnGatewayParams.type - schemas.FutureReservation.properties.protectionTier.description - schemas.FutureReservation.properties.protectionTier.enum - schemas.FutureReservation.properties.protectionTier.enumDescriptions - schemas.FutureReservation.properties.protectionTier.type - schemas.HaController.description - schemas.HaController.id - schemas.HaController.properties.creationTimestamp.description - schemas.HaController.properties.creationTimestamp.type - schemas.HaController.properties.description.description - schemas.HaController.properties.description.type - schemas.HaController.properties.failoverInitiation.description - schemas.HaController.properties.failoverInitiation.enum - schemas.HaController.properties.failoverInitiation.enumDescriptions - schemas.HaController.properties.failoverInitiation.type - schemas.HaController.properties.id.description - schemas.HaController.properties.id.format - schemas.HaController.properties.id.type - schemas.HaController.properties.instanceName.description - schemas.HaController.properties.instanceName.pattern - schemas.HaController.properties.instanceName.type - schemas.HaController.properties.kind.default - schemas.HaController.properties.kind.description - schemas.HaController.properties.kind.type - schemas.HaController.properties.name.description - schemas.HaController.properties.name.pattern - schemas.HaController.properties.name.type - schemas.HaController.properties.region.description - schemas.HaController.properties.region.type - schemas.HaController.properties.secondaryZoneCapacity.description - schemas.HaController.properties.secondaryZoneCapacity.enum - schemas.HaController.properties.secondaryZoneCapacity.enumDescriptions - schemas.HaController.properties.secondaryZoneCapacity.type - schemas.HaController.properties.selfLink.description - schemas.HaController.properties.selfLink.type - schemas.HaController.properties.selfLinkWithId.description - schemas.HaController.properties.selfLinkWithId.type - schemas.HaController.properties.status.$ref - schemas.HaController.properties.status.description - schemas.HaController.properties.zoneConfigurations.additionalProperties.$ref - schemas.HaController.properties.zoneConfigurations.description - schemas.HaController.properties.zoneConfigurations.type - schemas.HaController.type - schemas.HaControllerStatus.description - schemas.HaControllerStatus.id - schemas.HaControllerStatus.properties.failoverProgress.$ref - schemas.HaControllerStatus.properties.failoverProgress.description - schemas.HaControllerStatus.properties.ongoingFailover.description - schemas.HaControllerStatus.properties.ongoingFailover.type - schemas.HaControllerStatus.properties.primaryInstance.description - schemas.HaControllerStatus.properties.primaryInstance.type - schemas.HaControllerStatus.properties.primaryZone.description - schemas.HaControllerStatus.properties.primaryZone.type - schemas.HaControllerStatus.properties.readyForFailover.description - schemas.HaControllerStatus.properties.readyForFailover.type - schemas.HaControllerStatus.properties.zoneStatus.additionalProperties.$ref - schemas.HaControllerStatus.properties.zoneStatus.description - schemas.HaControllerStatus.properties.zoneStatus.type - schemas.HaControllerStatus.type - schemas.HaControllerStatusFailoverProgress.description - schemas.HaControllerStatusFailoverProgress.id - schemas.HaControllerStatusFailoverProgress.properties.failoverTrigger.description - schemas.HaControllerStatusFailoverProgress.properties.failoverTrigger.enum - schemas.HaControllerStatusFailoverProgress.properties.failoverTrigger.enumDescriptions - schemas.HaControllerStatusFailoverProgress.properties.failoverTrigger.type - schemas.HaControllerStatusFailoverProgress.properties.failoverTriggerTimestamp.description - schemas.HaControllerStatusFailoverProgress.properties.failoverTriggerTimestamp.format - schemas.HaControllerStatusFailoverProgress.properties.failoverTriggerTimestamp.type - schemas.HaControllerStatusFailoverProgress.properties.lastFailoverAttempt.$ref - schemas.HaControllerStatusFailoverProgress.properties.lastFailoverAttempt.description - schemas.HaControllerStatusFailoverProgress.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.id - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.description - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.description - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.code.description - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.code.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.errorDetails.description - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.errorDetails.items.properties.errorInfo.$ref - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.errorDetails.items.properties.help.$ref - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.errorDetails.items.properties.localizedMessage.$ref - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.errorDetails.items.properties.quotaInfo.$ref - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.errorDetails.items.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.errorDetails.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.location.description - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.location.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.message.description - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.properties.message.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.items.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.properties.errors.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.errors.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.timestamp.description - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.timestamp.format - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.properties.timestamp.type - schemas.HaControllerStatusFailoverProgressLastFailoverAttempt.type - schemas.HaControllerStatusZoneStatus.description - schemas.HaControllerStatusZoneStatus.id - schemas.HaControllerStatusZoneStatus.properties.isPrimary.description - schemas.HaControllerStatusZoneStatus.properties.isPrimary.type - schemas.HaControllerStatusZoneStatus.properties.isZoneReady.description - schemas.HaControllerStatusZoneStatus.properties.isZoneReady.type - schemas.HaControllerStatusZoneStatus.properties.lastError.$ref - schemas.HaControllerStatusZoneStatus.properties.lastError.description - schemas.HaControllerStatusZoneStatus.type - schemas.HaControllerStatusZoneStatusLastError.description - schemas.HaControllerStatusZoneStatusLastError.id - schemas.HaControllerStatusZoneStatusLastError.properties.errors.description - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.description - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.code.description - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.code.type - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.errorDetails.description - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.errorDetails.items.properties.errorInfo.$ref - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.errorDetails.items.properties.help.$ref - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.errorDetails.items.properties.localizedMessage.$ref - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.errorDetails.items.properties.quotaInfo.$ref - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.errorDetails.items.type - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.errorDetails.type - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.location.description - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.location.type - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.message.description - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.properties.message.type - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.items.type - schemas.HaControllerStatusZoneStatusLastError.properties.errors.properties.errors.type - schemas.HaControllerStatusZoneStatusLastError.properties.errors.type - schemas.HaControllerStatusZoneStatusLastError.properties.timestamp.description - schemas.HaControllerStatusZoneStatusLastError.properties.timestamp.format - schemas.HaControllerStatusZoneStatusLastError.properties.timestamp.type - schemas.HaControllerStatusZoneStatusLastError.type - schemas.HaControllerZoneConfiguration.description - schemas.HaControllerZoneConfiguration.id - schemas.HaControllerZoneConfiguration.properties.nodeAffinities.description - schemas.HaControllerZoneConfiguration.properties.nodeAffinities.items.$ref - schemas.HaControllerZoneConfiguration.properties.nodeAffinities.type - schemas.HaControllerZoneConfiguration.properties.reservationAffinity.$ref - schemas.HaControllerZoneConfiguration.properties.reservationAffinity.description - schemas.HaControllerZoneConfiguration.type - schemas.HaControllerZoneConfigurationNodeAffinity.description - schemas.HaControllerZoneConfigurationNodeAffinity.id - schemas.HaControllerZoneConfigurationNodeAffinity.properties.key.description - schemas.HaControllerZoneConfigurationNodeAffinity.properties.key.type - schemas.HaControllerZoneConfigurationNodeAffinity.properties.operator.description - schemas.HaControllerZoneConfigurationNodeAffinity.properties.operator.enum - schemas.HaControllerZoneConfigurationNodeAffinity.properties.operator.enumDescriptions - schemas.HaControllerZoneConfigurationNodeAffinity.properties.operator.type - schemas.HaControllerZoneConfigurationNodeAffinity.properties.values.description - schemas.HaControllerZoneConfigurationNodeAffinity.properties.values.items.type - schemas.HaControllerZoneConfigurationNodeAffinity.properties.values.type - schemas.HaControllerZoneConfigurationNodeAffinity.type - schemas.HaControllerZoneConfigurationReservationAffinity.description - schemas.HaControllerZoneConfigurationReservationAffinity.id - schemas.HaControllerZoneConfigurationReservationAffinity.properties.consumeReservationType.description - schemas.HaControllerZoneConfigurationReservationAffinity.properties.consumeReservationType.enum - schemas.HaControllerZoneConfigurationReservationAffinity.properties.consumeReservationType.enumDescriptions - schemas.HaControllerZoneConfigurationReservationAffinity.properties.consumeReservationType.type - schemas.HaControllerZoneConfigurationReservationAffinity.properties.key.description - schemas.HaControllerZoneConfigurationReservationAffinity.properties.key.type - schemas.HaControllerZoneConfigurationReservationAffinity.properties.values.description - schemas.HaControllerZoneConfigurationReservationAffinity.properties.values.items.type - schemas.HaControllerZoneConfigurationReservationAffinity.properties.values.type - schemas.HaControllerZoneConfigurationReservationAffinity.type - schemas.HaControllersList.id - schemas.HaControllersList.properties.etag.type - schemas.HaControllersList.properties.id.description - schemas.HaControllersList.properties.id.type - schemas.HaControllersList.properties.items.description - schemas.HaControllersList.properties.items.items.$ref - schemas.HaControllersList.properties.items.type - schemas.HaControllersList.properties.nextPageToken.description - schemas.HaControllersList.properties.nextPageToken.type - schemas.HaControllersList.properties.selfLink.description - schemas.HaControllersList.properties.selfLink.type - schemas.HaControllersList.properties.unreachables.description - schemas.HaControllersList.properties.unreachables.items.type - schemas.HaControllersList.properties.unreachables.type - schemas.HaControllersList.properties.warning.description - schemas.HaControllersList.properties.warning.properties.code.description - schemas.HaControllersList.properties.warning.properties.code.enum - schemas.HaControllersList.properties.warning.properties.code.enumDeprecated - schemas.HaControllersList.properties.warning.properties.code.enumDescriptions - schemas.HaControllersList.properties.warning.properties.code.type - schemas.HaControllersList.properties.warning.properties.data.description - schemas.HaControllersList.properties.warning.properties.data.items.properties.key.description - schemas.HaControllersList.properties.warning.properties.data.items.properties.key.type - schemas.HaControllersList.properties.warning.properties.data.items.properties.value.description - schemas.HaControllersList.properties.warning.properties.data.items.properties.value.type - schemas.HaControllersList.properties.warning.properties.data.items.type - schemas.HaControllersList.properties.warning.properties.data.type - schemas.HaControllersList.properties.warning.properties.message.description - schemas.HaControllersList.properties.warning.properties.message.type - schemas.HaControllersList.properties.warning.type - schemas.HaControllersList.type - schemas.HealthAggregationPoliciesScopedList.id - schemas.HealthAggregationPoliciesScopedList.properties.healthAggregationPolicies.description - schemas.HealthAggregationPoliciesScopedList.properties.healthAggregationPolicies.items.$ref - schemas.HealthAggregationPoliciesScopedList.properties.healthAggregationPolicies.type - schemas.HealthAggregationPoliciesScopedList.properties.warning.description - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.code.description - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.code.enum - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.code.enumDeprecated - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.code.enumDescriptions - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.code.type - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.data.description - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.data.items.properties.key.description - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.data.items.properties.key.type - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.data.items.properties.value.description - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.data.items.properties.value.type - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.data.items.type - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.data.type - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.message.description - schemas.HealthAggregationPoliciesScopedList.properties.warning.properties.message.type - schemas.HealthAggregationPoliciesScopedList.properties.warning.type - schemas.HealthAggregationPoliciesScopedList.type - schemas.HealthAggregationPolicyAggregatedList.description - schemas.HealthAggregationPolicyAggregatedList.id - schemas.HealthAggregationPolicyAggregatedList.properties.id.description - schemas.HealthAggregationPolicyAggregatedList.properties.id.type - schemas.HealthAggregationPolicyAggregatedList.properties.items.additionalProperties.$ref - schemas.HealthAggregationPolicyAggregatedList.properties.items.additionalProperties.description - schemas.HealthAggregationPolicyAggregatedList.properties.items.description - schemas.HealthAggregationPolicyAggregatedList.properties.items.type - schemas.HealthAggregationPolicyAggregatedList.properties.kind.default - schemas.HealthAggregationPolicyAggregatedList.properties.kind.description - schemas.HealthAggregationPolicyAggregatedList.properties.kind.type - schemas.HealthAggregationPolicyAggregatedList.properties.nextPageToken.description - schemas.HealthAggregationPolicyAggregatedList.properties.nextPageToken.type - schemas.HealthAggregationPolicyAggregatedList.properties.selfLink.description - schemas.HealthAggregationPolicyAggregatedList.properties.selfLink.type - schemas.HealthAggregationPolicyAggregatedList.properties.unreachables.description - schemas.HealthAggregationPolicyAggregatedList.properties.unreachables.items.type - schemas.HealthAggregationPolicyAggregatedList.properties.unreachables.type - schemas.HealthAggregationPolicyAggregatedList.properties.warning.description - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.code.description - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.code.enum - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.code.enumDeprecated - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.code.enumDescriptions - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.code.type - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.data.description - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.data.items.properties.key.description - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.data.items.properties.key.type - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.data.items.properties.value.description - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.data.items.properties.value.type - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.data.items.type - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.data.type - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.message.description - schemas.HealthAggregationPolicyAggregatedList.properties.warning.properties.message.type - schemas.HealthAggregationPolicyAggregatedList.properties.warning.type - schemas.HealthAggregationPolicyAggregatedList.type - schemas.MultiMigStatus.properties.appliedAcceleratorTopologies.description - schemas.MultiMigStatus.properties.appliedAcceleratorTopologies.items.$ref - schemas.MultiMigStatus.properties.appliedAcceleratorTopologies.type - schemas.MultiMigStatusAcceleratorTopology.id - schemas.MultiMigStatusAcceleratorTopology.properties.acceleratorTopology.description - schemas.MultiMigStatusAcceleratorTopology.properties.acceleratorTopology.type - schemas.MultiMigStatusAcceleratorTopology.properties.acceleratorTopologyState.description - schemas.MultiMigStatusAcceleratorTopology.properties.acceleratorTopologyState.enum - schemas.MultiMigStatusAcceleratorTopology.properties.acceleratorTopologyState.enumDescriptions - schemas.MultiMigStatusAcceleratorTopology.properties.acceleratorTopologyState.type - schemas.MultiMigStatusAcceleratorTopology.properties.acceleratorTopologyStateLastCheck.$ref - schemas.MultiMigStatusAcceleratorTopology.properties.acceleratorTopologyStateLastCheck.description - schemas.MultiMigStatusAcceleratorTopology.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.id - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.description - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.description - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.code.description - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.code.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.errorDetails.description - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.errorDetails.items.properties.errorInfo.$ref - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.errorDetails.items.properties.help.$ref - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.errorDetails.items.properties.localizedMessage.$ref - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.errorDetails.items.properties.quotaInfo.$ref - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.errorDetails.items.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.errorDetails.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.location.description - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.location.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.message.description - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.properties.message.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.items.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.properties.errors.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.error.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.timestamp.description - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.timestamp.format - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.properties.timestamp.type - schemas.MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck.type - schemas.NetworkProfileNetworkFeatures.properties.allowFirewallPolicy.description - schemas.NetworkProfileNetworkFeatures.properties.allowFirewallPolicy.enum - schemas.NetworkProfileNetworkFeatures.properties.allowFirewallPolicy.enumDescriptions - schemas.NetworkProfileNetworkFeatures.properties.allowFirewallPolicy.type - schemas.NetworkProfileNetworkFeatures.properties.allowVpcFirewallRules.description - schemas.NetworkProfileNetworkFeatures.properties.allowVpcFirewallRules.enum - schemas.NetworkProfileNetworkFeatures.properties.allowVpcFirewallRules.enumDescriptions - schemas.NetworkProfileNetworkFeatures.properties.allowVpcFirewallRules.type - schemas.NetworkProfileNetworkFeatures.properties.firewallPolicyTypes.items.enum - schemas.NetworkProfileNetworkFeatures.properties.firewallPolicyTypes.items.enumDescriptions - schemas.NetworkProfileNetworkFeatures.properties.firewallPolicyTypes.items.type - schemas.NetworkProfileNetworkFeatures.properties.firewallPolicyTypes.type - schemas.ReservationBlock.properties.inUseHostCount.description - schemas.ReservationBlock.properties.inUseHostCount.format - schemas.ReservationBlock.properties.inUseHostCount.type - schemas.ReservationSubBlock.properties.inUseHostCount.description - schemas.ReservationSubBlock.properties.inUseHostCount.format - schemas.ReservationSubBlock.properties.inUseHostCount.type - schemas.ReservationSubBlocksReportFaultyRequest.id - schemas.ReservationSubBlocksReportFaultyRequest.properties.disruptionSchedule.description - schemas.ReservationSubBlocksReportFaultyRequest.properties.disruptionSchedule.enum - schemas.ReservationSubBlocksReportFaultyRequest.properties.disruptionSchedule.enumDescriptions - schemas.ReservationSubBlocksReportFaultyRequest.properties.disruptionSchedule.type - schemas.ReservationSubBlocksReportFaultyRequest.properties.failureComponent.description - schemas.ReservationSubBlocksReportFaultyRequest.properties.failureComponent.enum - schemas.ReservationSubBlocksReportFaultyRequest.properties.failureComponent.enumDescriptions - schemas.ReservationSubBlocksReportFaultyRequest.properties.failureComponent.type - schemas.ReservationSubBlocksReportFaultyRequest.properties.faultReasons.description - schemas.ReservationSubBlocksReportFaultyRequest.properties.faultReasons.items.$ref - schemas.ReservationSubBlocksReportFaultyRequest.properties.faultReasons.type - schemas.ReservationSubBlocksReportFaultyRequest.type - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.description - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.id - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.properties.behavior.description - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.properties.behavior.enum - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.properties.behavior.enumDescriptions - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.properties.behavior.type - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.properties.description.description - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.properties.description.type - schemas.ReservationSubBlocksReportFaultyRequestFaultReason.type - schemas.ResourcePolicy.properties.workloadPolicy.description - schemas.ResourcePolicyWorkloadPolicy.properties.acceleratorTopology.description - schemas.ResourcePolicyWorkloadPolicy.properties.maxTopologyDistance.description - schemas.ResourcePolicyWorkloadPolicy.properties.type.description - schemas.ResourceStatus.properties.consumedReservation.deprecated - schemas.ResourceStatus.properties.consumedReservationBlock.deprecated - schemas.TargetVpnGateway.properties.params.$ref - schemas.TargetVpnGateway.properties.params.description - schemas.TargetVpnGatewayParams.id - schemas.TargetVpnGatewayParams.properties.resourceManagerTags.additionalProperties.type - schemas.TargetVpnGatewayParams.properties.resourceManagerTags.description - schemas.TargetVpnGatewayParams.properties.resourceManagerTags.type - schemas.TargetVpnGatewayParams.type - schemas.VpnGateway.properties.params.$ref - schemas.VpnGateway.properties.params.description - schemas.VpnGatewayParams.id - schemas.VpnGatewayParams.properties.resourceManagerTags.additionalProperties.type - schemas.VpnGatewayParams.properties.resourceManagerTags.description - schemas.VpnGatewayParams.properties.resourceManagerTags.type - schemas.VpnGatewayParams.type - schemas.VpnTunnel.properties.params.$ref - schemas.VpnTunnel.properties.params.description - schemas.VpnTunnelParams.id - schemas.VpnTunnelParams.properties.resourceManagerTags.additionalProperties.type - schemas.VpnTunnelParams.properties.resourceManagerTags.description - schemas.VpnTunnelParams.properties.resourceManagerTags.type - schemas.VpnTunnelParams.type The following keys were changed: - schemas.AllocationAggregateReservation.properties.vmFamily.enum - schemas.AllocationAggregateReservation.properties.vmFamily.enumDescriptions - schemas.Backend.properties.balancingMode.enum - schemas.Backend.properties.balancingMode.enumDescriptions - schemas.CapacityAdviceResponse.properties.recommendations.description - schemas.FutureResourcesSpecAggregateResources.properties.vmFamily.enum - schemas.FutureResourcesSpecAggregateResources.properties.vmFamily.enumDescriptions - schemas.ResourcePolicyWorkloadPolicy.properties.type.enumDescriptions #### compute:beta The following keys were added: - schemas.Backend.properties.maxInFlightRequests.description - schemas.Backend.properties.maxInFlightRequests.format - schemas.Backend.properties.maxInFlightRequests.type - schemas.Backend.properties.maxInFlightRequestsPerEndpoint.description - schemas.Backend.properties.maxInFlightRequestsPerEndpoint.format - schemas.Backend.properties.maxInFlightRequestsPerEndpoint.type - schemas.Backend.properties.maxInFlightRequestsPerInstance.description - schemas.Backend.properties.maxInFlightRequestsPerInstance.format - schemas.Backend.properties.maxInFlightRequestsPerInstance.type - schemas.Backend.properties.trafficDuration.enum - schemas.Backend.properties.trafficDuration.enumDescriptions - schemas.Backend.properties.trafficDuration.type - schemas.ManagedInstance.properties.scheduling.$ref - schemas.ManagedInstance.properties.scheduling.description - schemas.ManagedInstanceScheduling.id - schemas.ManagedInstanceScheduling.properties.terminationTimestamp.description - schemas.ManagedInstanceScheduling.properties.terminationTimestamp.format - schemas.ManagedInstanceScheduling.properties.terminationTimestamp.type - schemas.ManagedInstanceScheduling.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.ResourcePolicy.properties.workloadPolicy.description - schemas.ResourcePolicyWorkloadPolicy.properties.acceleratorTopology.description - schemas.ResourcePolicyWorkloadPolicy.properties.maxTopologyDistance.description - schemas.ResourcePolicyWorkloadPolicy.properties.type.description The following keys were changed: - schemas.Backend.properties.balancingMode.enum - schemas.Backend.properties.balancingMode.enumDescriptions - schemas.ResourcePolicyWorkloadPolicy.properties.type.enumDescriptions #### compute:v1 The following keys were added: - resources.networks.methods.requestRemovePeering.description - resources.networks.methods.requestRemovePeering.flatPath - resources.networks.methods.requestRemovePeering.httpMethod - resources.networks.methods.requestRemovePeering.id - resources.networks.methods.requestRemovePeering.parameterOrder - resources.networks.methods.requestRemovePeering.parameters.network.description - resources.networks.methods.requestRemovePeering.parameters.network.location - resources.networks.methods.requestRemovePeering.parameters.network.pattern - resources.networks.methods.requestRemovePeering.parameters.network.required - resources.networks.methods.requestRemovePeering.parameters.network.type - resources.networks.methods.requestRemovePeering.parameters.project.description - resources.networks.methods.requestRemovePeering.parameters.project.location - resources.networks.methods.requestRemovePeering.parameters.project.pattern - resources.networks.methods.requestRemovePeering.parameters.project.required - resources.networks.methods.requestRemovePeering.parameters.project.type - resources.networks.methods.requestRemovePeering.parameters.requestId.description - resources.networks.methods.requestRemovePeering.parameters.requestId.location - resources.networks.methods.requestRemovePeering.parameters.requestId.type - resources.networks.methods.requestRemovePeering.path - resources.networks.methods.requestRemovePeering.request.$ref - resources.networks.methods.requestRemovePeering.response.$ref - resources.networks.methods.requestRemovePeering.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.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.Interconnect.properties.aaiEnabled.description - schemas.Interconnect.properties.aaiEnabled.type - schemas.Interconnect.properties.applicationAwareInterconnect.$ref - schemas.Interconnect.properties.applicationAwareInterconnect.description - schemas.InterconnectApplicationAwareInterconnect.description - schemas.InterconnectApplicationAwareInterconnect.id - schemas.InterconnectApplicationAwareInterconnect.properties.bandwidthPercentagePolicy.$ref - schemas.InterconnectApplicationAwareInterconnect.properties.profileDescription.description - schemas.InterconnectApplicationAwareInterconnect.properties.profileDescription.type - schemas.InterconnectApplicationAwareInterconnect.properties.shapeAveragePercentages.description - schemas.InterconnectApplicationAwareInterconnect.properties.shapeAveragePercentages.items.$ref - schemas.InterconnectApplicationAwareInterconnect.properties.shapeAveragePercentages.type - schemas.InterconnectApplicationAwareInterconnect.properties.strictPriorityPolicy.$ref - schemas.InterconnectApplicationAwareInterconnect.type - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.description - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.id - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.properties.percentage.description - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.properties.percentage.format - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.properties.percentage.type - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.properties.trafficClass.description - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.properties.trafficClass.enum - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.properties.trafficClass.enumDescriptions - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.properties.trafficClass.type - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentage.type - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy.id - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy.properties.bandwidthPercentages.description - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy.properties.bandwidthPercentages.items.$ref - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy.properties.bandwidthPercentages.type - schemas.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy.type - schemas.InterconnectApplicationAwareInterconnectStrictPriorityPolicy.description - schemas.InterconnectApplicationAwareInterconnectStrictPriorityPolicy.id - schemas.InterconnectApplicationAwareInterconnectStrictPriorityPolicy.type - schemas.NetworkPeering.properties.connectionStatus.$ref - schemas.NetworkPeering.properties.connectionStatus.description - schemas.NetworkPeering.properties.updateStrategy.description - schemas.NetworkPeering.properties.updateStrategy.enum - schemas.NetworkPeering.properties.updateStrategy.enumDescriptions - schemas.NetworkPeering.properties.updateStrategy.type - schemas.NetworkPeeringConnectionStatus.description - schemas.NetworkPeeringConnectionStatus.id - schemas.NetworkPeeringConnectionStatus.properties.consensusState.$ref - schemas.NetworkPeeringConnectionStatus.properties.consensusState.description - schemas.NetworkPeeringConnectionStatus.properties.trafficConfiguration.$ref - schemas.NetworkPeeringConnectionStatus.properties.trafficConfiguration.description - schemas.NetworkPeeringConnectionStatus.properties.updateStrategy.description - schemas.NetworkPeeringConnectionStatus.properties.updateStrategy.enum - schemas.NetworkPeeringConnectionStatus.properties.updateStrategy.enumDescriptions - schemas.NetworkPeeringConnectionStatus.properties.updateStrategy.type - schemas.NetworkPeeringConnectionStatus.type - schemas.NetworkPeeringConnectionStatusConsensusState.description - schemas.NetworkPeeringConnectionStatusConsensusState.id - schemas.NetworkPeeringConnectionStatusConsensusState.properties.deleteStatus.description - schemas.NetworkPeeringConnectionStatusConsensusState.properties.deleteStatus.enum - schemas.NetworkPeeringConnectionStatusConsensusState.properties.deleteStatus.enumDescriptions - schemas.NetworkPeeringConnectionStatusConsensusState.properties.deleteStatus.type - schemas.NetworkPeeringConnectionStatusConsensusState.properties.updateStatus.description - schemas.NetworkPeeringConnectionStatusConsensusState.properties.updateStatus.enum - schemas.NetworkPeeringConnectionStatusConsensusState.properties.updateStatus.enumDescriptions - schemas.NetworkPeeringConnectionStatusConsensusState.properties.updateStatus.type - schemas.NetworkPeeringConnectionStatusConsensusState.type - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.id - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.exportCustomRoutesToPeer.description - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.exportCustomRoutesToPeer.type - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.exportSubnetRoutesWithPublicIpToPeer.description - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.exportSubnetRoutesWithPublicIpToPeer.type - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.importCustomRoutesFromPeer.description - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.importCustomRoutesFromPeer.type - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.importSubnetRoutesWithPublicIpFromPeer.description - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.importSubnetRoutesWithPublicIpFromPeer.type - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.stackType.description - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.stackType.enum - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.stackType.enumDescriptions - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.properties.stackType.type - schemas.NetworkPeeringConnectionStatusTrafficConfiguration.type - schemas.NetworksRequestRemovePeeringRequest.id - schemas.NetworksRequestRemovePeeringRequest.properties.name.description - schemas.NetworksRequestRemovePeeringRequest.properties.name.type - schemas.NetworksRequestRemovePeeringRequest.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.ResourcePolicy.properties.workloadPolicy.description - schemas.ResourcePolicyWorkloadPolicy.properties.acceleratorTopology.description - schemas.ResourcePolicyWorkloadPolicy.properties.maxTopologyDistance.description - schemas.ResourcePolicyWorkloadPolicy.properties.type.description The following keys were changed: - schemas.ResourcePolicyWorkloadPolicy.properties.type.enumDescriptions --- discovery/compute-alpha.json | 2110 +++++++++++++++++++--- discovery/compute-beta.json | 82 +- discovery/compute-v1.json | 328 +++- src/apis/compute/alpha.ts | 3243 +++++++++++++++++++++++++++------- src/apis/compute/beta.ts | 51 + src/apis/compute/v1.ts | 384 ++++ 6 files changed, 5234 insertions(+), 964 deletions(-) diff --git a/discovery/compute-alpha.json b/discovery/compute-alpha.json index ea32609a8c..e7d212771a 100644 --- a/discovery/compute-alpha.json +++ b/discovery/compute-alpha.json @@ -7653,6 +7653,52 @@ }, "haControllers": { "methods": { + "delete": { + "description": "Deletes an HaController in the specified project.", + "flatPath": "projects/{project}/regions/{region}/haControllers/{haController}", + "httpMethod": "DELETE", + "id": "compute.haControllers.delete", + "parameterOrder": [ + "project", + "region", + "haController" + ], + "parameters": { + "haController": { + "description": "Name of the HaController resource to delete.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/haControllers/{haController}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "failover": { "description": "Fails over a VM targeted by the specified HaController to the selected zone.", "flatPath": "projects/{project}/regions/{region}/haControllers/{haController}/failover", @@ -7702,6 +7748,210 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "get": { + "description": "Returns all the details of a specific HaController.", + "flatPath": "projects/{project}/regions/{region}/haControllers/{haController}", + "httpMethod": "GET", + "id": "compute.haControllers.get", + "parameterOrder": [ + "project", + "region", + "haController" + ], + "parameters": { + "haController": { + "description": "Name of the HaController resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/haControllers/{haController}", + "response": { + "$ref": "HaController" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates HaController in the specified project.", + "flatPath": "projects/{project}/regions/{region}/haControllers", + "httpMethod": "POST", + "id": "compute.haControllers.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/haControllers", + "request": { + "$ref": "HaController" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists all HaControllers in the specified project in the specified region.", + "flatPath": "projects/{project}/regions/{region}/haControllers", + "httpMethod": "GET", + "id": "compute.haControllers.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/haControllers", + "response": { + "$ref": "HaControllersList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Updates HaController in the specified project.", + "flatPath": "projects/{project}/regions/{region}/haControllers/{haController}", + "httpMethod": "PATCH", + "id": "compute.haControllers.patch", + "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" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/haControllers/{haController}", + "request": { + "$ref": "HaController" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -28898,6 +29148,72 @@ }, "regionHealthAggregationPolicies": { "methods": { + "aggregatedList": { + "description": "Retrieves the list of all HealthAggregationPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/healthAggregationPolicies", + "httpMethod": "GET", + "id": "compute.regionHealthAggregationPolicies.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Name of the project scoping this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/healthAggregationPolicies", + "response": { + "$ref": "HealthAggregationPolicyAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "delete": { "description": "Deletes the specified HealthAggregationPolicy in the given region.", "flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}", @@ -38844,6 +39160,60 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "reportFaulty": { + "description": "Allows customers to report a faulty subBlock.", + "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", + "httpMethod": "POST", + "id": "compute.reservationSubBlocks.reportFaulty", + "parameterOrder": [ + "project", + "zone", + "parentName", + "reservationSubBlock" + ], + "parameters": { + "parentName": { + "description": "The name of the parent reservation and parent block. In the format of reservations/{reservation_name}/reservationBlocks/{reservation_block_name}", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "reservationSubBlock": { + "description": "The name of the reservation subBlock. Name should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", + "request": { + "$ref": "ReservationSubBlocksReportFaultyRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -50770,7 +51140,7 @@ } } }, - "revision": "20250728", + "revision": "20250729", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -52112,6 +52482,21 @@ "description": "This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation.", "id": "AllocationAggregateReservation", "properties": { + "hostCount": { + "description": "Count of reserved hosts of specified VM family. The host has fixed number of accelerators based on the accelerator/vm-family selected.", + "format": "int32", + "type": "integer" + }, + "inUseHostCount": { + "description": "Number of hosts currently in use. If there is one or more Instances running on the host, it is considered in use.", + "format": "int32", + "type": "integer" + }, + "inUseInstanceCount": { + "description": "Number of instances currently in use in this reservation.", + "format": "int32", + "type": "integer" + }, "inUseResources": { "description": "[Output only] List of resources currently in use.", "items": { @@ -52135,7 +52520,8 @@ "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", - "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P" + "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" ], "enumDescriptions": [ "", @@ -52144,6 +52530,7 @@ "", "", "", + "", "" ], "type": "string" @@ -53650,12 +54037,14 @@ "enum": [ "CONNECTION", "CUSTOM_METRICS", + "IN_FLIGHT", "RATE", "UTILIZATION" ], "enumDescriptions": [ "Balance based on the number of simultaneous connections.", "Based on custom defined and reported metrics.", + "Balance based on the number of in-flight requests.", "Balance based on requests per second (RPS).", "Balance based on the backend utilization." ], @@ -53700,6 +54089,21 @@ "format": "int32", "type": "integer" }, + "maxInFlightRequests": { + "description": "Defines a maximum number of in-flight requests for the whole NEG or instance group. Not available if backend's balancingMode is RATE or CONNECTION.", + "format": "int32", + "type": "integer" + }, + "maxInFlightRequestsPerEndpoint": { + "description": "Defines a maximum number of in-flight requests for a single endpoint. Not available if backend's balancingMode is RATE or CONNECTION.", + "format": "int32", + "type": "integer" + }, + "maxInFlightRequestsPerInstance": { + "description": "Defines a maximum number of in-flight requests for a single VM. Not available if backend's balancingMode is RATE or CONNECTION.", + "format": "int32", + "type": "integer" + }, "maxRate": { "description": "Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", "format": "int32", @@ -53733,6 +54137,19 @@ "Traffic will be sent to this backend first." ], "type": "string" + }, + "trafficDuration": { + "enum": [ + "LONG", + "SHORT", + "TRAFFIC_DURATION_UNSPECIFIED" + ], + "enumDescriptions": [ + "Most of the requests are expected to take more than multiple seconds to finish.", + "Most requests are expected to finish with a sub-second latency.", + "Traffic duration is unspecified." + ], + "type": "string" } }, "type": "object" @@ -56697,7 +57114,7 @@ "id": "CapacityAdviceResponse", "properties": { "recommendations": { - "description": "Initially the API will provide one recommendation which balances the individual scores according to Google's preference.", + "description": "Initially the API will provide one recommendation which balances the individual scores according to service provider's preference.", "items": { "$ref": "CapacityAdviceResponseRecommendation" }, @@ -60624,6 +61041,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "ExternalVpnGatewayParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "redundancyType": { "description": "Indicates the user-supplied redundancy type of this external VPN gateway.", "enum": [ @@ -60823,6 +61244,19 @@ }, "type": "object" }, + "ExternalVpnGatewayParams": { + "id": "ExternalVpnGatewayParams", + "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. * Inconsistent format is not supported. For instance: {\"tagKeys/333\" : \"tagValues/444\", \"123/env\" : \"prod\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "FileContentBuffer": { "id": "FileContentBuffer", "properties": { @@ -62868,6 +63302,20 @@ ], "type": "string" }, + "protectionTier": { + "description": "Protection tier for the workload.", + "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": "The reservation mode which determines reservation-termination behavior and expected pricing.", "enum": [ @@ -63786,7 +64234,8 @@ "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", - "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P" + "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" ], "enumDescriptions": [ "", @@ -63795,6 +64244,7 @@ "", "", "", + "", "" ], "type": "string" @@ -64482,6 +64932,378 @@ }, "type": "object" }, + "HaController": { + "description": "HaController handles failover for a VM Instance.", + "id": "HaController", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "failoverInitiation": { + "description": "Indicates how failover should be initiated.", + "enum": [ + "FAILOVER_INITIATION_UNSPECIFIED", + "MANUAL_ONLY" + ], + "enumDescriptions": [ + "", + "Failover will be initiated only when compute.haControllers.failover method is called." + ], + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "instanceName": { + "description": "Name of the instance that HaController is in charge of. If not specified the HaController's resource name will be used instead. 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" + }, + "kind": { + "default": "compute#HaController", + "description": "[Output Only] Type of the resource. Always compute#haController for HaControllers.", + "type": "string" + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "region": { + "description": "[Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "secondaryZoneCapacity": { + "description": "Indicates the capacity guarantees in the secondary zone.", + "enum": [ + "BEST_EFFORT", + "SECONDARY_ZONE_CAPACITY_UNSPECIFIED" + ], + "enumDescriptions": [ + "Failover will succeed only if at the time of failover the secondary zone has enough capacity to host the instance.", + "" + ], + "type": "string" + }, + "selfLink": { + "description": "[Output only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "status": { + "$ref": "HaControllerStatus", + "description": "[Output Only] Status information for the HaController resource." + }, + "zoneConfigurations": { + "additionalProperties": { + "$ref": "HaControllerZoneConfiguration" + }, + "description": "Map of zone configurations Key: name of the zone Value: ZoneConfiguration", + "type": "object" + } + }, + "type": "object" + }, + "HaControllerStatus": { + "description": "Contains information about current status of the HaController.", + "id": "HaControllerStatus", + "properties": { + "failoverProgress": { + "$ref": "HaControllerStatusFailoverProgress", + "description": "[Output Only] Contains the details of the ongoing failover. This message is not displayed if failover is NOT in progress." + }, + "ongoingFailover": { + "description": "[Output Only] Indicates if the failover is currently in-progress.", + "type": "boolean" + }, + "primaryInstance": { + "description": "[Output Only] The URL to the instance that is intended to be primary at this moment. Primary instance will be changed at the very beginning of a failover operation.", + "type": "string" + }, + "primaryZone": { + "description": "[Output Only] The name of the zone that is intended to be primary at this moment. Primary zone will be changed at the very beginning of a failover operation. The zone may not be operational in the middle of a failover operation.", + "type": "string" + }, + "readyForFailover": { + "description": "[Output Only] Indicates if the resource is ready for initiating a failover to the secondary zone.", + "type": "boolean" + }, + "zoneStatus": { + "additionalProperties": { + "$ref": "HaControllerStatusZoneStatus" + }, + "description": "[Output Only] Map of zone statuses. Key: name of the zone Value: ZoneStatus", + "type": "object" + } + }, + "type": "object" + }, + "HaControllerStatusFailoverProgress": { + "description": "Contains information about the current failover operation.", + "id": "HaControllerStatusFailoverProgress", + "properties": { + "failoverTrigger": { + "description": "[Output Only] Indicates if failover has been triggered automatically or manually.", + "enum": [ + "AUTOMATIC", + "FAILOVER_TRIGGER_UNSPECIFIED", + "MANUAL" + ], + "enumDescriptions": [ + "Failover has been triggered automatically.", + "", + "Failover has been triggered manually." + ], + "type": "string" + }, + "failoverTriggerTimestamp": { + "description": "[Output Only] Timestamp of the last failover trigger.", + "format": "google-datetime", + "type": "string" + }, + "lastFailoverAttempt": { + "$ref": "HaControllerStatusFailoverProgressLastFailoverAttempt", + "description": "[Output Only] Contains details of the last failed failover. This field is filled only if the current failover is failing" + } + }, + "type": "object" + }, + "HaControllerStatusFailoverProgressLastFailoverAttempt": { + "id": "HaControllerStatusFailoverProgressLastFailoverAttempt", + "properties": { + "errors": { + "description": "[Output Only] Encountered errors during the last attempt to process failover.", + "properties": { + "errors": { + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "properties": { + "code": { + "description": "[Output Only] The error type identifier for this error.", + "type": "string" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, + "location": { + "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", + "type": "string" + }, + "message": { + "description": "[Output Only] An optional, human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "timestamp": { + "description": "[Output Only] Show timestamp only if there is an error. RFC3339 text format.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "HaControllerStatusZoneStatus": { + "description": "Contains the status of a specific zone.", + "id": "HaControllerStatusZoneStatus", + "properties": { + "isPrimary": { + "description": "[Output Only] Indicates if the zone is primary at this moment.", + "type": "boolean" + }, + "isZoneReady": { + "description": "[Output Only] Indicates if the zone is ready for initiating a failover.", + "type": "boolean" + }, + "lastError": { + "$ref": "HaControllerStatusZoneStatusLastError", + "description": "[Output Only] This field is filled only if the current operation is failing." + } + }, + "type": "object" + }, + "HaControllerStatusZoneStatusLastError": { + "description": "Contains details of the last failed operation.", + "id": "HaControllerStatusZoneStatusLastError", + "properties": { + "errors": { + "description": "[Output Only] Encountered errors.", + "properties": { + "errors": { + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "properties": { + "code": { + "description": "[Output Only] The error type identifier for this error.", + "type": "string" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, + "location": { + "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", + "type": "string" + }, + "message": { + "description": "[Output Only] An optional, human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "timestamp": { + "description": "[Output Only] Show timestamp only if there is an error. RFC3339 text format.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "HaControllerZoneConfiguration": { + "description": "Config for a zone that the HaController may use for running the VM instance.", + "id": "HaControllerZoneConfiguration", + "properties": { + "nodeAffinities": { + "description": "A set of node affinity configurations. Refer to Configuring node affinity for more information. Overrides reservationAffinity.", + "items": { + "$ref": "HaControllerZoneConfigurationNodeAffinity" + }, + "type": "array" + }, + "reservationAffinity": { + "$ref": "HaControllerZoneConfigurationReservationAffinity", + "description": "Specifies the reservations that the instance can consume from." + } + }, + "type": "object" + }, + "HaControllerZoneConfigurationNodeAffinity": { + "description": "Node Affinity: the configuration of desired nodes onto which the Instance could be scheduled. This message should be an exact copy of the Instances representation of NodeAffinity. LINT.IfChange(HaControllerNodeAffinityMixer)", + "id": "HaControllerZoneConfigurationNodeAffinity", + "properties": { + "key": { + "description": "Corresponds to the label key of Node resource.", + "type": "string" + }, + "operator": { + "description": "Defines the operation of node selection. Valid operators are IN for affinity and NOT_IN for anti-affinity.", + "enum": [ + "IN", + "NOT_IN", + "OPERATOR_UNSPECIFIED" + ], + "enumDescriptions": [ + "Requires Compute Engine to seek for matched nodes.", + "Requires Compute Engine to avoid certain nodes.", + "" + ], + "type": "string" + }, + "values": { + "description": "Corresponds to the label values of Node resource.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "HaControllerZoneConfigurationReservationAffinity": { + "description": "Specifies the reservations that this instance can consume from. This message should be an exact copy of the Instances representation of AllocationAffinity. LINT.IfChange(HaControllerAllocationAffinityMixer)", + "id": "HaControllerZoneConfigurationReservationAffinity", + "properties": { + "consumeReservationType": { + "description": "Specifies the type of reservation from which this instance can consume resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION. See Consuming reserved instances for examples.", + "enum": [ + "ANY_RESERVATION", + "NO_RESERVATION", + "SPECIFIC_RESERVATION", + "SPECIFIC_THEN_ANY_RESERVATION", + "SPECIFIC_THEN_NO_RESERVATION", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Consume any allocation available.", + "Do not consume from any allocated capacity.", + "Must consume from a specific reservation. Must specify key value fields for specifying the reservations.", + "Prefer to consume from a specific reservation, but still consume any reservation available if the specified reservation is not available or exhausted. Must specify key value fields for specifying the reservations.", + "Prefer to consume from a specific reservation, but still consume from the on-demand pool if the specified reservation is exhausted. Must specify key value fields for specifying the reservations.", + "" + ], + "type": "string" + }, + "key": { + "description": "Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify googleapis.com/reservation-name as the key and specify the name of your reservation as its value.", + "type": "string" + }, + "values": { + "description": "Corresponds to the label values of a reservation resource. This can be either a name to a reservation in the same project or \"projects/different-project/reservations/some-reservation-name\" to target a shared reservation in the same zone but in a different project.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "HaControllersFailoverRequest": { "id": "HaControllersFailoverRequest", "properties": { @@ -64493,6 +65315,302 @@ }, "type": "object" }, + "HaControllersList": { + "id": "HaControllersList", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of HaControllers in the specified project and region.", + "items": { + "$ref": "HaController" + }, + "type": "array" + }, + "nextPageToken": { + "description": "This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "HealthAggregationPoliciesScopedList": { + "id": "HealthAggregationPoliciesScopedList", + "properties": { + "healthAggregationPolicies": { + "description": "A list of HealthAggregationPolicys contained in this scope.", + "items": { + "$ref": "HealthAggregationPolicy" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning which replaces the list of health aggregation policies when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "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", @@ -64562,6 +65680,169 @@ }, "type": "object" }, + "HealthAggregationPolicyAggregatedList": { + "description": "Contains a list of HealthAggregationPoliciesScopedList.", + "id": "HealthAggregationPolicyAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "HealthAggregationPoliciesScopedList", + "description": "Name of the scope containing this set of HealthAggregationPolicies." + }, + "description": "A list of HealthAggregationPoliciesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#healthAggregationPolicyAggregatedList", + "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" + }, "HealthAggregationPolicyList": { "id": "HealthAggregationPolicyList", "properties": { @@ -80605,6 +81886,13 @@ "MultiMigStatus": { "id": "MultiMigStatus", "properties": { + "appliedAcceleratorTopologies": { + "description": "[Output Only] The accelerator topology applied to this multi-MIG. Currently only one accelerator topology is supported.", + "items": { + "$ref": "MultiMigStatusAcceleratorTopology" + }, + "type": "array" + }, "memberInstanceGroupManagers": { "items": { "type": "string" @@ -80619,6 +81907,99 @@ }, "type": "object" }, + "MultiMigStatusAcceleratorTopology": { + "id": "MultiMigStatusAcceleratorTopology", + "properties": { + "acceleratorTopology": { + "description": "[Output Only] Topology in the format of: \"16x16\", \"4x4x4\", etc. The value is the same as configured in the WorkloadPolicy.", + "type": "string" + }, + "acceleratorTopologyState": { + "description": "[Output Only] The state of the accelerator topology.", + "enum": [ + "ACTIVATING", + "ACTIVE", + "ACTIVE_DEGRADED", + "DEACTIVATING", + "FAILED", + "INCOMPLETE" + ], + "enumDescriptions": [ + "The accelerator topology is being activated.", + "The accelerator topology is active.", + "The accelerator topology is active but operating in degraded mode.", + "The accelerator topology is being deactivated.", + "The accelerator topology failed.", + "The configuration is incomplete and the accelerator topology cannot be activated due to insufficient number of running VMs." + ], + "type": "string" + }, + "acceleratorTopologyStateLastCheck": { + "$ref": "MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck", + "description": "[Output Only] The result of the latest accelerator topology state check." + } + }, + "type": "object" + }, + "MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck": { + "id": "MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck", + "properties": { + "error": { + "description": "[Output Only] Encountered errors on the last state check.", + "properties": { + "errors": { + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "properties": { + "code": { + "description": "[Output Only] The error type identifier for this error.", + "type": "string" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, + "location": { + "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", + "type": "string" + }, + "message": { + "description": "[Output Only] An optional, human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "timestamp": { + "description": "[Output Only] Timestamp is shown only if there is an error. The field has // RFC3339 // text format.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "MultiMigsList": { "id": "MultiMigsList", "properties": { @@ -83899,6 +85280,18 @@ ], "type": "string" }, + "allowFirewallPolicy": { + "description": "Specifies whether firewall policy can be attached to the network.", + "enum": [ + "FIREWALL_POLICY_ALLOWED", + "FIREWALL_POLICY_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "allowInterconnect": { "description": "Specifies whether Cloud Interconnect creation is allowed.", "enum": [ @@ -84043,6 +85436,18 @@ ], "type": "string" }, + "allowVpcFirewallRules": { + "description": "Specifies whether VPC firewall rules can be created under the network.", + "enum": [ + "VPC_FIREWALL_RULES_ALLOWED", + "VPC_FIREWALL_RULES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "allowVpcPeering": { "description": "Specifies whether VPC peering is allowed.", "enum": [ @@ -84067,6 +85472,20 @@ ], "type": "string" }, + "firewallPolicyTypes": { + "items": { + "enum": [ + "RDMA_ROCE_POLICY", + "VPC_POLICY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "type": "array" + }, "interfaceTypes": { "description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", "items": { @@ -95336,6 +96755,11 @@ "format": "int32", "type": "integer" }, + "inUseHostCount": { + "description": "Number of hosts currently in use. If there is one or more Instances running on the host, it is considered in use.", + "format": "int32", + "type": "integer" + }, "kind": { "default": "compute#reservationBlock", "description": "[Output Only] Type of the resource. Always compute#reservationBlock for reservation blocks.", @@ -95805,300 +97229,371 @@ }, "type": "object" }, - "ReservationSubBlock": { - "description": "Represents a reservation subBlock resource.", - "id": "ReservationSubBlock", + "ReservationSubBlock": { + "description": "Represents a reservation subBlock resource.", + "id": "ReservationSubBlock", + "properties": { + "count": { + "description": "[Output Only] The number of hosts that are allocated in this reservation subBlock.", + "format": "int32", + "type": "integer" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "healthInfo": { + "$ref": "ReservationSubBlockHealthInfo", + "description": "[Output Only] Health information for the reservation subBlock." + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "inUseCount": { + "description": "[Output Only] The number of instances that are currently in use on this reservation subBlock.", + "format": "int32", + "type": "integer" + }, + "inUseHostCount": { + "description": "Number of hosts currently in use. If there is one or more Instances running on the host, it is considered in use.", + "format": "int32", + "type": "integer" + }, + "kind": { + "default": "compute#reservationSubBlock", + "description": "[Output Only] Type of the resource. Always compute#reservationSubBlock for reservation subBlocks.", + "type": "string" + }, + "name": { + "description": "[Output Only] The name of this reservation subBlock generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "physicalTopology": { + "$ref": "ReservationSubBlockPhysicalTopology", + "description": "[Output Only] The physical topology of the reservation subBlock." + }, + "reservationSubBlockMaintenance": { + "$ref": "GroupMaintenanceInfo", + "description": "Maintenance information for this reservation subBlock." + }, + "selfLink": { + "description": "[Output Only] Server-defined fully-qualified URL for this resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "status": { + "description": "[Output Only] Status of the reservation subBlock.", + "enum": [ + "CREATING", + "DELETING", + "INVALID", + "READY" + ], + "enumDescriptions": [ + "Resources are being allocated for the reservation subBlock.", + "Reservation subBlock is currently being deleted.", + "", + "Reservation subBlock has allocated all its resources." + ], + "type": "string" + }, + "zone": { + "description": "[Output Only] Zone in which the reservation subBlock resides.", + "type": "string" + } + }, + "type": "object" + }, + "ReservationSubBlockHealthInfo": { + "description": "Health information for the reservation subBlock.", + "id": "ReservationSubBlockHealthInfo", + "properties": { + "degradedHostCount": { + "description": "The number of degraded hosts in the reservation subBlock.", + "format": "int32", + "type": "integer" + }, + "degradedInfraCount": { + "description": "The number of degraded infrastructure (e.g NV link domain) in the reservation subblock.", + "format": "int32", + "type": "integer" + }, + "healthStatus": { + "description": "The health status of the reservation subBlock.", + "enum": [ + "DEGRADED", + "HEALTHY", + "HEALTH_STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The reservation subBlock is degraded.", + "The reservation subBlock is healthy.", + "The health status of the reservation subBlock is unspecified." + ], + "type": "string" + }, + "healthyHostCount": { + "description": "The number of healthy hosts in the reservation subBlock.", + "format": "int32", + "type": "integer" + }, + "healthyInfraCount": { + "description": "The number of healthy infrastructure (e.g NV link domain) in the reservation subblock.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReservationSubBlockPhysicalTopology": { + "id": "ReservationSubBlockPhysicalTopology", + "properties": { + "block": { + "description": "The hash of the capacity block within the cluster.", + "type": "string" + }, + "cluster": { + "description": "The cluster name of the reservation subBlock.", + "type": "string" + }, + "subBlock": { + "description": "The hash of the capacity sub-block within the capacity block.", + "type": "string" + } + }, + "type": "object" + }, + "ReservationSubBlocksGetResponse": { + "id": "ReservationSubBlocksGetResponse", + "properties": { + "resource": { + "$ref": "ReservationSubBlock" + } + }, + "type": "object" + }, + "ReservationSubBlocksListResponse": { + "description": "A list of reservation subBlocks under a single reservation.", + "id": "ReservationSubBlocksListResponse", + "properties": { + "id": { + "description": "Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of reservation subBlock resources.", + "items": { + "$ref": "ReservationSubBlock" + }, + "type": "array" + }, + "kind": { + "default": "compute#reservationSubBlock", + "description": "Type of the resource. Always compute#reservationSubBlock for a list of reservation subBlocks.", + "type": "string" + }, + "nextPageToken": { + "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "ReservationSubBlocksReportFaultyRequest": { + "id": "ReservationSubBlocksReportFaultyRequest", "properties": { - "count": { - "description": "[Output Only] The number of hosts that are allocated in this reservation subBlock.", - "format": "int32", - "type": "integer" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "healthInfo": { - "$ref": "ReservationSubBlockHealthInfo", - "description": "[Output Only] Health information for the reservation subBlock." - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "inUseCount": { - "description": "[Output Only] The number of instances that are currently in use on this reservation subBlock.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "compute#reservationSubBlock", - "description": "[Output Only] Type of the resource. Always compute#reservationSubBlock for reservation subBlocks.", - "type": "string" - }, - "name": { - "description": "[Output Only] The name of this reservation subBlock generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "physicalTopology": { - "$ref": "ReservationSubBlockPhysicalTopology", - "description": "[Output Only] The physical topology of the reservation subBlock." - }, - "reservationSubBlockMaintenance": { - "$ref": "GroupMaintenanceInfo", - "description": "Maintenance information for this reservation subBlock." - }, - "selfLink": { - "description": "[Output Only] Server-defined fully-qualified URL for this resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "status": { - "description": "[Output Only] Status of the reservation subBlock.", + "disruptionSchedule": { + "description": "The disruption schedule for the subBlock.", "enum": [ - "CREATING", - "DELETING", - "INVALID", - "READY" + "DISRUPTION_SCHEDULE_UNSPECIFIED", + "IMMEDIATE" ], "enumDescriptions": [ - "Resources are being allocated for the reservation subBlock.", - "Reservation subBlock is currently being deleted.", "", - "Reservation subBlock has allocated all its resources." + "All VMs will be disrupted immediately." ], "type": "string" }, - "zone": { - "description": "[Output Only] Zone in which the reservation subBlock resides.", - "type": "string" - } - }, - "type": "object" - }, - "ReservationSubBlockHealthInfo": { - "description": "Health information for the reservation subBlock.", - "id": "ReservationSubBlockHealthInfo", - "properties": { - "degradedHostCount": { - "description": "The number of degraded hosts in the reservation subBlock.", - "format": "int32", - "type": "integer" - }, - "degradedInfraCount": { - "description": "The number of degraded infrastructure (e.g NV link domain) in the reservation subblock.", - "format": "int32", - "type": "integer" - }, - "healthStatus": { - "description": "The health status of the reservation subBlock.", + "failureComponent": { + "description": "The component that experienced the fault.", "enum": [ - "DEGRADED", - "HEALTHY", - "HEALTH_STATUS_UNSPECIFIED" + "FAILURE_COMPONENT_UNSPECIFIED", + "MULTIPLE_FAULTY_HOSTS", + "NVLINK_SWITCH" ], "enumDescriptions": [ - "The reservation subBlock is degraded.", - "The reservation subBlock is healthy.", - "The health status of the reservation subBlock is unspecified." + "", + "Multiple hosts experienced the fault.", + "The NVLink switch experienced the fault." ], "type": "string" }, - "healthyHostCount": { - "description": "The number of healthy hosts in the reservation subBlock.", - "format": "int32", - "type": "integer" - }, - "healthyInfraCount": { - "description": "The number of healthy infrastructure (e.g NV link domain) in the reservation subblock.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ReservationSubBlockPhysicalTopology": { - "id": "ReservationSubBlockPhysicalTopology", - "properties": { - "block": { - "description": "The hash of the capacity block within the cluster.", - "type": "string" - }, - "cluster": { - "description": "The cluster name of the reservation subBlock.", - "type": "string" - }, - "subBlock": { - "description": "The hash of the capacity sub-block within the capacity block.", - "type": "string" - } - }, - "type": "object" - }, - "ReservationSubBlocksGetResponse": { - "id": "ReservationSubBlocksGetResponse", - "properties": { - "resource": { - "$ref": "ReservationSubBlock" + "faultReasons": { + "description": "The reasons for the fault experienced with the subBlock.", + "items": { + "$ref": "ReservationSubBlocksReportFaultyRequestFaultReason" + }, + "type": "array" } }, "type": "object" }, - "ReservationSubBlocksListResponse": { - "description": "A list of reservation subBlocks under a single reservation.", - "id": "ReservationSubBlocksListResponse", + "ReservationSubBlocksReportFaultyRequestFaultReason": { + "description": "The reason for the fault experienced with the subBlock.", + "id": "ReservationSubBlocksReportFaultyRequestFaultReason", "properties": { - "id": { - "description": "Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of reservation subBlock resources.", - "items": { - "$ref": "ReservationSubBlock" - }, - "type": "array" - }, - "kind": { - "default": "compute#reservationSubBlock", - "description": "Type of the resource. Always compute#reservationSubBlock for a list of reservation subBlocks.", - "type": "string" - }, - "nextPageToken": { - "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "behavior": { + "description": "The behavior of the fault experienced with the subBlock.", + "enum": [ + "FAULT_BEHAVIOR_UNSPECIFIED", + "GPU_ERROR", + "PERFORMANCE", + "SWITCH_FAILURE" + ], + "enumDescriptions": [ + "", + "The subBlock experienced a GPU error.", + "The subBlock experienced performance issues.", + "The subBlock experienced a switch failure." + ], "type": "string" }, - "selfLink": { - "description": "Server-defined URL for this resource.", + "description": { + "description": "The description of the fault experienced with the subBlock.", "type": "string" - }, - "warning": { - "description": "Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "QUOTA_INFO_UNAVAILABLE", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "Quota information is not available to client requests (e.g: regions.list).", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" } }, "type": "object" @@ -96561,7 +98056,8 @@ "description": "Resource policy applicable to VMs for infrastructure maintenance." }, "workloadPolicy": { - "$ref": "ResourcePolicyWorkloadPolicy" + "$ref": "ResourcePolicyWorkloadPolicy", + "description": "Resource policy for defining instance placement for MIGs." } }, "type": "object" @@ -97260,9 +98756,11 @@ "id": "ResourcePolicyWorkloadPolicy", "properties": { "acceleratorTopology": { + "description": "Specifies the topology required to create a partition for VMs that have interconnected GPUs.", "type": "string" }, "maxTopologyDistance": { + "description": "Specifies the maximum distance between instances.", "enum": [ "BLOCK", "CLUSTER", @@ -97276,13 +98774,14 @@ "type": "string" }, "type": { + "description": "Specifies the intent of the instance placement in the MIG.", "enum": [ "HIGH_AVAILABILITY", "HIGH_THROUGHPUT" ], "enumDescriptions": [ - "VMs will be provisioned in such a way which provides high availability.", - "VMs will be provisioned in such a way which provides high throughput." + "MIG spreads out the instances as much as possible for high availability.", + "MIG provisions instances as close to each other as possible for high throughput." ], "type": "string" } @@ -97301,10 +98800,12 @@ "type": "array" }, "consumedReservation": { + "deprecated": true, "description": "[Output Only] The full resource name of the reservation that this instance is consuming from.", "type": "string" }, "consumedReservationBlock": { + "deprecated": true, "description": "[Output Only] The full resource name of the reservation block that this instance is consuming from.", "type": "string" }, @@ -112151,6 +113652,10 @@ "description": "URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created.", "type": "string" }, + "params": { + "$ref": "TargetVpnGatewayParams", + "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 target VPN gateway resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" @@ -112502,6 +114007,19 @@ }, "type": "object" }, + "TargetVpnGatewayParams": { + "id": "TargetVpnGatewayParams", + "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. * Inconsistent format is not supported. For instance: {\"tagKeys/333\" : \"tagValues/444\", \"123/env\" : \"prod\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "TargetVpnGatewaysScopedList": { "id": "TargetVpnGatewaysScopedList", "properties": { @@ -114553,6 +116071,10 @@ "description": "URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created.", "type": "string" }, + "params": { + "$ref": "VpnGatewayParams", + "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 VPN gateway resides.", "type": "string" @@ -114902,6 +116424,19 @@ }, "type": "object" }, + "VpnGatewayParams": { + "id": "VpnGatewayParams", + "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. * Inconsistent format is not supported. For instance: {\"tagKeys/333\" : \"tagValues/444\", \"123/env\" : \"prod\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "VpnGatewayStatus": { "id": "VpnGatewayStatus", "properties": { @@ -115225,6 +116760,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "VpnTunnelParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "peerExternalGateway": { "description": "URL of the peer side external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field is exclusive with the field peerGcpGateway.", "type": "string" @@ -115648,6 +117187,19 @@ }, "type": "object" }, + "VpnTunnelParams": { + "id": "VpnTunnelParams", + "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. * Inconsistent format is not supported. For instance: {\"tagKeys/333\" : \"tagValues/444\", \"123/env\" : \"prod\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "VpnTunnelPhase1Algorithms": { "id": "VpnTunnelPhase1Algorithms", "properties": { diff --git a/discovery/compute-beta.json b/discovery/compute-beta.json index ef25fe1168..b7fe31ccda 100644 --- a/discovery/compute-beta.json +++ b/discovery/compute-beta.json @@ -45747,7 +45747,7 @@ } } }, - "revision": "20250728", + "revision": "20250729", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -48471,12 +48471,14 @@ "enum": [ "CONNECTION", "CUSTOM_METRICS", + "IN_FLIGHT", "RATE", "UTILIZATION" ], "enumDescriptions": [ "Balance based on the number of simultaneous connections.", "Based on custom defined and reported metrics.", + "Balance based on the number of in-flight requests.", "Balance based on requests per second (RPS).", "Balance based on the backend utilization." ], @@ -48521,6 +48523,21 @@ "format": "int32", "type": "integer" }, + "maxInFlightRequests": { + "description": "Defines a maximum number of in-flight requests for the whole NEG or instance group. Not available if backend's balancingMode is RATE or CONNECTION.", + "format": "int32", + "type": "integer" + }, + "maxInFlightRequestsPerEndpoint": { + "description": "Defines a maximum number of in-flight requests for a single endpoint. Not available if backend's balancingMode is RATE or CONNECTION.", + "format": "int32", + "type": "integer" + }, + "maxInFlightRequestsPerInstance": { + "description": "Defines a maximum number of in-flight requests for a single VM. Not available if backend's balancingMode is RATE or CONNECTION.", + "format": "int32", + "type": "integer" + }, "maxRate": { "description": "Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", "format": "int32", @@ -48554,6 +48571,19 @@ "Traffic will be sent to this backend first." ], "type": "string" + }, + "trafficDuration": { + "enum": [ + "LONG", + "SHORT", + "TRAFFIC_DURATION_UNSPECIFIED" + ], + "enumDescriptions": [ + "Most of the requests are expected to take more than multiple seconds to finish.", + "Most requests are expected to finish with a sub-second latency.", + "Traffic duration is unspecified." + ], + "type": "string" } }, "type": "object" @@ -70823,6 +70853,10 @@ "$ref": "ManagedInstancePropertiesFromFlexibilityPolicy", "description": "[Output Only] Instance properties selected for this instance resulting from InstanceFlexibilityPolicy." }, + "scheduling": { + "$ref": "ManagedInstanceScheduling", + "description": "[Output Only] Information about the termination timestamp of the instance, if applicable." + }, "targetStatus": { "description": "[Output Only] The eventual status of the instance. The instance group manager will not be identified as stable till each managed instance reaches its targetStatus.", "enum": [ @@ -70966,6 +71000,17 @@ }, "type": "object" }, + "ManagedInstanceScheduling": { + "id": "ManagedInstanceScheduling", + "properties": { + "terminationTimestamp": { + "description": "[Output Only] The timestamp at which the managed instance will be terminated. This is in RFC3339 text format.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "ManagedInstanceVersion": { "id": "ManagedInstanceVersion", "properties": { @@ -82910,6 +82955,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." @@ -83081,6 +83130,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", @@ -84521,7 +84591,8 @@ "type": "string" }, "workloadPolicy": { - "$ref": "ResourcePolicyWorkloadPolicy" + "$ref": "ResourcePolicyWorkloadPolicy", + "description": "Resource policy for defining instance placement for MIGs." } }, "type": "object" @@ -85156,9 +85227,11 @@ "id": "ResourcePolicyWorkloadPolicy", "properties": { "acceleratorTopology": { + "description": "Specifies the topology required to create a partition for VMs that have interconnected GPUs.", "type": "string" }, "maxTopologyDistance": { + "description": "Specifies the maximum distance between instances.", "enum": [ "BLOCK", "CLUSTER", @@ -85172,13 +85245,14 @@ "type": "string" }, "type": { + "description": "Specifies the intent of the instance placement in the MIG.", "enum": [ "HIGH_AVAILABILITY", "HIGH_THROUGHPUT" ], "enumDescriptions": [ - "VMs will be provisioned in such a way which provides high availability.", - "VMs will be provisioned in such a way which provides high throughput." + "MIG spreads out the instances as much as possible for high availability.", + "MIG provisions instances as close to each other as possible for high throughput." ], "type": "string" } diff --git a/discovery/compute-v1.json b/discovery/compute-v1.json index a115e5d1c2..8a69d7c86d 100644 --- a/discovery/compute-v1.json +++ b/discovery/compute-v1.json @@ -18178,6 +18178,48 @@ "https://www.googleapis.com/auth/compute" ] }, + "requestRemovePeering": { + "description": "Requests to remove a peering from the specified network. Applicable only for PeeringConnection with update_strategy=CONSENSUS.", + "flatPath": "projects/{project}/global/networks/{network}/requestRemovePeering", + "httpMethod": "POST", + "id": "compute.networks.requestRemovePeering", + "parameterOrder": [ + "project", + "network" + ], + "parameters": { + "network": { + "description": "Name of the network resource to remove peering from.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/networks/{network}/requestRemovePeering", + "request": { + "$ref": "NetworksRequestRemovePeeringRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "switchToCustomMode": { "description": "Switches the network mode from auto subnet mode to custom subnet mode.", "flatPath": "projects/{project}/global/networks/{network}/switchToCustomMode", @@ -39954,7 +39996,7 @@ } } }, - "revision": "20250728", + "revision": "20250729", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -42771,6 +42813,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" @@ -43070,6 +43116,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": { @@ -43334,6 +43394,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.", @@ -44322,6 +44386,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": { @@ -57691,10 +57769,18 @@ "description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", "id": "Interconnect", "properties": { + "aaiEnabled": { + "description": "Enable or disable the application awareness feature on this Cloud Interconnect.", + "type": "boolean" + }, "adminEnabled": { "description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", "type": "boolean" }, + "applicationAwareInterconnect": { + "$ref": "InterconnectApplicationAwareInterconnect", + "description": "Configuration information for application awareness on this Cloud Interconnect." + }, "availableFeatures": { "description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", "items": { @@ -57898,6 +57984,81 @@ }, "type": "object" }, + "InterconnectApplicationAwareInterconnect": { + "description": "Configuration information for application awareness on this Cloud Interconnect.", + "id": "InterconnectApplicationAwareInterconnect", + "properties": { + "bandwidthPercentagePolicy": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" + }, + "profileDescription": { + "description": "Description for the application awareness profile on this Cloud Interconnect.", + "type": "string" + }, + "shapeAveragePercentages": { + "description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + }, + "strictPriorityPolicy": { + "$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentage": { + "description": "Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.", + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentage", + "properties": { + "percentage": { + "description": "Bandwidth percentage for a specific traffic class.", + "format": "uint32", + "type": "integer" + }, + "trafficClass": { + "description": "TrafficClass whose bandwidth percentage is being specified.", + "enum": [ + "TC1", + "TC2", + "TC3", + "TC4", + "TC5", + "TC6" + ], + "enumDescriptions": [ + "Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.", + "Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.", + "Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.", + "Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.", + "Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.", + "Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx." + ], + "type": "string" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy": { + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy", + "properties": { + "bandwidthPercentages": { + "description": "Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectStrictPriorityPolicy": { + "description": "Specify configuration for StrictPriorityPolicy.", + "id": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy", + "properties": {}, + "type": "object" + }, "InterconnectAttachment": { "description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", "id": "InterconnectAttachment", @@ -65207,6 +65368,10 @@ "description": "This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", "type": "boolean" }, + "connectionStatus": { + "$ref": "NetworkPeeringConnectionStatus", + "description": "[Output Only] The effective state of the peering connection as a whole." + }, "exchangeSubnetRoutes": { "description": "Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", "type": "boolean" @@ -65267,6 +65432,122 @@ "stateDetails": { "description": "[Output Only] Details about the current state of the peering.", "type": "string" + }, + "updateStrategy": { + "description": "The update strategy determines the semantics for updates and deletes to the peering connection configuration.", + "enum": [ + "CONSENSUS", + "INDEPENDENT", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Updates are reflected in the local peering but aren't applied to the peering connection until a complementary change is made to the matching peering. To delete a peering with the consensus update strategy, both the peerings must request the deletion of the peering before the peering can be deleted.", + "In this mode, changes to the peering configuration can be unilaterally altered by changing either side of the peering. This is the default value if the field is unspecified.", + "Peerings with update strategy UNSPECIFIED are created with update strategy INDEPENDENT." + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatus": { + "description": "[Output Only] Describes the state of a peering connection, not just the local peering. This field provides information about the effective settings for the connection as a whole, including pending delete/update requests for CONSENSUS peerings.", + "id": "NetworkPeeringConnectionStatus", + "properties": { + "consensusState": { + "$ref": "NetworkPeeringConnectionStatusConsensusState", + "description": "The consensus state contains information about the status of update and delete for a consensus peering connection." + }, + "trafficConfiguration": { + "$ref": "NetworkPeeringConnectionStatusTrafficConfiguration", + "description": "The active connectivity settings for the peering connection based on the settings of the network peerings." + }, + "updateStrategy": { + "description": "The update strategy determines the update/delete semantics for this peering connection.", + "enum": [ + "CONSENSUS", + "INDEPENDENT", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Updates are reflected in the local peering but aren't applied to the peering connection until a complementary change is made to the matching peering. To delete a peering with the consensus update strategy, both the peerings must request the deletion of the peering before the peering can be deleted.", + "In this mode, changes to the peering configuration can be unilaterally altered by changing either side of the peering. This is the default value if the field is unspecified.", + "Peerings with update strategy UNSPECIFIED are created with update strategy INDEPENDENT." + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatusConsensusState": { + "description": "The status of update/delete for a consensus peering connection. Only set when connection_status.update_strategy is CONSENSUS or a network peering is proposing to update the strategy to CONSENSUS.", + "id": "NetworkPeeringConnectionStatusConsensusState", + "properties": { + "deleteStatus": { + "description": "The status of the delete request.", + "enum": [ + "DELETE_ACKNOWLEDGED", + "DELETE_STATUS_UNSPECIFIED", + "LOCAL_DELETE_REQUESTED", + "PEER_DELETE_REQUESTED" + ], + "enumDescriptions": [ + "Both network admins have agreed this consensus peering connection can be deleted.", + "", + "Network admin has requested deletion of this peering connection.", + "The peer network admin has requested deletion of this peering connection." + ], + "type": "string" + }, + "updateStatus": { + "description": "The status of the update request.", + "enum": [ + "IN_SYNC", + "PENDING_LOCAL_ACKNOWLEDMENT", + "PENDING_PEER_ACKNOWLEDGEMENT", + "UPDATE_STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "No pending configuration update proposals to the peering connection.", + "The peer network admin has made an updatePeering call. The change is awaiting acknowledgment from this peering's network admin.", + "The local network admin has made an updatePeering call. The change is awaiting acknowledgment from the peer network admin.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatusTrafficConfiguration": { + "id": "NetworkPeeringConnectionStatusTrafficConfiguration", + "properties": { + "exportCustomRoutesToPeer": { + "description": "Whether custom routes are being exported to the peer network.", + "type": "boolean" + }, + "exportSubnetRoutesWithPublicIpToPeer": { + "description": "Whether subnet routes with public IP ranges are being exported to the peer network.", + "type": "boolean" + }, + "importCustomRoutesFromPeer": { + "description": "Whether custom routes are being imported from the peer network.", + "type": "boolean" + }, + "importSubnetRoutesWithPublicIpFromPeer": { + "description": "Whether subnet routes with public IP ranges are being imported from the peer network.", + "type": "boolean" + }, + "stackType": { + "description": "Which IP version(s) of traffic and routes are being imported or exported between peer networks.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "This Peering will allow IPv4 traffic and routes to be exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic and routes will be exchanged as well.", + "This Peering will only allow IPv4 traffic and routes to be exchanged, even if the matching peering is IPV4_IPV6." + ], + "type": "string" } }, "type": "object" @@ -66089,6 +66370,16 @@ }, "type": "object" }, + "NetworksRequestRemovePeeringRequest": { + "id": "NetworksRequestRemovePeeringRequest", + "properties": { + "name": { + "description": "Name of the peering, which should conform to RFC1035.", + "type": "string" + } + }, + "type": "object" + }, "NetworksUpdatePeeringRequest": { "id": "NetworksUpdatePeeringRequest", "properties": { @@ -73497,6 +73788,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." @@ -73638,6 +73933,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", @@ -75074,7 +75390,8 @@ "type": "string" }, "workloadPolicy": { - "$ref": "ResourcePolicyWorkloadPolicy" + "$ref": "ResourcePolicyWorkloadPolicy", + "description": "Resource policy for defining instance placement for MIGs." } }, "type": "object" @@ -75691,9 +76008,11 @@ "id": "ResourcePolicyWorkloadPolicy", "properties": { "acceleratorTopology": { + "description": "Specifies the topology required to create a partition for VMs that have interconnected GPUs.", "type": "string" }, "maxTopologyDistance": { + "description": "Specifies the maximum distance between instances.", "enum": [ "BLOCK", "CLUSTER", @@ -75707,13 +76026,14 @@ "type": "string" }, "type": { + "description": "Specifies the intent of the instance placement in the MIG.", "enum": [ "HIGH_AVAILABILITY", "HIGH_THROUGHPUT" ], "enumDescriptions": [ - "VMs will be provisioned in such a way which provides high availability.", - "VMs will be provisioned in such a way which provides high throughput." + "MIG spreads out the instances as much as possible for high availability.", + "MIG provisions instances as close to each other as possible for high throughput." ], "type": "string" } diff --git a/src/apis/compute/alpha.ts b/src/apis/compute/alpha.ts index f013ce00bb..b10ef82170 100644 --- a/src/apis/compute/alpha.ts +++ b/src/apis/compute/alpha.ts @@ -868,6 +868,18 @@ export namespace compute_alpha { * This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation. */ export interface Schema$AllocationAggregateReservation { + /** + * Count of reserved hosts of specified VM family. The host has fixed number of accelerators based on the accelerator/vm-family selected. + */ + hostCount?: number | null; + /** + * Number of hosts currently in use. If there is one or more Instances running on the host, it is considered in use. + */ + inUseHostCount?: number | null; + /** + * Number of instances currently in use in this reservation. + */ + inUseInstanceCount?: number | null; /** * [Output only] List of resources currently in use. */ @@ -1647,6 +1659,18 @@ export namespace compute_alpha { * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE. */ maxConnectionsPerInstance?: number | null; + /** + * Defines a maximum number of in-flight requests for the whole NEG or instance group. Not available if backend's balancingMode is RATE or CONNECTION. + */ + maxInFlightRequests?: number | null; + /** + * Defines a maximum number of in-flight requests for a single endpoint. Not available if backend's balancingMode is RATE or CONNECTION. + */ + maxInFlightRequestsPerEndpoint?: number | null; + /** + * Defines a maximum number of in-flight requests for a single VM. Not available if backend's balancingMode is RATE or CONNECTION. + */ + maxInFlightRequestsPerInstance?: number | null; /** * Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION. */ @@ -1667,6 +1691,7 @@ export namespace compute_alpha { * This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default */ preference?: string | null; + trafficDuration?: string | null; } /** * Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets. @@ -3113,7 +3138,7 @@ export namespace compute_alpha { */ export interface Schema$CapacityAdviceResponse { /** - * Initially the API will provide one recommendation which balances the individual scores according to Google's preference. + * Initially the API will provide one recommendation which balances the individual scores according to service provider's preference. */ recommendations?: Schema$CapacityAdviceResponseRecommendation[]; } @@ -4644,6 +4669,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$ExternalVpnGatewayParams; /** * Indicates the user-supplied redundancy type of this external VPN gateway. */ @@ -4704,6 +4733,12 @@ export namespace compute_alpha { message?: string; } | null; } + export interface Schema$ExternalVpnGatewayParams { + /** + * 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. * Inconsistent format is not supported. For instance: {"tagKeys/333" : "tagValues/444", "123/env" : "prod"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$FileContentBuffer { /** * The raw content in the secure keys file. @@ -5529,6 +5564,10 @@ export namespace compute_alpha { * Planning state before being submitted for evaluation */ planningStatus?: string | null; + /** + * Protection tier for the workload. + */ + protectionTier?: string | null; /** * The reservation mode which determines reservation-termination behavior and expected pricing. */ @@ -6140,16 +6179,10 @@ 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. + * HaController handles failover for a VM Instance. */ - export interface Schema$HealthAggregationPolicy { + export interface Schema$HaController { /** * [Output Only] Creation timestamp in RFC3339 text format. */ @@ -6159,74 +6192,82 @@ export namespace compute_alpha { */ description?: string | null; /** - * 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 HealthAggregationPolicy. An up-to-date fingerprint must be provided in order to patch the HealthAggregationPolicy; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthAggregationPolicy. - */ - fingerprint?: string | null; - /** - * Can only be set if the policyType field is BACKEND_SERVICE_POLICY. Specifies the threshold (as a percentage) of healthy endpoints required in order to consider the aggregated health result HEALTHY. Defaults to 60. Must be in range [0, 100]. Not applicable if the policyType field is DNB_PUBLIC_IP_POLICY. Can be mutated. This field is optional, and will be set to the default if unspecified. Note that both this threshold and minHealthyThreshold must be satisfied in order for HEALTHY to be the aggregated result. "Endpoints" refers to network endpoints within a Network Endpoint Group or instances within an Instance Group. + * Indicates how failover should be initiated. */ - healthyPercentThreshold?: number | null; + failoverInitiation?: string | null; /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ id?: string | null; /** - * [Output Only] Type of the resource. Always compute#healthAggregationPolicy for health aggregation policies. + * Name of the instance that HaController is in charge of. If not specified the HaController's resource name will be used instead. 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. */ - kind?: string | null; + instanceName?: string | null; /** - * Can only be set if the policyType field is BACKEND_SERVICE_POLICY. Specifies the minimum number of healthy endpoints required in order to consider the aggregated health result HEALTHY. Defaults to 1. Must be positive. Not applicable if the policyType field is DNB_PUBLIC_IP_POLICY. Can be mutated. This field is optional, and will be set to the default if unspecified. Note that both this threshold and healthyPercentThreshold must be satisfied in order for HEALTHY to be the aggregated result. "Endpoints" refers to network endpoints within a Network Endpoint Group or instances within an Instance Group. + * [Output Only] Type of the resource. Always compute#haController for HaControllers. */ - minHealthyThreshold?: number | null; + kind?: 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. */ name?: string | null; /** - * Specifies the type of the healthAggregationPolicy. The only allowed value for global resources is DNS_PUBLIC_IP_POLICY. The only allowed value for regional resources is BACKEND_SERVICE_POLICY. Must be specified when the healthAggregationPolicy is created, and cannot be mutated. + * [Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. */ - policyType?: string | null; + region?: string | null; /** - * [Output Only] URL of the region where the health aggregation policy resides. This field applies only to the regional resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + * Indicates the capacity guarantees in the secondary zone. */ - region?: string | null; + secondaryZoneCapacity?: string | null; /** - * [Output Only] Server-defined URL for the resource. + * [Output only] Server-defined URL for the resource. */ selfLink?: string | null; /** - * [Output Only] Server-defined URL with id for the resource. + * [Output Only] Server-defined URL for this resource with the resource id. */ selfLinkWithId?: string | null; + /** + * [Output Only] Status information for the HaController resource. + */ + status?: Schema$HaControllerStatus; + /** + * Map of zone configurations Key: name of the zone Value: ZoneConfiguration + */ + zoneConfigurations?: { + [key: string]: Schema$HaControllerZoneConfiguration; + } | null; } - export interface Schema$HealthAggregationPolicyList { - etag?: string | null; + export interface Schema$HaControllersFailoverRequest { /** - * [Output Only] Unique identifier for the resource; defined by the server. + * Name of the destination zone for the failover. */ - id?: string | null; + primaryZone?: string | null; + } + export interface Schema$HaControllersList { + etag?: string | null; /** - * A list of HealthAggregationPolicy resources. + * Unique identifier for the resource; defined by the server. */ - items?: Schema$HealthAggregationPolicy[]; + id?: string | null; /** - * [Output Only] Type of the resource. Always compute#healthAggregationPolicy for health aggregation policies. + * A list of HaControllers in the specified project and region. */ - kind?: string | null; + items?: Schema$HaController[]; /** - * [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. + * This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. */ nextPageToken?: string | null; /** - * [Output Only] Server-defined URL for this resource. + * [Output only] Server-defined URL for this resource. */ selfLink?: string | null; /** - * [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + * [Output only] Unreachable resources. */ unreachables?: string[] | null; /** - * [Output Only] Informational warning message. + * Informational warning message. */ warning?: { code?: string; @@ -6235,104 +6276,169 @@ export namespace compute_alpha { } | null; } /** - * Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/alpha/regionHealthChecks) * [Global](/compute/docs/reference/rest/alpha/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide. **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview. + * Contains information about current status of the HaController. */ - export interface Schema$HealthCheck { + export interface Schema$HaControllerStatus { /** - * How often (in seconds) to send a health check. The default value is 5 seconds. + * [Output Only] Contains the details of the ongoing failover. This message is not displayed if failover is NOT in progress. */ - checkIntervalSec?: number | null; + failoverProgress?: Schema$HaControllerStatusFailoverProgress; /** - * [Output Only] Creation timestamp in 3339 text format. + * [Output Only] Indicates if the failover is currently in-progress. */ - creationTimestamp?: string | null; + ongoingFailover?: boolean | null; /** - * An optional description of this resource. Provide this property when you create the resource. + * [Output Only] The URL to the instance that is intended to be primary at this moment. Primary instance will be changed at the very beginning of a failover operation. */ - description?: string | null; - grpcHealthCheck?: Schema$GRPCHealthCheck; - grpcTlsHealthCheck?: Schema$GRPCTLSHealthCheck; + primaryInstance?: string | null; /** - * A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2. + * [Output Only] The name of the zone that is intended to be primary at this moment. Primary zone will be changed at the very beginning of a failover operation. The zone may not be operational in the middle of a failover operation. */ - healthyThreshold?: number | null; - http2HealthCheck?: Schema$HTTP2HealthCheck; - httpHealthCheck?: Schema$HTTPHealthCheck; - httpsHealthCheck?: Schema$HTTPSHealthCheck; + primaryZone?: string | null; /** - * [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * [Output Only] Indicates if the resource is ready for initiating a failover to the secondary zone. */ - id?: string | null; + readyForFailover?: boolean | null; /** - * Type of the resource. + * [Output Only] Map of zone statuses. Key: name of the zone Value: ZoneStatus */ - kind?: string | null; + zoneStatus?: {[key: string]: Schema$HaControllerStatusZoneStatus} | null; + } + /** + * Contains information about the current failover operation. + */ + export interface Schema$HaControllerStatusFailoverProgress { /** - * Configure logging on this health check. + * [Output Only] Indicates if failover has been triggered automatically or manually. */ - logConfig?: Schema$HealthCheckLogConfig; + failoverTrigger?: 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. For example, a name that is 1-63 characters long, matches the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular expression describes a name where the first character is a lowercase letter, and all following characters are a dash, lowercase letter, or digit, except the last character, which isn't a dash. + * [Output Only] Timestamp of the last failover trigger. */ - name?: string | null; + failoverTriggerTimestamp?: string | null; /** - * [Output Only] Region where the health check resides. Not applicable to global health checks. + * [Output Only] Contains details of the last failed failover. This field is filled only if the current failover is failing */ - region?: string | null; + lastFailoverAttempt?: Schema$HaControllerStatusFailoverProgressLastFailoverAttempt; + } + export interface Schema$HaControllerStatusFailoverProgressLastFailoverAttempt { /** - * [Output Only] Server-defined URL for the resource. + * [Output Only] Encountered errors during the last attempt to process failover. */ - selfLink?: string | null; + errors?: { + errors?: Array<{ + code?: string; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; + } | null; /** - * [Output Only] Server-defined URL for this resource with the resource id. + * [Output Only] Show timestamp only if there is an error. RFC3339 text format. */ - selfLinkWithId?: string | null; + timestamp?: string | null; + } + /** + * Contains the status of a specific zone. + */ + export interface Schema$HaControllerStatusZoneStatus { /** - * The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. + * [Output Only] Indicates if the zone is primary at this moment. */ - sourceRegions?: string[] | null; - sslHealthCheck?: Schema$SSLHealthCheck; - tcpHealthCheck?: Schema$TCPHealthCheck; + isPrimary?: boolean | null; /** - * How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec. + * [Output Only] Indicates if the zone is ready for initiating a failover. */ - timeoutSec?: number | null; + isZoneReady?: boolean | null; /** - * Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field. + * [Output Only] This field is filled only if the current operation is failing. */ - type?: string | null; - udpHealthCheck?: Schema$UDPHealthCheck; + lastError?: Schema$HaControllerStatusZoneStatusLastError; + } + /** + * Contains details of the last failed operation. + */ + export interface Schema$HaControllerStatusZoneStatusLastError { /** - * A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. + * [Output Only] Encountered errors. */ - unhealthyThreshold?: number | null; + errors?: { + errors?: Array<{ + code?: string; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; + } | null; + /** + * [Output Only] Show timestamp only if there is an error. RFC3339 text format. + */ + timestamp?: string | null; } /** - * Contains a list of HealthCheck resources. + * Config for a zone that the HaController may use for running the VM instance. */ - export interface Schema$HealthCheckList { + export interface Schema$HaControllerZoneConfiguration { /** - * [Output Only] Unique identifier for the resource; defined by the server. + * A set of node affinity configurations. Refer to Configuring node affinity for more information. Overrides reservationAffinity. */ - id?: string | null; + nodeAffinities?: Schema$HaControllerZoneConfigurationNodeAffinity[]; /** - * A list of HealthCheck resources. + * Specifies the reservations that the instance can consume from. */ - items?: Schema$HealthCheck[]; + reservationAffinity?: Schema$HaControllerZoneConfigurationReservationAffinity; + } + /** + * Node Affinity: the configuration of desired nodes onto which the Instance could be scheduled. This message should be an exact copy of the Instances representation of NodeAffinity. LINT.IfChange(HaControllerNodeAffinityMixer) + */ + export interface Schema$HaControllerZoneConfigurationNodeAffinity { /** - * Type of resource. + * Corresponds to the label key of Node resource. */ - kind?: string | null; + key?: 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. + * Defines the operation of node selection. Valid operators are IN for affinity and NOT_IN for anti-affinity. */ - nextPageToken?: string | null; + operator?: string | null; /** - * [Output Only] Server-defined URL for this resource. + * Corresponds to the label values of Node resource. */ - selfLink?: string | null; + values?: string[] | null; + } + /** + * Specifies the reservations that this instance can consume from. This message should be an exact copy of the Instances representation of AllocationAffinity. LINT.IfChange(HaControllerAllocationAffinityMixer) + */ + export interface Schema$HaControllerZoneConfigurationReservationAffinity { /** - * [Output Only] Informational warning message. + * Specifies the type of reservation from which this instance can consume resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION. See Consuming reserved instances for examples. + */ + consumeReservationType?: string | null; + /** + * Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify googleapis.com/reservation-name as the key and specify the name of your reservation as its value. + */ + key?: string | null; + /** + * Corresponds to the label values of a reservation resource. This can be either a name to a reservation in the same project or "projects/different-project/reservations/some-reservation-name" to target a shared reservation in the same zone but in a different project. + */ + values?: string[] | null; + } + export interface Schema$HealthAggregationPoliciesScopedList { + /** + * A list of HealthAggregationPolicys contained in this scope. + */ + healthAggregationPolicies?: Schema$HealthAggregationPolicy[]; + /** + * Informational warning which replaces the list of health aggregation policies when the list is empty. */ warning?: { code?: string; @@ -6341,29 +6447,260 @@ export namespace compute_alpha { } | null; } /** - * Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver. + * Represents a health aggregation policy. A health aggregation policy resource defines a policy to aggregate health. For more information, see Health checks overview. */ - export interface Schema$HealthCheckLogConfig { + export interface Schema$HealthAggregationPolicy { /** - * Indicates whether or not to export logs. This is false by default, which means no health check logging will be done. + * [Output Only] Creation timestamp in RFC3339 text format. */ - enable?: boolean | null; + creationTimestamp?: string | null; + /** + * An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + /** + * 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 HealthAggregationPolicy. An up-to-date fingerprint must be provided in order to patch the HealthAggregationPolicy; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthAggregationPolicy. + */ + fingerprint?: string | null; + /** + * Can only be set if the policyType field is BACKEND_SERVICE_POLICY. Specifies the threshold (as a percentage) of healthy endpoints required in order to consider the aggregated health result HEALTHY. Defaults to 60. Must be in range [0, 100]. Not applicable if the policyType field is DNB_PUBLIC_IP_POLICY. Can be mutated. This field is optional, and will be set to the default if unspecified. Note that both this threshold and minHealthyThreshold must be satisfied in order for HEALTHY to be the aggregated result. "Endpoints" refers to network endpoints within a Network Endpoint Group or instances within an Instance Group. + */ + healthyPercentThreshold?: number | null; + /** + * [Output Only] The unique identifier for the resource. This identifier is defined by the server. + */ + id?: string | null; + /** + * [Output Only] Type of the resource. Always compute#healthAggregationPolicy for health aggregation policies. + */ + kind?: string | null; + /** + * Can only be set if the policyType field is BACKEND_SERVICE_POLICY. Specifies the minimum number of healthy endpoints required in order to consider the aggregated health result HEALTHY. Defaults to 1. Must be positive. Not applicable if the policyType field is DNB_PUBLIC_IP_POLICY. Can be mutated. This field is optional, and will be set to the default if unspecified. Note that both this threshold and healthyPercentThreshold must be satisfied in order for HEALTHY to be the aggregated result. "Endpoints" refers to network endpoints within a Network Endpoint Group or instances within an Instance Group. + */ + minHealthyThreshold?: number | 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; + /** + * Specifies the type of the healthAggregationPolicy. The only allowed value for global resources is DNS_PUBLIC_IP_POLICY. The only allowed value for regional resources is BACKEND_SERVICE_POLICY. Must be specified when the healthAggregationPolicy is created, and cannot be mutated. + */ + policyType?: string | null; + /** + * [Output Only] URL of the region where the health aggregation policy resides. This field applies only to the regional resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + */ + region?: string | null; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * [Output Only] Server-defined URL with id for the resource. + */ + selfLinkWithId?: string | null; } /** - * A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check + * Contains a list of HealthAggregationPoliciesScopedList. */ - export interface Schema$HealthCheckReference { - healthCheck?: string | null; - } - export interface Schema$HealthChecksAggregatedList { + export interface Schema$HealthAggregationPolicyAggregatedList { /** * [Output Only] Unique identifier for the resource; defined by the server. */ id?: string | null; /** - * A list of HealthChecksScopedList resources. + * A list of HealthAggregationPoliciesScopedList resources. */ - items?: {[key: string]: Schema$HealthChecksScopedList} | null; + items?: {[key: string]: Schema$HealthAggregationPoliciesScopedList} | null; + /** + * 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; + } + export interface Schema$HealthAggregationPolicyList { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of HealthAggregationPolicy resources. + */ + items?: Schema$HealthAggregationPolicy[]; + /** + * [Output Only] Type of the resource. Always compute#healthAggregationPolicy for health aggregation policies. + */ + 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. end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + /** + * Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/alpha/regionHealthChecks) * [Global](/compute/docs/reference/rest/alpha/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide. **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview. + */ + export interface Schema$HealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 seconds. + */ + checkIntervalSec?: number | null; + /** + * [Output Only] Creation timestamp in 3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + grpcHealthCheck?: Schema$GRPCHealthCheck; + grpcTlsHealthCheck?: Schema$GRPCTLSHealthCheck; + /** + * A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2. + */ + healthyThreshold?: number | null; + http2HealthCheck?: Schema$HTTP2HealthCheck; + httpHealthCheck?: Schema$HTTPHealthCheck; + httpsHealthCheck?: Schema$HTTPSHealthCheck; + /** + * [Output Only] The unique identifier for the resource. This identifier is defined by the server. + */ + id?: string | null; + /** + * Type of the resource. + */ + kind?: string | null; + /** + * Configure logging on this health check. + */ + logConfig?: Schema$HealthCheckLogConfig; + /** + * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. For example, a name that is 1-63 characters long, matches the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular expression describes a name where the first character is a lowercase letter, and all following characters are a dash, lowercase letter, or digit, except the last character, which isn't a dash. + */ + name?: string | null; + /** + * [Output Only] Region where the health check resides. Not applicable to global health checks. + */ + region?: string | null; + /** + * [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; + /** + * The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. + */ + sourceRegions?: string[] | null; + sslHealthCheck?: Schema$SSLHealthCheck; + tcpHealthCheck?: Schema$TCPHealthCheck; + /** + * How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec. + */ + timeoutSec?: number | null; + /** + * Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field. + */ + type?: string | null; + udpHealthCheck?: Schema$UDPHealthCheck; + /** + * A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number | null; + } + /** + * Contains a list of HealthCheck resources. + */ + export interface Schema$HealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of HealthCheck resources. + */ + items?: Schema$HealthCheck[]; + /** + * 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] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + /** + * Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver. + */ + export interface Schema$HealthCheckLogConfig { + /** + * Indicates whether or not to export logs. This is false by default, which means no health check logging will be done. + */ + enable?: boolean | null; + } + /** + * A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check + */ + export interface Schema$HealthCheckReference { + healthCheck?: string | null; + } + export interface Schema$HealthChecksAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of HealthChecksScopedList resources. + */ + items?: {[key: string]: Schema$HealthChecksScopedList} | null; /** * Type of resource. */ @@ -12901,12 +13238,52 @@ export namespace compute_alpha { } | null; } export interface Schema$MultiMigStatus { + /** + * [Output Only] The accelerator topology applied to this multi-MIG. Currently only one accelerator topology is supported. + */ + appliedAcceleratorTopologies?: Schema$MultiMigStatusAcceleratorTopology[]; memberInstanceGroupManagers?: string[] | null; /** * [Output Only] The number of instance group manager members in this multi-MIG. */ membersCount?: number | null; } + export interface Schema$MultiMigStatusAcceleratorTopology { + /** + * [Output Only] Topology in the format of: "16x16", "4x4x4", etc. The value is the same as configured in the WorkloadPolicy. + */ + acceleratorTopology?: string | null; + /** + * [Output Only] The state of the accelerator topology. + */ + acceleratorTopologyState?: string | null; + /** + * [Output Only] The result of the latest accelerator topology state check. + */ + acceleratorTopologyStateLastCheck?: Schema$MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck; + } + export interface Schema$MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck { + /** + * [Output Only] Encountered errors on the last state check. + */ + error?: { + errors?: Array<{ + code?: string; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; + } | null; + /** + * [Output Only] Timestamp is shown only if there is an error. The field has // RFC3339 // text format. + */ + timestamp?: string | null; + } /** * [Deprecated] Configuration for the mutual Tls mode for peer authentication. Configuration for the mutual Tls mode for peer authentication. */ @@ -14092,6 +14469,10 @@ export namespace compute_alpha { * Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC. */ allowExternalIpAccess?: string | null; + /** + * Specifies whether firewall policy can be attached to the network. + */ + allowFirewallPolicy?: string | null; /** * Specifies whether Cloud Interconnect creation is allowed. */ @@ -14140,6 +14521,10 @@ export namespace compute_alpha { * Specifies whether sub interfaces are allowed. */ allowSubInterfaces?: string | null; + /** + * Specifies whether VPC firewall rules can be created under the network. + */ + allowVpcFirewallRules?: string | null; /** * Specifies whether VPC peering is allowed. */ @@ -14148,6 +14533,7 @@ export namespace compute_alpha { * Specifies whether VPN creation is allowed. */ allowVpn?: string | null; + firewallPolicyTypes?: string[] | null; /** * If set, limits the interface types that the network supports. If empty, all interface types are supported. */ @@ -17950,6 +18336,10 @@ export namespace compute_alpha { * [Output Only] The number of instances that are currently in use on this reservation block. */ inUseCount?: number | null; + /** + * Number of hosts currently in use. If there is one or more Instances running on the host, it is considered in use. + */ + inUseHostCount?: number | null; /** * [Output Only] Type of the resource. Always compute#reservationBlock for reservation blocks. */ @@ -18178,6 +18568,10 @@ export namespace compute_alpha { * [Output Only] The number of instances that are currently in use on this reservation subBlock. */ inUseCount?: number | null; + /** + * Number of hosts currently in use. If there is one or more Instances running on the host, it is considered in use. + */ + inUseHostCount?: number | null; /** * [Output Only] Type of the resource. Always compute#reservationSubBlock for reservation subBlocks. */ @@ -18286,6 +18680,33 @@ export namespace compute_alpha { message?: string; } | null; } + export interface Schema$ReservationSubBlocksReportFaultyRequest { + /** + * The disruption schedule for the subBlock. + */ + disruptionSchedule?: string | null; + /** + * The component that experienced the fault. + */ + failureComponent?: string | null; + /** + * The reasons for the fault experienced with the subBlock. + */ + faultReasons?: Schema$ReservationSubBlocksReportFaultyRequestFaultReason[]; + } + /** + * The reason for the fault experienced with the subBlock. + */ + export interface Schema$ReservationSubBlocksReportFaultyRequestFaultReason { + /** + * The behavior of the fault experienced with the subBlock. + */ + behavior?: string | null; + /** + * The description of the fault experienced with the subBlock. + */ + description?: string | null; + } /** * Commitment for a particular hardware resource (a commitment is composed of one or more of these). */ @@ -18381,6 +18802,9 @@ export namespace compute_alpha { * Resource policy applicable to VMs for infrastructure maintenance. */ vmMaintenancePolicy?: Schema$ResourcePolicyVmMaintenancePolicy; + /** + * Resource policy for defining instance placement for MIGs. + */ workloadPolicy?: Schema$ResourcePolicyWorkloadPolicy; } /** @@ -18690,8 +19114,17 @@ export namespace compute_alpha { * Represents the workload policy. */ export interface Schema$ResourcePolicyWorkloadPolicy { + /** + * Specifies the topology required to create a partition for VMs that have interconnected GPUs. + */ acceleratorTopology?: string | null; + /** + * Specifies the maximum distance between instances. + */ maxTopologyDistance?: string | null; + /** + * Specifies the intent of the instance placement in the MIG. + */ type?: string | null; } /** @@ -24313,6 +24746,10 @@ export namespace compute_alpha { * URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. */ network?: string | null; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + */ + params?: Schema$TargetVpnGatewayParams; /** * [Output Only] URL of the region where the target VPN gateway resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. */ @@ -24397,6 +24834,12 @@ export namespace compute_alpha { message?: string; } | null; } + export interface Schema$TargetVpnGatewayParams { + /** + * 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. * Inconsistent format is not supported. For instance: {"tagKeys/333" : "tagValues/444", "123/env" : "prod"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$TargetVpnGatewaysScopedList { /** * [Output Only] A list of target VPN gateways contained in this scope. @@ -25253,6 +25696,10 @@ export namespace compute_alpha { * URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. */ network?: string | null; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + */ + params?: Schema$VpnGatewayParams; /** * [Output Only] URL of the region where the VPN gateway resides. */ @@ -25337,6 +25784,12 @@ export namespace compute_alpha { message?: string; } | null; } + export interface Schema$VpnGatewayParams { + /** + * 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. * Inconsistent format is not supported. For instance: {"tagKeys/333" : "tagValues/444", "123/env" : "prod"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$VpnGatewaysGetStatusResponse { result?: Schema$VpnGatewayStatus; } @@ -25480,6 +25933,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$VpnTunnelParams; /** * URL of the peer side external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field is exclusive with the field peerGcpGateway. */ @@ -25608,6 +26065,12 @@ export namespace compute_alpha { message?: string; } | null; } + export interface Schema$VpnTunnelParams { + /** + * 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. * Inconsistent format is not supported. For instance: {"tagKeys/333" : "tagValues/444", "123/env" : "prod"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$VpnTunnelPhase1Algorithms { dh?: string[] | null; encryption?: string[] | null; @@ -42450,6 +42913,7 @@ export namespace compute_alpha { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "redundancyType": "my_redundancyType", * // "selfLink": "my_selfLink" * // } @@ -42602,6 +43066,7 @@ export namespace compute_alpha { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "redundancyType": "my_redundancyType", * // "selfLink": "my_selfLink" * // } @@ -51406,6 +51871,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "namePrefix": "my_namePrefix", * // "planningStatus": "my_planningStatus", + * // "protectionTier": "my_protectionTier", * // "reservationMode": "my_reservationMode", * // "reservationName": "my_reservationName", * // "schedulingType": "my_schedulingType", @@ -51575,6 +52041,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "namePrefix": "my_namePrefix", * // "planningStatus": "my_planningStatus", + * // "protectionTier": "my_protectionTier", * // "reservationMode": "my_reservationMode", * // "reservationName": "my_reservationName", * // "schedulingType": "my_schedulingType", @@ -51951,6 +52418,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "namePrefix": "my_namePrefix", * // "planningStatus": "my_planningStatus", + * // "protectionTier": "my_protectionTier", * // "reservationMode": "my_reservationMode", * // "reservationName": "my_reservationName", * // "schedulingType": "my_schedulingType", @@ -59148,7 +59616,7 @@ export namespace compute_alpha { } /** - * Fails over a VM targeted by the specified HaController to the selected zone. + * Deletes an HaController in the specified project. * @example * ```js * // Before running the sample: @@ -59180,9 +59648,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * 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}', + * const res = await compute.haControllers.delete({ + * // Name of the HaController resource to delete. + * haController: '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])?))', @@ -59190,14 +59658,6 @@ export namespace compute_alpha { * 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); * @@ -59245,32 +59705,32 @@ 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. */ - failover( - params: Params$Resource$Hacontrollers$Failover, + delete( + params: Params$Resource$Hacontrollers$Delete, options: StreamMethodOptions ): Promise>; - failover( - params?: Params$Resource$Hacontrollers$Failover, + delete( + params?: Params$Resource$Hacontrollers$Delete, options?: MethodOptions ): Promise>; - failover( - params: Params$Resource$Hacontrollers$Failover, + delete( + params: Params$Resource$Hacontrollers$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - failover( - params: Params$Resource$Hacontrollers$Failover, + delete( + params: Params$Resource$Hacontrollers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - failover( - params: Params$Resource$Hacontrollers$Failover, + delete( + params: Params$Resource$Hacontrollers$Delete, callback: BodyResponseCallback ): void; - failover(callback: BodyResponseCallback): void; - failover( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Hacontrollers$Failover + | Params$Resource$Hacontrollers$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -59286,12 +59746,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Hacontrollers$Failover; + {}) as Params$Resource$Hacontrollers$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hacontrollers$Failover; + params = {} as Params$Resource$Hacontrollers$Delete; options = {}; } @@ -59306,9 +59766,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}/failover' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options @@ -59327,207 +59787,9 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Hacontrollers$Failover - extends StandardParameters { - /** - * 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. + * Fails over a VM targeted by the specified HaController to the selected zone. * @example * ```js * // Before running the sample: @@ -59559,14 +59821,24 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.delete({ - * // Name of the HealthCheck resource to delete. - * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * 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])?))', - * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * // Name of the 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); * @@ -59614,32 +59886,32 @@ 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. */ - delete( - params: Params$Resource$Healthchecks$Delete, + failover( + params: Params$Resource$Hacontrollers$Failover, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Healthchecks$Delete, + failover( + params?: Params$Resource$Hacontrollers$Failover, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Healthchecks$Delete, + failover( + params: Params$Resource$Hacontrollers$Failover, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Healthchecks$Delete, + failover( + params: Params$Resource$Hacontrollers$Failover, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Healthchecks$Delete, + failover( + params: Params$Resource$Hacontrollers$Failover, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + failover(callback: BodyResponseCallback): void; + failover( paramsOrCallback?: - | Params$Resource$Healthchecks$Delete + | Params$Resource$Hacontrollers$Failover | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -59655,12 +59927,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Delete; + {}) as Params$Resource$Hacontrollers$Failover; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Delete; + params = {} as Params$Resource$Hacontrollers$Failover; options = {}; } @@ -59675,16 +59947,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}/failover' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'healthCheck'], - pathParams: ['healthCheck', 'project'], + requiredParams: ['project', 'region', 'haController'], + pathParams: ['haController', 'project', 'region'], context: this.context, }; if (callback) { @@ -59698,7 +59970,7 @@ export namespace compute_alpha { } /** - * Returns the specified HealthCheck resource. + * Returns all the details of a specific HaController. * @example * ```js * // Before running the sample: @@ -59731,40 +60003,32 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.get({ - * // Name of the HealthCheck resource to return. - * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.haControllers.get({ + * // Name of the HaController resource to return. + * 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])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "failoverInitiation": "my_failoverInitiation", * // "id": "my_id", + * // "instanceName": "my_instanceName", * // "kind": "my_kind", - * // "logConfig": {}, * // "name": "my_name", * // "region": "my_region", + * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "udpHealthCheck": {}, - * // "unhealthyThreshold": 0 + * // "status": {}, + * // "zoneConfigurations": {} * // } * } * @@ -59781,51 +60045,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Healthchecks$Get, + params: Params$Resource$Hacontrollers$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Healthchecks$Get, + params?: Params$Resource$Hacontrollers$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Healthchecks$Get, + params: Params$Resource$Hacontrollers$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Healthchecks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Hacontrollers$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Healthchecks$Get, - callback: BodyResponseCallback + params: Params$Resource$Hacontrollers$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Healthchecks$Get - | BodyResponseCallback + | Params$Resource$Hacontrollers$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Healthchecks$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Hacontrollers$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Get; + params = {} as Params$Resource$Hacontrollers$Get; options = {}; } @@ -59840,7 +60105,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -59848,22 +60113,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'healthCheck'], - pathParams: ['healthCheck', '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); } } /** - * Creates a HealthCheck resource in the specified project using the data included in the request. + * Creates HaController in the specified project. * @example * ```js * // Before running the sample: @@ -59895,40 +60160,32 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.insert({ + * const res = await compute.haControllers.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). + * // 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 * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "failoverInitiation": "my_failoverInitiation", * // "id": "my_id", + * // "instanceName": "my_instanceName", * // "kind": "my_kind", - * // "logConfig": {}, * // "name": "my_name", * // "region": "my_region", + * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "udpHealthCheck": {}, - * // "unhealthyThreshold": 0 + * // "status": {}, + * // "zoneConfigurations": {} * // } * }, * }); @@ -59979,31 +60236,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Healthchecks$Insert, + params: Params$Resource$Hacontrollers$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Healthchecks$Insert, + params?: Params$Resource$Hacontrollers$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Healthchecks$Insert, + params: Params$Resource$Hacontrollers$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Healthchecks$Insert, + params: Params$Resource$Hacontrollers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Healthchecks$Insert, + params: Params$Resource$Hacontrollers$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Healthchecks$Insert + | Params$Resource$Hacontrollers$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -60019,12 +60276,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Insert; + {}) as Params$Resource$Hacontrollers$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Insert; + params = {} as Params$Resource$Hacontrollers$Insert; options = {}; } @@ -60038,7 +60295,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/healthChecks' + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/haControllers' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -60046,8 +60304,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -60061,7 +60319,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of HealthCheck resources available to the specified project. + * Lists all HaControllers in the specified project in the specified region. * @example * ```js * // Before running the sample: @@ -60094,7 +60352,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.list({ + * const res = await compute.haControllers.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`) @@ -60106,6 +60364,8 @@ export namespace compute_alpha { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // 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', * }); @@ -60113,11 +60373,12 @@ export namespace compute_alpha { * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", * // "items": [], - * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -60135,52 +60396,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Healthchecks$List, + params: Params$Resource$Hacontrollers$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Healthchecks$List, + params?: Params$Resource$Hacontrollers$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Healthchecks$List, + params: Params$Resource$Hacontrollers$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Healthchecks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Hacontrollers$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Healthchecks$List, - callback: BodyResponseCallback + params: Params$Resource$Hacontrollers$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Healthchecks$List - | BodyResponseCallback + | Params$Resource$Hacontrollers$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$List; + {}) as Params$Resource$Hacontrollers$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$List; + params = {} as Params$Resource$Hacontrollers$List; options = {}; } @@ -60194,7 +60455,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/healthChecks' + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/haControllers' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -60202,22 +60464,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. + * Updates HaController in the specified project. * @example * ```js * // Before running the sample: @@ -60249,42 +60511,36 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.patch({ - * // Name of the HealthCheck resource to patch. - * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.haControllers.patch({ + * // 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])?))', - * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * // Name of the 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', + * // update_mask indicates fields to be updated as part of this request. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "failoverInitiation": "my_failoverInitiation", * // "id": "my_id", + * // "instanceName": "my_instanceName", * // "kind": "my_kind", - * // "logConfig": {}, * // "name": "my_name", * // "region": "my_region", + * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "udpHealthCheck": {}, - * // "unhealthyThreshold": 0 + * // "status": {}, + * // "zoneConfigurations": {} * // } * }, * }); @@ -60335,31 +60591,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Healthchecks$Patch, + params: Params$Resource$Hacontrollers$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Healthchecks$Patch, + params?: Params$Resource$Hacontrollers$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Healthchecks$Patch, + params: Params$Resource$Hacontrollers$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Healthchecks$Patch, + params: Params$Resource$Hacontrollers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Healthchecks$Patch, + params: Params$Resource$Hacontrollers$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Healthchecks$Patch + | Params$Resource$Hacontrollers$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -60375,12 +60631,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Patch; + {}) as Params$Resource$Hacontrollers$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Patch; + params = {} as Params$Resource$Hacontrollers$Patch; options = {}; } @@ -60395,7 +60651,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -60403,8 +60659,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'healthCheck'], - pathParams: ['healthCheck', 'project'], + requiredParams: ['project', 'region', 'haController'], + pathParams: ['haController', 'project', 'region'], context: this.context, }; if (callback) { @@ -60416,9 +60672,1211 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Hacontrollers$Delete + extends StandardParameters { /** - * Returns permissions that a caller has on the specified resource. + * Name of the HaController resource to delete. + */ + 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; + } + export interface Params$Resource$Hacontrollers$Failover + extends StandardParameters { + /** + * 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 interface Params$Resource$Hacontrollers$Get + extends StandardParameters { + /** + * Name of the HaController resource to return. + */ + haController?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Hacontrollers$Insert + extends StandardParameters { + /** + * 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$HaController; + } + export interface Params$Resource$Hacontrollers$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; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Hacontrollers$Patch + extends StandardParameters { + /** + * 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; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HaController; + } + + 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: + * // - 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.healthChecks.delete({ + * // Name of the HealthCheck resource to delete. + * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * 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$Healthchecks$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Healthchecks$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Healthchecks$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Healthchecks$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Healthchecks$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Healthchecks$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Healthchecks$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Healthchecks$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}/global/healthChecks/{healthCheck}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the specified HealthCheck resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('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.get({ + * // Name of the HealthCheck resource to return. + * healthCheck: '[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])?))', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "checkIntervalSec": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, + * // "healthyThreshold": 0, + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, + * // "id": "my_id", + * // "kind": "my_kind", + * // "logConfig": {}, + * // "name": "my_name", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, + * // "timeoutSec": 0, + * // "type": "my_type", + * // "udpHealthCheck": {}, + * // "unhealthyThreshold": 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. + */ + get( + params: Params$Resource$Healthchecks$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Healthchecks$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Healthchecks$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Healthchecks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Healthchecks$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Healthchecks$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Healthchecks$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Healthchecks$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}/global/healthChecks/{healthCheck}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a HealthCheck resource in the specified project using the data included in the request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('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.healthChecks.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', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "checkIntervalSec": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, + * // "healthyThreshold": 0, + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, + * // "id": "my_id", + * // "kind": "my_kind", + * // "logConfig": {}, + * // "name": "my_name", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, + * // "timeoutSec": 0, + * // "type": "my_type", + * // "udpHealthCheck": {}, + * // "unhealthyThreshold": 0 + * // } + * }, + * }); + * 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$Healthchecks$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Healthchecks$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Healthchecks$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Healthchecks$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Healthchecks$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Healthchecks$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Healthchecks$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Healthchecks$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}/global/healthChecks' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves the list of HealthCheck resources available to the specified 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.healthChecks.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', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Healthchecks$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Healthchecks$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Healthchecks$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Healthchecks$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Healthchecks$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Healthchecks$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Healthchecks$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Healthchecks$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}/global/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); + } + } + + /** + * Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. + * @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.healthChecks.patch({ + * // Name of the HealthCheck resource to patch. + * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "checkIntervalSec": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, + * // "healthyThreshold": 0, + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, + * // "id": "my_id", + * // "kind": "my_kind", + * // "logConfig": {}, + * // "name": "my_name", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, + * // "timeoutSec": 0, + * // "type": "my_type", + * // "udpHealthCheck": {}, + * // "unhealthyThreshold": 0 + * // } + * }, + * }); + * 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. + */ + patch( + params: Params$Resource$Healthchecks$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Healthchecks$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Healthchecks$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Healthchecks$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Healthchecks$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Healthchecks$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Healthchecks$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Healthchecks$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -146667,32 +148125,248 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionDiskTypes.list({ + * const res = await compute.regionDiskTypes.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])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Regiondisktypes$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Regiondisktypes$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Regiondisktypes$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Regiondisktypes$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Regiondisktypes$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Regiondisktypes$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regiondisktypes$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regiondisktypes$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}/regions/{region}/diskTypes' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Regiondisktypes$Get + extends StandardParameters { + /** + * Name of the disk type to return. + */ + diskType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Regiondisktypes$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; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Regionhealthaggregationpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the list of all HealthAggregationPolicy 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.regionHealthAggregationPolicies.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', - * // Project ID for this request. + * // 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])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. 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": [], + * // "items": {}, * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -146709,53 +148383,62 @@ 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. */ - list( - params: Params$Resource$Regiondisktypes$List, + aggregatedList( + params: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Regiondisktypes$List, + aggregatedList( + params?: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Regiondisktypes$List, + ): Promise< + GaxiosResponseWithHTTP2 + >; + aggregatedList( + params: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Regiondisktypes$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Regiondisktypes$List, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Regiondisktypes$List - | BodyResponseCallback + | Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regiondisktypes$List; + {}) as Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regiondisktypes$List; + params = + {} as Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist; options = {}; } @@ -146770,7 +148453,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/diskTypes' + '/compute/alpha/projects/{project}/aggregated/healthAggregationPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -146778,73 +148461,21 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } - } - - export interface Params$Resource$Regiondisktypes$Get - extends StandardParameters { - /** - * Name of the disk type to return. - */ - diskType?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - } - export interface Params$Resource$Regiondisktypes$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; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. - */ - returnPartialSuccess?: boolean; - } - - export class Resource$Regionhealthaggregationpolicies { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** * Deletes the specified HealthAggregationPolicy in the given region. @@ -147887,6 +149518,41 @@ export namespace compute_alpha { } } + export interface Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `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; + /** + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } export interface Params$Resource$Regionhealthaggregationpolicies$Delete extends StandardParameters { /** @@ -187256,13 +188922,179 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.reservationSubBlocks.get({ + * const res = await compute.reservationSubBlocks.get({ + * // The name of the parent reservation and parent block. In the format of reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} + * parentName: 'placeholder-value', + * // Project ID for this request. + * project: 'placeholder-value', + * // The name of the reservation subBlock. Name should conform to RFC1035 or be a resource ID. + * reservationSubBlock: 'placeholder-value', + * // Name of the zone for this request. Zone name should conform to RFC1035. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resource": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Reservationsubblocks$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Reservationsubblocks$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Reservationsubblocks$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Reservationsubblocks$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Reservationsubblocks$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Reservationsubblocks$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservationsubblocks$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservationsubblocks$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}/{parentName}/reservationSubBlocks/{reservationSubBlock}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [ + 'project', + 'zone', + 'parentName', + 'reservationSubBlock', + ], + pathParams: ['parentName', 'project', 'reservationSubBlock', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Retrieves a list of reservation subBlocks under a single reservation. + * @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.reservationSubBlocks.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', * // The name of the parent reservation and parent block. In the format of reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} * parentName: 'placeholder-value', * // Project ID for this request. * project: 'placeholder-value', - * // The name of the reservation subBlock. Name should conform to RFC1035 or be a resource ID. - * reservationSubBlock: 'placeholder-value', + * // 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 name should conform to RFC1035. * zone: 'placeholder-value', * }); @@ -187270,7 +189102,12 @@ export namespace compute_alpha { * * // Example response * // { - * // "resource": {} + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} * // } * } * @@ -187286,57 +189123,61 @@ 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$Reservationsubblocks$Get, + list( + params: Params$Resource$Reservationsubblocks$List, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Reservationsubblocks$Get, + list( + params?: Params$Resource$Reservationsubblocks$List, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Reservationsubblocks$Get, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Reservationsubblocks$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Reservationsubblocks$Get, + list( + params: Params$Resource$Reservationsubblocks$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Reservationsubblocks$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Reservationsubblocks$List, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - get( + list( paramsOrCallback?: - | Params$Resource$Reservationsubblocks$Get - | BodyResponseCallback + | Params$Resource$Reservationsubblocks$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Reservationsubblocks$Get; + {}) as Params$Resource$Reservationsubblocks$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Reservationsubblocks$Get; + params = {} as Params$Resource$Reservationsubblocks$List; options = {}; } @@ -187351,7 +189192,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}' + '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -187359,29 +189200,24 @@ export namespace compute_alpha { options ), params, - requiredParams: [ - 'project', - 'zone', - 'parentName', - 'reservationSubBlock', - ], - pathParams: ['parentName', 'project', 'reservationSubBlock', 'zone'], + requiredParams: ['project', 'zone', 'parentName'], + pathParams: ['parentName', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Retrieves a list of reservation subBlocks under a single reservation. + * Allows customers to perform maintenance on a reservation subBlock * @example * ```js * // Before running the sample: @@ -187405,7 +189241,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', * ], * }); * @@ -187414,21 +189249,15 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.reservationSubBlocks.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', + * const res = await compute.reservationSubBlocks.performMaintenance({ * // The name of the parent reservation and parent block. In the format of reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} * parentName: 'placeholder-value', * // Project ID for this request. * project: 'placeholder-value', - * // 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', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the reservation subBlock. Name should conform to RFC1035 or be a resource ID. + * reservationSubBlock: 'placeholder-value', * // Name of the zone for this request. Zone name should conform to RFC1035. * zone: 'placeholder-value', * }); @@ -187436,12 +189265,33 @@ export namespace compute_alpha { * * // 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", - * // "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" * // } * } * @@ -187457,61 +189307,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. */ - list( - params: Params$Resource$Reservationsubblocks$List, + performMaintenance( + params: Params$Resource$Reservationsubblocks$Performmaintenance, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Reservationsubblocks$List, + performMaintenance( + params?: Params$Resource$Reservationsubblocks$Performmaintenance, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - list( - params: Params$Resource$Reservationsubblocks$List, + ): Promise>; + performMaintenance( + params: Params$Resource$Reservationsubblocks$Performmaintenance, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Reservationsubblocks$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Reservationsubblocks$List, - callback: BodyResponseCallback + performMaintenance( + params: Params$Resource$Reservationsubblocks$Performmaintenance, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + performMaintenance( + params: Params$Resource$Reservationsubblocks$Performmaintenance, + callback: BodyResponseCallback ): void; - list( + performMaintenance(callback: BodyResponseCallback): void; + performMaintenance( paramsOrCallback?: - | Params$Resource$Reservationsubblocks$List - | BodyResponseCallback + | Params$Resource$Reservationsubblocks$Performmaintenance + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Reservationsubblocks$List; + {}) as Params$Resource$Reservationsubblocks$Performmaintenance; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Reservationsubblocks$List; + params = {} as Params$Resource$Reservationsubblocks$Performmaintenance; options = {}; } @@ -187526,32 +189368,35 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks' + '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'parentName'], - pathParams: ['parentName', 'project', 'zone'], + requiredParams: [ + 'project', + 'zone', + 'parentName', + 'reservationSubBlock', + ], + pathParams: ['parentName', 'project', 'reservationSubBlock', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Allows customers to perform maintenance on a reservation subBlock + * Allows customers to report a faulty subBlock. * @example * ```js * // Before running the sample: @@ -187583,7 +189428,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.reservationSubBlocks.performMaintenance({ + * const res = await compute.reservationSubBlocks.reportFaulty({ * // The name of the parent reservation and parent block. In the format of reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} * parentName: 'placeholder-value', * // Project ID for this request. @@ -187594,6 +189439,16 @@ export namespace compute_alpha { * reservationSubBlock: 'placeholder-value', * // Name of the zone for this request. Zone name should conform to RFC1035. * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "disruptionSchedule": "my_disruptionSchedule", + * // "failureComponent": "my_failureComponent", + * // "faultReasons": [] + * // } + * }, * }); * console.log(res.data); * @@ -187641,32 +189496,32 @@ 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. */ - performMaintenance( - params: Params$Resource$Reservationsubblocks$Performmaintenance, + reportFaulty( + params: Params$Resource$Reservationsubblocks$Reportfaulty, options: StreamMethodOptions ): Promise>; - performMaintenance( - params?: Params$Resource$Reservationsubblocks$Performmaintenance, + reportFaulty( + params?: Params$Resource$Reservationsubblocks$Reportfaulty, options?: MethodOptions ): Promise>; - performMaintenance( - params: Params$Resource$Reservationsubblocks$Performmaintenance, + reportFaulty( + params: Params$Resource$Reservationsubblocks$Reportfaulty, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - performMaintenance( - params: Params$Resource$Reservationsubblocks$Performmaintenance, + reportFaulty( + params: Params$Resource$Reservationsubblocks$Reportfaulty, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - performMaintenance( - params: Params$Resource$Reservationsubblocks$Performmaintenance, + reportFaulty( + params: Params$Resource$Reservationsubblocks$Reportfaulty, callback: BodyResponseCallback ): void; - performMaintenance(callback: BodyResponseCallback): void; - performMaintenance( + reportFaulty(callback: BodyResponseCallback): void; + reportFaulty( paramsOrCallback?: - | Params$Resource$Reservationsubblocks$Performmaintenance + | Params$Resource$Reservationsubblocks$Reportfaulty | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -187682,12 +189537,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Reservationsubblocks$Performmaintenance; + {}) as Params$Resource$Reservationsubblocks$Reportfaulty; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Reservationsubblocks$Performmaintenance; + params = {} as Params$Resource$Reservationsubblocks$Reportfaulty; options = {}; } @@ -187702,7 +189557,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance' + '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -187807,6 +189662,34 @@ export namespace compute_alpha { */ zone?: string; } + export interface Params$Resource$Reservationsubblocks$Reportfaulty + extends StandardParameters { + /** + * The name of the parent reservation and parent block. In the format of reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} + */ + parentName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the reservation subBlock. Name should conform to RFC1035 or be a resource ID. + */ + reservationSubBlock?: string; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReservationSubBlocksReportFaultyRequest; + } export class Resource$Resourcepolicies { context: APIRequestContext; @@ -223282,6 +225165,7 @@ export namespace compute_alpha { * // "labels": {}, * // "name": "my_name", * // "network": "my_network", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "status": "my_status", @@ -223439,6 +225323,7 @@ export namespace compute_alpha { * // "labels": {}, * // "name": "my_name", * // "network": "my_network", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "status": "my_status", @@ -226556,6 +228441,7 @@ export namespace compute_alpha { * // "labels": {}, * // "name": "my_name", * // "network": "my_network", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "stackType": "my_stackType", @@ -226864,6 +228750,7 @@ export namespace compute_alpha { * // "labels": {}, * // "name": "my_name", * // "network": "my_network", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "stackType": "my_stackType", @@ -228080,6 +229967,7 @@ export namespace compute_alpha { * // "labels": {}, * // "localTrafficSelector": [], * // "name": "my_name", + * // "params": {}, * // "peerExternalGateway": "my_peerExternalGateway", * // "peerExternalGatewayInterface": 0, * // "peerGcpGateway": "my_peerGcpGateway", @@ -228248,6 +230136,7 @@ export namespace compute_alpha { * // "labels": {}, * // "localTrafficSelector": [], * // "name": "my_name", + * // "params": {}, * // "peerExternalGateway": "my_peerExternalGateway", * // "peerExternalGatewayInterface": 0, * // "peerGcpGateway": "my_peerGcpGateway", diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index 01276e37a9..c45a66b51d 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -1525,6 +1525,18 @@ export namespace compute_beta { * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE. */ maxConnectionsPerInstance?: number | null; + /** + * Defines a maximum number of in-flight requests for the whole NEG or instance group. Not available if backend's balancingMode is RATE or CONNECTION. + */ + maxInFlightRequests?: number | null; + /** + * Defines a maximum number of in-flight requests for a single endpoint. Not available if backend's balancingMode is RATE or CONNECTION. + */ + maxInFlightRequestsPerEndpoint?: number | null; + /** + * Defines a maximum number of in-flight requests for a single VM. Not available if backend's balancingMode is RATE or CONNECTION. + */ + maxInFlightRequestsPerInstance?: number | null; /** * Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION. */ @@ -1545,6 +1557,7 @@ export namespace compute_beta { * This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default */ preference?: string | null; + trafficDuration?: string | null; } /** * Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets. @@ -10830,6 +10843,10 @@ export namespace compute_beta { * [Output Only] Instance properties selected for this instance resulting from InstanceFlexibilityPolicy. */ propertiesFromFlexibilityPolicy?: Schema$ManagedInstancePropertiesFromFlexibilityPolicy; + /** + * [Output Only] Information about the termination timestamp of the instance, if applicable. + */ + scheduling?: Schema$ManagedInstanceScheduling; /** * [Output Only] The eventual status of the instance. The instance group manager will not be identified as stable till each managed instance reaches its targetStatus. */ @@ -10883,6 +10900,12 @@ export namespace compute_beta { */ provisioningModel?: string | null; } + export interface Schema$ManagedInstanceScheduling { + /** + * [Output Only] The timestamp at which the managed instance will be terminated. This is in RFC3339 text format. + */ + terminationTimestamp?: string | null; + } export interface Schema$ManagedInstanceVersion { /** * [Output Only] The intended template of the instance. This field is empty when current_action is one of { DELETING, ABANDONING \}. @@ -14959,6 +14982,10 @@ export namespace compute_beta { * 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. */ @@ -15060,6 +15087,15 @@ export namespace compute_beta { */ 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. */ @@ -15557,6 +15593,9 @@ export namespace compute_beta { * [Output Only] The status of resource policy creation. */ status?: string | null; + /** + * Resource policy for defining instance placement for MIGs. + */ workloadPolicy?: Schema$ResourcePolicyWorkloadPolicy; } /** @@ -15842,8 +15881,17 @@ export namespace compute_beta { * Represents the workload policy. */ export interface Schema$ResourcePolicyWorkloadPolicy { + /** + * Specifies the topology required to create a partition for VMs that have interconnected GPUs. + */ acceleratorTopology?: string | null; + /** + * Specifies the maximum distance between instances. + */ maxTopologyDistance?: string | null; + /** + * Specifies the intent of the instance placement in the MIG. + */ type?: string | null; } /** @@ -166015,6 +166063,7 @@ export namespace compute_beta { * * // Example response * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", @@ -166334,6 +166383,7 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", @@ -167375,6 +167425,7 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index ed28607763..f517fa5850 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -1528,6 +1528,10 @@ export namespace compute_v1 { * 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. */ @@ -1658,6 +1662,15 @@ export namespace compute_v1 { 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. @@ -1818,6 +1831,10 @@ export namespace compute_v1 { * 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. */ @@ -2236,6 +2253,15 @@ export namespace compute_v1 { */ sampleRate?: 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; } @@ -7640,10 +7666,18 @@ export namespace compute_v1 { * Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview. */ export interface Schema$Interconnect { + /** + * Enable or disable the application awareness feature on this Cloud Interconnect. + */ + aaiEnabled?: boolean | null; /** * Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true. */ adminEnabled?: boolean | null; + /** + * Configuration information for application awareness on this Cloud Interconnect. + */ + applicationAwareInterconnect?: Schema$InterconnectApplicationAwareInterconnect; /** * [Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails. */ @@ -7765,6 +7799,44 @@ export namespace compute_v1 { */ state?: string | null; } + /** + * Configuration information for application awareness on this Cloud Interconnect. + */ + export interface Schema$InterconnectApplicationAwareInterconnect { + bandwidthPercentagePolicy?: Schema$InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy; + /** + * Description for the application awareness profile on this Cloud Interconnect. + */ + profileDescription?: string | null; + /** + * Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy. + */ + shapeAveragePercentages?: Schema$InterconnectApplicationAwareInterconnectBandwidthPercentage[]; + strictPriorityPolicy?: Schema$InterconnectApplicationAwareInterconnectStrictPriorityPolicy; + } + /** + * Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified. + */ + export interface Schema$InterconnectApplicationAwareInterconnectBandwidthPercentage { + /** + * Bandwidth percentage for a specific traffic class. + */ + percentage?: number | null; + /** + * TrafficClass whose bandwidth percentage is being specified. + */ + trafficClass?: string | null; + } + export interface Schema$InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy { + /** + * Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent. + */ + bandwidthPercentages?: Schema$InterconnectApplicationAwareInterconnectBandwidthPercentage[]; + } + /** + * Specify configuration for StrictPriorityPolicy. + */ + export interface Schema$InterconnectApplicationAwareInterconnectStrictPriorityPolicy {} /** * Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments. */ @@ -10618,6 +10690,10 @@ export namespace compute_v1 { * This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE. */ autoCreateRoutes?: boolean | null; + /** + * [Output Only] The effective state of the peering connection as a whole. + */ + connectionStatus?: Schema$NetworkPeeringConnectionStatus; /** * Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE. */ @@ -10662,6 +10738,62 @@ export namespace compute_v1 { * [Output Only] Details about the current state of the peering. */ stateDetails?: string | null; + /** + * The update strategy determines the semantics for updates and deletes to the peering connection configuration. + */ + updateStrategy?: string | null; + } + /** + * [Output Only] Describes the state of a peering connection, not just the local peering. This field provides information about the effective settings for the connection as a whole, including pending delete/update requests for CONSENSUS peerings. + */ + export interface Schema$NetworkPeeringConnectionStatus { + /** + * The consensus state contains information about the status of update and delete for a consensus peering connection. + */ + consensusState?: Schema$NetworkPeeringConnectionStatusConsensusState; + /** + * The active connectivity settings for the peering connection based on the settings of the network peerings. + */ + trafficConfiguration?: Schema$NetworkPeeringConnectionStatusTrafficConfiguration; + /** + * The update strategy determines the update/delete semantics for this peering connection. + */ + updateStrategy?: string | null; + } + /** + * The status of update/delete for a consensus peering connection. Only set when connection_status.update_strategy is CONSENSUS or a network peering is proposing to update the strategy to CONSENSUS. + */ + export interface Schema$NetworkPeeringConnectionStatusConsensusState { + /** + * The status of the delete request. + */ + deleteStatus?: string | null; + /** + * The status of the update request. + */ + updateStatus?: string | null; + } + export interface Schema$NetworkPeeringConnectionStatusTrafficConfiguration { + /** + * Whether custom routes are being exported to the peer network. + */ + exportCustomRoutesToPeer?: boolean | null; + /** + * Whether subnet routes with public IP ranges are being exported to the peer network. + */ + exportSubnetRoutesWithPublicIpToPeer?: boolean | null; + /** + * Whether custom routes are being imported from the peer network. + */ + importCustomRoutesFromPeer?: boolean | null; + /** + * Whether subnet routes with public IP ranges are being imported from the peer network. + */ + importSubnetRoutesWithPublicIpFromPeer?: boolean | null; + /** + * Which IP version(s) of traffic and routes are being imported or exported between peer networks. + */ + stackType?: string | null; } export interface Schema$NetworkPerformanceConfig { totalEgressBandwidthTier?: string | null; @@ -10956,6 +11088,12 @@ export namespace compute_v1 { */ name?: string | null; } + export interface Schema$NetworksRequestRemovePeeringRequest { + /** + * Name of the peering, which should conform to RFC1035. + */ + name?: string | null; + } export interface Schema$NetworksUpdatePeeringRequest { networkPeering?: Schema$NetworkPeering; } @@ -13338,6 +13476,10 @@ export namespace compute_v1 { * 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. */ @@ -13431,6 +13573,15 @@ export namespace compute_v1 { */ 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. */ @@ -13928,6 +14079,9 @@ export namespace compute_v1 { * [Output Only] The status of resource policy creation. */ status?: string | null; + /** + * Resource policy for defining instance placement for MIGs. + */ workloadPolicy?: Schema$ResourcePolicyWorkloadPolicy; } /** @@ -14197,8 +14351,17 @@ export namespace compute_v1 { * Represents the workload policy. */ export interface Schema$ResourcePolicyWorkloadPolicy { + /** + * Specifies the topology required to create a partition for VMs that have interconnected GPUs. + */ acceleratorTopology?: string | null; + /** + * Specifies the maximum distance between instances. + */ maxTopologyDistance?: string | null; + /** + * Specifies the intent of the instance placement in the MIG. + */ type?: string | null; } /** @@ -23909,6 +24072,7 @@ export namespace compute_v1 { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "selfLink": "my_selfLink", * // "usedBy": [] * // } @@ -24214,6 +24378,7 @@ export namespace compute_v1 { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "selfLink": "my_selfLink", * // "usedBy": [] * // } @@ -24560,6 +24725,7 @@ export namespace compute_v1 { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "selfLink": "my_selfLink", * // "usedBy": [] * // } @@ -25243,6 +25409,7 @@ export namespace compute_v1 { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "selfLink": "my_selfLink", * // "usedBy": [] * // } @@ -26367,6 +26534,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -26865,6 +27033,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -27407,6 +27576,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -28303,6 +28473,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -79848,7 +80019,9 @@ export namespace compute_v1 { * * // Example response * // { + * // "aaiEnabled": false, * // "adminEnabled": false, + * // "applicationAwareInterconnect": {}, * // "availableFeatures": [], * // "circuitInfos": [], * // "creationTimestamp": "my_creationTimestamp", @@ -80330,7 +80503,9 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { + * // "aaiEnabled": false, * // "adminEnabled": false, + * // "applicationAwareInterconnect": {}, * // "availableFeatures": [], * // "circuitInfos": [], * // "creationTimestamp": "my_creationTimestamp", @@ -80693,7 +80868,9 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { + * // "aaiEnabled": false, * // "adminEnabled": false, + * // "applicationAwareInterconnect": {}, * // "availableFeatures": [], * // "circuitInfos": [], * // "creationTimestamp": "my_creationTimestamp", @@ -95574,6 +95751,186 @@ export namespace compute_v1 { } } + /** + * Requests to remove a peering from the specified network. Applicable only for PeeringConnection with update_strategy=CONSENSUS. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networks.requestRemovePeering({ + * // Name of the network resource to remove peering from. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name" + * // } + * }, + * }); + * 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", + * // "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. + */ + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, + options: StreamMethodOptions + ): Promise>; + requestRemovePeering( + params?: Params$Resource$Networks$Requestremovepeering, + options?: MethodOptions + ): Promise>; + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, + callback: BodyResponseCallback + ): void; + requestRemovePeering( + callback: BodyResponseCallback + ): void; + requestRemovePeering( + paramsOrCallback?: + | Params$Resource$Networks$Requestremovepeering + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Networks$Requestremovepeering; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networks$Requestremovepeering; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/networks/{network}/requestRemovePeering' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Switches the network mode from auto subnet mode to custom subnet mode. * @example @@ -96101,6 +96458,26 @@ export namespace compute_v1 { */ requestBody?: Schema$NetworksRemovePeeringRequest; } + export interface Params$Resource$Networks$Requestremovepeering + extends StandardParameters { + /** + * Name of the network resource to remove peering from. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworksRequestRemovePeeringRequest; + } export interface Params$Resource$Networks$Switchtocustommode extends StandardParameters { /** @@ -109529,6 +109906,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -110033,6 +110411,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -110583,6 +110962,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -111307,6 +111687,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -143149,6 +143530,7 @@ export namespace compute_v1 { * * // Example response * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", @@ -143466,6 +143848,7 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", @@ -144505,6 +144888,7 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", From 717360aaca03d6de108d1ec55696a58a1e45d429 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:12 +0000 Subject: [PATCH 17/43] feat(contactcenterinsights): update the API #### contactcenterinsights:v1 The following keys were added: - schemas.GoogleCloudContactcenterinsightsV1ConversationQualityMetadata.properties.feedbackLabels.description - schemas.GoogleCloudContactcenterinsightsV1ConversationQualityMetadata.properties.feedbackLabels.items.$ref - schemas.GoogleCloudContactcenterinsightsV1ConversationQualityMetadata.properties.feedbackLabels.type - schemas.GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata.properties.feedbackLabels.description - schemas.GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata.properties.feedbackLabels.items.$ref - schemas.GoogleCloudContactcenterinsightsV1alpha1ConversationQualityMetadata.properties.feedbackLabels.type --- discovery/contactcenterinsights-v1.json | 16 +++++++++++++++- src/apis/contactcenterinsights/v1.ts | 8 ++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/discovery/contactcenterinsights-v1.json b/discovery/contactcenterinsights-v1.json index 94d0fd47e2..1047d7732a 100644 --- a/discovery/contactcenterinsights-v1.json +++ b/discovery/contactcenterinsights-v1.json @@ -5305,7 +5305,7 @@ } } }, - "revision": "20250729", + "revision": "20250804", "rootUrl": "https://contactcenterinsights.googleapis.com/", "schemas": { "GoogleCloudContactcenterinsightsV1Analysis": { @@ -6656,6 +6656,13 @@ "format": "int32", "type": "integer" }, + "feedbackLabels": { + "description": "Input only. The feedback labels associated with the conversation.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" + }, + "type": "array" + }, "menuPath": { "description": "An arbitrary string value specifying the menu path the customer took.", "type": "string" @@ -11080,6 +11087,13 @@ "format": "int32", "type": "integer" }, + "feedbackLabels": { + "description": "Input only. The feedback labels associated with the conversation.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel" + }, + "type": "array" + }, "menuPath": { "description": "An arbitrary string value specifying the menu path the customer took.", "type": "string" diff --git a/src/apis/contactcenterinsights/v1.ts b/src/apis/contactcenterinsights/v1.ts index 6ed26f5a06..87f81eeb8f 100644 --- a/src/apis/contactcenterinsights/v1.ts +++ b/src/apis/contactcenterinsights/v1.ts @@ -740,6 +740,10 @@ export namespace contactcenterinsights_v1 { * An arbitrary integer value indicating the customer's satisfaction rating. */ customerSatisfactionRating?: number | null; + /** + * Input only. The feedback labels associated with the conversation. + */ + feedbackLabels?: Schema$GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel[]; /** * An arbitrary string value specifying the menu path the customer took. */ @@ -3618,6 +3622,10 @@ export namespace contactcenterinsights_v1 { * An arbitrary integer value indicating the customer's satisfaction rating. */ customerSatisfactionRating?: number | null; + /** + * Input only. The feedback labels associated with the conversation. + */ + feedbackLabels?: Schema$GoogleCloudContactcenterinsightsV1FeedbackLabel[]; /** * An arbitrary string value specifying the menu path the customer took. */ From ccc1741723ab2c3007604d2e2af3800ed526a499 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:12 +0000 Subject: [PATCH 18/43] fix(dataplex): update the API #### dataplex:v1 The following keys were changed: - description - resources.projects.resources.locations.methods.searchEntries.parameters.query.description - resources.projects.resources.locations.resources.metadataJobs.methods.create.description - schemas.GoogleCloudDataplexV1AspectTypeAuthorization.properties.alternateUsePermission.description - schemas.GoogleCloudDataplexV1DataProfileResultProfileField.properties.type.description - schemas.GoogleCloudDataplexV1DataQualityResult.properties.catalogPublishingStatus.description - schemas.GoogleCloudDataplexV1DataQualitySpec.properties.catalogPublishingEnabled.description - schemas.GoogleCloudDataplexV1DataScanCatalogPublishingStatus.description - schemas.GoogleCloudDataplexV1DataScanEvent.properties.catalogPublishingStatus.description - schemas.GoogleCloudDataplexV1DataSource.properties.entity.description - schemas.GoogleCloudDataplexV1Entry.properties.createTime.description - schemas.GoogleCloudDataplexV1Entry.properties.updateTime.description - schemas.GoogleCloudDataplexV1EntryTypeAuthorization.properties.alternateUsePermission.description - schemas.GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime.properties.imageVersion.description - schemas.GoogleCloudDataplexV1GenerateDataQualityRulesResponse.properties.rule.description - schemas.GoogleCloudDataplexV1ImportItem.properties.aspectKeys.description - schemas.GoogleCloudDataplexV1ImportItem.properties.updateMask.description - schemas.GoogleCloudDataplexV1Job.properties.state.enumDescriptions - schemas.GoogleCloudDataplexV1Job.properties.trigger.enumDescriptions - schemas.GoogleCloudDataplexV1JobEvent.properties.executionTrigger.enumDescriptions - schemas.GoogleCloudDataplexV1MetadataJobExportJobSpec.properties.outputPath.description - schemas.GoogleCloudDataplexV1MetadataJobImportJobSpec.properties.aspectSyncMode.enumDescriptions - schemas.GoogleCloudDataplexV1MetadataJobImportJobSpec.properties.entrySyncMode.enumDescriptions - schemas.GoogleCloudDataplexV1Schema.properties.userManaged.description --- discovery/dataplex-v1.json | 50 +++++++++++++++++++------------------- src/apis/dataplex/v1.ts | 40 +++++++++++++++--------------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/discovery/dataplex-v1.json b/discovery/dataplex-v1.json index 99760fa8c7..f1c96fc1a7 100644 --- a/discovery/dataplex-v1.json +++ b/discovery/dataplex-v1.json @@ -12,7 +12,7 @@ "baseUrl": "https://dataplex.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloud Dataplex", - "description": "Dataplex API is used to manage the lifecycle of data lakes.", + "description": "A unified, intelligent governance solution for data and AI assets.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/dataplex/docs", "endpoints": [ @@ -902,7 +902,7 @@ "type": "string" }, "query": { - "description": "Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Catalog (https://cloud.google.com/dataplex/docs/search-syntax).", + "description": "Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/search-syntax).", "location": "query", "type": "string" }, @@ -6973,7 +6973,7 @@ ] }, "create": { - "description": "Creates a metadata job. For example, use a metadata job to import Dataplex Catalog entries and aspects from a third-party system into Dataplex.", + "description": "Creates a metadata job. For example, use a metadata job to import metadata from a third-party system into Dataplex Universal Catalog.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs", "httpMethod": "POST", "id": "dataplex.projects.locations.metadataJobs.create", @@ -7211,7 +7211,7 @@ } } }, - "revision": "20250729", + "revision": "20250805", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -7567,7 +7567,7 @@ "id": "GoogleCloudDataplexV1AspectTypeAuthorization", "properties": { "alternateUsePermission": { - "description": "Immutable. The IAM permission grantable on the EntryGroup to allow access to instantiate Aspects of Dataplex owned AspectTypes, only settable for Dataplex owned Types.", + "description": "Immutable. The IAM permission grantable on the EntryGroup to allow access to instantiate Aspects of Dataplex Universal Catalog owned AspectTypes, only settable for Dataplex Universal Catalog owned Types.", "type": "string" } }, @@ -8680,7 +8680,7 @@ "description": "Profile information for the corresponding field." }, "type": { - "description": "The data type retrieved from the schema of the data source. For instance, for a BigQuery native table, it is the BigQuery Table Schema (https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#tablefieldschema). For a Dataplex Entity, it is the Entity Schema (https://cloud.google.com/dataplex/docs/reference/rpc/google.cloud.dataplex.v1#type_3).", + "description": "The data type retrieved from the schema of the data source. For instance, for a BigQuery native table, it is the BigQuery Table Schema (https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#tablefieldschema). For a Dataplex Universal Catalog Entity, it is the Entity Schema (https://cloud.google.com/dataplex/docs/reference/rpc/google.cloud.dataplex.v1#type_3).", "type": "string" } }, @@ -8970,7 +8970,7 @@ "properties": { "catalogPublishingStatus": { "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus", - "description": "Output only. The status of publishing the data scan to Catalog.", + "description": "Output only. The status of publishing the data scan as Dataplex Universal Catalog metadata.", "readOnly": true }, "columns": { @@ -9437,7 +9437,7 @@ "id": "GoogleCloudDataplexV1DataQualitySpec", "properties": { "catalogPublishingEnabled": { - "description": "Optional. If set, the latest DataScan job result will be published to Dataplex Catalog.", + "description": "Optional. If set, the latest DataScan job result will be published as Dataplex Universal Catalog metadata.", "type": "boolean" }, "postScanActions": { @@ -9671,7 +9671,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataScanCatalogPublishingStatus": { - "description": "The status of publishing the data scan result to Catalog.", + "description": "The status of publishing the data scan result as Dataplex Universal Catalog metadata.", "id": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus", "properties": { "state": { @@ -9698,7 +9698,7 @@ "properties": { "catalogPublishingStatus": { "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus", - "description": "The status of publishing the data scan to Catalog." + "description": "The status of publishing the data scan as Dataplex Universal Catalog metadata." }, "createTime": { "description": "The time when the data scan job was created.", @@ -10100,7 +10100,7 @@ "id": "GoogleCloudDataplexV1DataSource", "properties": { "entity": { - "description": "Immutable. The Dataplex entity that represents the data source (e.g. BigQuery table) for DataScan, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.", + "description": "Immutable. The Dataplex Universal Catalog entity that represents the data source (e.g. BigQuery table) for DataScan, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.", "type": "string" }, "resource": { @@ -10605,7 +10605,7 @@ "type": "object" }, "createTime": { - "description": "Output only. The time when the entry was created in Dataplex.", + "description": "Output only. The time when the entry was created in Dataplex Universal Catalog.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -10631,7 +10631,7 @@ "type": "string" }, "updateTime": { - "description": "Output only. The time when the entry was last updated in Dataplex.", + "description": "Output only. The time when the entry was last updated in Dataplex Universal Catalog.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -10955,7 +10955,7 @@ "id": "GoogleCloudDataplexV1EntryTypeAuthorization", "properties": { "alternateUsePermission": { - "description": "Immutable. The IAM permission grantable on the Entry Group to allow access to instantiate Entries of Dataplex owned Entry Types, only settable for Dataplex owned Types.", + "description": "Immutable. The IAM permission grantable on the Entry Group to allow access to instantiate Entries of Dataplex Universal Catalog owned Entry Types, only settable for Dataplex Universal Catalog owned Types.", "type": "string" } }, @@ -11101,7 +11101,7 @@ "id": "GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime", "properties": { "imageVersion": { - "description": "Required. Dataplex Image version.", + "description": "Required. Dataplex Universal Catalog Image version.", "type": "string" }, "javaLibraries": { @@ -11167,7 +11167,7 @@ "id": "GoogleCloudDataplexV1GenerateDataQualityRulesResponse", "properties": { "rule": { - "description": "The data quality rules that Dataplex generates based on the results of a data profiling scan.", + "description": "The data quality rules that Dataplex Universal Catalog generates based on the results of a data profiling scan.", "items": { "$ref": "GoogleCloudDataplexV1DataQualityRule" }, @@ -11419,7 +11419,7 @@ "id": "GoogleCloudDataplexV1ImportItem", "properties": { "aspectKeys": { - "description": "The aspects to modify. Supports the following syntaxes: {aspect_type_reference}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference}@{path}: matches aspects that belong to the specified aspect type and path. {aspect_type_reference}@* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path.Replace {aspect_type_reference} with a reference to the aspect type, in the format {project_id_or_number}.{location_id}.{aspect_type_id}.In FULL entry sync mode, if you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry. Dataplex implicitly adds the keys for all of the required aspects of an entry.", + "description": "The aspects to modify. Supports the following syntaxes: {aspect_type_reference}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference}@{path}: matches aspects that belong to the specified aspect type and path. {aspect_type_reference}@* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path.Replace {aspect_type_reference} with a reference to the aspect type, in the format {project_id_or_number}.{location_id}.{aspect_type_id}.In FULL entry sync mode, if you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry. Dataplex Universal Catalog implicitly adds the keys for all of the required aspects of an entry.", "items": { "type": "string" }, @@ -11434,7 +11434,7 @@ "description": "Information about the entry link. User should provide either one of the entry or entry_link. While providing entry_link, user should not provide update_mask and aspect_keys." }, "updateMask": { - "description": "The fields to update, in paths that are relative to the Entry resource. Separate each field with a comma.In FULL entry sync mode, Dataplex includes the paths of all of the fields for an entry that can be modified, including aspects. This means that Dataplex replaces the existing entry with the entry in the metadata import file. All modifiable fields are updated, regardless of the fields that are listed in the update mask, and regardless of whether a field is present in the entry object.The update_mask field is ignored when an entry is created or re-created.In an aspect-only metadata job (when entry sync mode is NONE), set this value to aspects.Dataplex also determines which entries and aspects to modify by comparing the values and timestamps that you provide in the metadata import file with the values and timestamps that exist in your project. For more information, see Comparison logic (https://cloud.google.com/dataplex/docs/import-metadata#data-modification-logic).", + "description": "The fields to update, in paths that are relative to the Entry resource. Separate each field with a comma.In FULL entry sync mode, Dataplex Universal Catalog includes the paths of all of the fields for an entry that can be modified, including aspects. This means that Dataplex Universal Catalog replaces the existing entry with the entry in the metadata import file. All modifiable fields are updated, regardless of the fields that are listed in the update mask, and regardless of whether a field is present in the entry object.The update_mask field is ignored when an entry is created or re-created.In an aspect-only metadata job (when entry sync mode is NONE), set this value to aspects.Dataplex Universal Catalog also determines which entries and aspects to modify by comparing the values and timestamps that you provide in the metadata import file with the values and timestamps that exist in your project. For more information, see Comparison logic (https://cloud.google.com/dataplex/docs/import-metadata#data-modification-logic).", "format": "google-fieldmask", "type": "string" } @@ -11522,7 +11522,7 @@ "The job cancellation was successful.", "The job completed successfully.", "The job is no longer running due to an error.", - "The job was cancelled outside of Dataplex." + "The job was cancelled outside of Dataplex Universal Catalog." ], "readOnly": true, "type": "string" @@ -11536,7 +11536,7 @@ ], "enumDescriptions": [ "The trigger is unspecified.", - "The job was triggered by Dataplex based on trigger spec from task definition.", + "The job was triggered by Dataplex Universal Catalog based on trigger spec from task definition.", "The job was triggered by the explicit call of Task API." ], "readOnly": true, @@ -11568,7 +11568,7 @@ ], "enumDescriptions": [ "The job execution trigger is unspecified.", - "The job was triggered by Dataplex based on trigger spec from task definition.", + "The job was triggered by Dataplex Universal Catalog based on trigger spec from task definition.", "The job was triggered by the explicit call of Task API." ], "type": "string" @@ -12417,7 +12417,7 @@ "id": "GoogleCloudDataplexV1MetadataJobExportJobSpec", "properties": { "outputPath": { - "description": "Required. The root path of the Cloud Storage bucket to export the metadata to, in the format gs://{bucket}/. You can optionally specify a custom prefix after the bucket name, in the format gs://{bucket}/{prefix}/. The maximum length of the custom prefix is 128 characters. Dataplex constructs the object path for the exported files by using the bucket name and prefix that you provide, followed by a system-generated path.The bucket must be in the same VPC Service Controls perimeter as the job.", + "description": "Required. The root path of the Cloud Storage bucket to export the metadata to, in the format gs://{bucket}/. You can optionally specify a custom prefix after the bucket name, in the format gs://{bucket}/{prefix}/. The maximum length of the custom prefix is 128 characters. Dataplex Universal Catalog constructs the object path for the exported files by using the bucket name and prefix that you provide, followed by a system-generated path.The bucket must be in the same VPC Service Controls perimeter as the job.", "type": "string" }, "scope": { @@ -12541,7 +12541,7 @@ ], "enumDescriptions": [ "Sync mode unspecified.", - "All resources in the job's scope are modified. If a resource exists in Dataplex but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.This sync mode is supported for entries.", + "All resources in the job's scope are modified. If a resource exists in Dataplex Universal Catalog but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.This sync mode is supported for entries.", "Only the resources that are explicitly included in the metadata import file are modified. Use this mode to modify a subset of resources while leaving unreferenced resources unchanged.This sync mode is supported for aspects.", "If entry sync mode is NONE, then aspects are modified according to the aspect sync mode. Other metadata that belongs to entries in the job's scope isn't modified.This sync mode is supported for entries." ], @@ -12557,7 +12557,7 @@ ], "enumDescriptions": [ "Sync mode unspecified.", - "All resources in the job's scope are modified. If a resource exists in Dataplex but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.This sync mode is supported for entries.", + "All resources in the job's scope are modified. If a resource exists in Dataplex Universal Catalog but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.This sync mode is supported for entries.", "Only the resources that are explicitly included in the metadata import file are modified. Use this mode to modify a subset of resources while leaving unreferenced resources unchanged.This sync mode is supported for aspects.", "If entry sync mode is NONE, then aspects are modified according to the aspect sync mode. Other metadata that belongs to entries in the job's scope isn't modified.This sync mode is supported for entries." ], @@ -12899,7 +12899,7 @@ "type": "string" }, "userManaged": { - "description": "Required. Set to true if user-managed or false if managed by Dataplex. The default is false (managed by Dataplex). Set to falseto enable Dataplex discovery to update the schema. including new data discovery, schema inference, and schema evolution. Users retain the ability to input and edit the schema. Dataplex treats schema input by the user as though produced by a previous Dataplex discovery operation, and it will evolve the schema and take action based on that treatment. Set to true to fully manage the entity schema. This setting guarantees that Dataplex will not change schema fields.", + "description": "Required. Set to true if user-managed or false if managed by Dataplex Universal Catalog. The default is false (managed by Dataplex Universal Catalog). Set to falseto enable Dataplex Universal Catalog discovery to update the schema. including new data discovery, schema inference, and schema evolution. Users retain the ability to input and edit the schema. Dataplex Universal Catalog treats schema input by the user as though produced by a previous Dataplex Universal Catalog discovery operation, and it will evolve the schema and take action based on that treatment. Set to true to fully manage the entity schema. This setting guarantees that Dataplex Universal Catalog will not change schema fields.", "type": "boolean" } }, diff --git a/src/apis/dataplex/v1.ts b/src/apis/dataplex/v1.ts index 7ca66aba51..88764e8e8e 100644 --- a/src/apis/dataplex/v1.ts +++ b/src/apis/dataplex/v1.ts @@ -102,7 +102,7 @@ export namespace dataplex_v1 { /** * Cloud Dataplex API * - * Dataplex API is used to manage the lifecycle of data lakes. + * A unified, intelligent governance solution for data and AI assets. * * @example * ```js @@ -375,7 +375,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1AspectTypeAuthorization { /** - * Immutable. The IAM permission grantable on the EntryGroup to allow access to instantiate Aspects of Dataplex owned AspectTypes, only settable for Dataplex owned Types. + * Immutable. The IAM permission grantable on the EntryGroup to allow access to instantiate Aspects of Dataplex Universal Catalog owned AspectTypes, only settable for Dataplex Universal Catalog owned Types. */ alternateUsePermission?: string | null; } @@ -1166,7 +1166,7 @@ export namespace dataplex_v1 { */ profile?: Schema$GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo; /** - * The data type retrieved from the schema of the data source. For instance, for a BigQuery native table, it is the BigQuery Table Schema (https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#tablefieldschema). For a Dataplex Entity, it is the Entity Schema (https://cloud.google.com/dataplex/docs/reference/rpc/google.cloud.dataplex.v1#type_3). + * The data type retrieved from the schema of the data source. For instance, for a BigQuery native table, it is the BigQuery Table Schema (https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#tablefieldschema). For a Dataplex Universal Catalog Entity, it is the Entity Schema (https://cloud.google.com/dataplex/docs/reference/rpc/google.cloud.dataplex.v1#type_3). */ type?: string | null; } @@ -1387,7 +1387,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1DataQualityResult { /** - * Output only. The status of publishing the data scan to Catalog. + * Output only. The status of publishing the data scan as Dataplex Universal Catalog metadata. */ catalogPublishingStatus?: Schema$GoogleCloudDataplexV1DataScanCatalogPublishingStatus; /** @@ -1712,7 +1712,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1DataQualitySpec { /** - * Optional. If set, the latest DataScan job result will be published to Dataplex Catalog. + * Optional. If set, the latest DataScan job result will be published as Dataplex Universal Catalog metadata. */ catalogPublishingEnabled?: boolean | null; /** @@ -1879,7 +1879,7 @@ export namespace dataplex_v1 { updateTime?: string | null; } /** - * The status of publishing the data scan result to Catalog. + * The status of publishing the data scan result as Dataplex Universal Catalog metadata. */ export interface Schema$GoogleCloudDataplexV1DataScanCatalogPublishingStatus { /** @@ -1892,7 +1892,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1DataScanEvent { /** - * The status of publishing the data scan to Catalog. + * The status of publishing the data scan as Dataplex Universal Catalog metadata. */ catalogPublishingStatus?: Schema$GoogleCloudDataplexV1DataScanCatalogPublishingStatus; /** @@ -2146,7 +2146,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1DataSource { /** - * Immutable. The Dataplex entity that represents the data source (e.g. BigQuery table) for DataScan, of the form: projects/{project_number\}/locations/{location_id\}/lakes/{lake_id\}/zones/{zone_id\}/entities/{entity_id\}. + * Immutable. The Dataplex Universal Catalog entity that represents the data source (e.g. BigQuery table) for DataScan, of the form: projects/{project_number\}/locations/{location_id\}/lakes/{lake_id\}/zones/{zone_id\}/entities/{entity_id\}. */ entity?: string | null; /** @@ -2479,7 +2479,7 @@ export namespace dataplex_v1 { */ aspects?: {[key: string]: Schema$GoogleCloudDataplexV1Aspect} | null; /** - * Output only. The time when the entry was created in Dataplex. + * Output only. The time when the entry was created in Dataplex Universal Catalog. */ createTime?: string | null; /** @@ -2503,7 +2503,7 @@ export namespace dataplex_v1 { */ parentEntry?: string | null; /** - * Output only. The time when the entry was last updated in Dataplex. + * Output only. The time when the entry was last updated in Dataplex Universal Catalog. */ updateTime?: string | null; } @@ -2733,7 +2733,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1EntryTypeAuthorization { /** - * Immutable. The IAM permission grantable on the Entry Group to allow access to instantiate Entries of Dataplex owned Entry Types, only settable for Dataplex owned Types. + * Immutable. The IAM permission grantable on the Entry Group to allow access to instantiate Entries of Dataplex Universal Catalog owned Entry Types, only settable for Dataplex Universal Catalog owned Types. */ alternateUsePermission?: string | null; } @@ -2838,7 +2838,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime { /** - * Required. Dataplex Image version. + * Required. Dataplex Universal Catalog Image version. */ imageVersion?: string | null; /** @@ -2885,7 +2885,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1GenerateDataQualityRulesResponse { /** - * The data quality rules that Dataplex generates based on the results of a data profiling scan. + * The data quality rules that Dataplex Universal Catalog generates based on the results of a data profiling scan. */ rule?: Schema$GoogleCloudDataplexV1DataQualityRule[]; } @@ -3043,7 +3043,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1ImportItem { /** - * The aspects to modify. Supports the following syntaxes: {aspect_type_reference\}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference\}@{path\}: matches aspects that belong to the specified aspect type and path. {aspect_type_reference\}@* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path.Replace {aspect_type_reference\} with a reference to the aspect type, in the format {project_id_or_number\}.{location_id\}.{aspect_type_id\}.In FULL entry sync mode, if you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry. Dataplex implicitly adds the keys for all of the required aspects of an entry. + * The aspects to modify. Supports the following syntaxes: {aspect_type_reference\}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference\}@{path\}: matches aspects that belong to the specified aspect type and path. {aspect_type_reference\}@* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path.Replace {aspect_type_reference\} with a reference to the aspect type, in the format {project_id_or_number\}.{location_id\}.{aspect_type_id\}.In FULL entry sync mode, if you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry. Dataplex Universal Catalog implicitly adds the keys for all of the required aspects of an entry. */ aspectKeys?: string[] | null; /** @@ -3055,7 +3055,7 @@ export namespace dataplex_v1 { */ entryLink?: Schema$GoogleCloudDataplexV1EntryLink; /** - * The fields to update, in paths that are relative to the Entry resource. Separate each field with a comma.In FULL entry sync mode, Dataplex includes the paths of all of the fields for an entry that can be modified, including aspects. This means that Dataplex replaces the existing entry with the entry in the metadata import file. All modifiable fields are updated, regardless of the fields that are listed in the update mask, and regardless of whether a field is present in the entry object.The update_mask field is ignored when an entry is created or re-created.In an aspect-only metadata job (when entry sync mode is NONE), set this value to aspects.Dataplex also determines which entries and aspects to modify by comparing the values and timestamps that you provide in the metadata import file with the values and timestamps that exist in your project. For more information, see Comparison logic (https://cloud.google.com/dataplex/docs/import-metadata#data-modification-logic). + * The fields to update, in paths that are relative to the Entry resource. Separate each field with a comma.In FULL entry sync mode, Dataplex Universal Catalog includes the paths of all of the fields for an entry that can be modified, including aspects. This means that Dataplex Universal Catalog replaces the existing entry with the entry in the metadata import file. All modifiable fields are updated, regardless of the fields that are listed in the update mask, and regardless of whether a field is present in the entry object.The update_mask field is ignored when an entry is created or re-created.In an aspect-only metadata job (when entry sync mode is NONE), set this value to aspects.Dataplex Universal Catalog also determines which entries and aspects to modify by comparing the values and timestamps that you provide in the metadata import file with the values and timestamps that exist in your project. For more information, see Comparison logic (https://cloud.google.com/dataplex/docs/import-metadata#data-modification-logic). */ updateMask?: string | null; } @@ -3688,7 +3688,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1MetadataJobExportJobSpec { /** - * Required. The root path of the Cloud Storage bucket to export the metadata to, in the format gs://{bucket\}/. You can optionally specify a custom prefix after the bucket name, in the format gs://{bucket\}/{prefix\}/. The maximum length of the custom prefix is 128 characters. Dataplex constructs the object path for the exported files by using the bucket name and prefix that you provide, followed by a system-generated path.The bucket must be in the same VPC Service Controls perimeter as the job. + * Required. The root path of the Cloud Storage bucket to export the metadata to, in the format gs://{bucket\}/. You can optionally specify a custom prefix after the bucket name, in the format gs://{bucket\}/{prefix\}/. The maximum length of the custom prefix is 128 characters. Dataplex Universal Catalog constructs the object path for the exported files by using the bucket name and prefix that you provide, followed by a system-generated path.The bucket must be in the same VPC Service Controls perimeter as the job. */ outputPath?: string | null; /** @@ -3984,7 +3984,7 @@ export namespace dataplex_v1 { */ partitionStyle?: string | null; /** - * Required. Set to true if user-managed or false if managed by Dataplex. The default is false (managed by Dataplex). Set to falseto enable Dataplex discovery to update the schema. including new data discovery, schema inference, and schema evolution. Users retain the ability to input and edit the schema. Dataplex treats schema input by the user as though produced by a previous Dataplex discovery operation, and it will evolve the schema and take action based on that treatment. Set to true to fully manage the entity schema. This setting guarantees that Dataplex will not change schema fields. + * Required. Set to true if user-managed or false if managed by Dataplex Universal Catalog. The default is false (managed by Dataplex Universal Catalog). Set to falseto enable Dataplex Universal Catalog discovery to update the schema. including new data discovery, schema inference, and schema evolution. Users retain the ability to input and edit the schema. Dataplex Universal Catalog treats schema input by the user as though produced by a previous Dataplex Universal Catalog discovery operation, and it will evolve the schema and take action based on that treatment. Set to true to fully manage the entity schema. This setting guarantees that Dataplex Universal Catalog will not change schema fields. */ userManaged?: boolean | null; } @@ -7393,7 +7393,7 @@ export namespace dataplex_v1 { * pageSize: 'placeholder-value', * // Optional. Page token received from a previous SearchEntries call. Provide this to retrieve the subsequent page. * pageToken: 'placeholder-value', - * // Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Catalog (https://cloud.google.com/dataplex/docs/search-syntax). + * // Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/search-syntax). * query: 'placeholder-value', * // Optional. The scope under which the search should be operating. It must either be organizations/ or projects/. If it is unspecified, it defaults to the organization where the project provided in name is located. * scope: 'placeholder-value', @@ -7589,7 +7589,7 @@ export namespace dataplex_v1 { */ pageToken?: string; /** - * Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Catalog (https://cloud.google.com/dataplex/docs/search-syntax). + * Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/search-syntax). */ query?: string; /** @@ -38149,7 +38149,7 @@ export namespace dataplex_v1 { } /** - * Creates a metadata job. For example, use a metadata job to import Dataplex Catalog entries and aspects from a third-party system into Dataplex. + * Creates a metadata job. For example, use a metadata job to import metadata from a third-party system into Dataplex Universal Catalog. * @example * ```js * // Before running the sample: From 93b5e1f7660b2c6f3ebc29d8234cb497281000b8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:12 +0000 Subject: [PATCH 19/43] feat(dialogflow): update the API #### dialogflow:v3beta1 The following keys were added: - schemas.GoogleCloudDialogflowCxV3beta1Flow.properties.inputParameterDefinitions.description - schemas.GoogleCloudDialogflowCxV3beta1Flow.properties.inputParameterDefinitions.items.$ref - schemas.GoogleCloudDialogflowCxV3beta1Flow.properties.inputParameterDefinitions.type - schemas.GoogleCloudDialogflowCxV3beta1Flow.properties.outputParameterDefinitions.description - schemas.GoogleCloudDialogflowCxV3beta1Flow.properties.outputParameterDefinitions.items.$ref - schemas.GoogleCloudDialogflowCxV3beta1Flow.properties.outputParameterDefinitions.type #### dialogflow:v3 The following keys were added: - schemas.GoogleCloudDialogflowCxV3Action.properties.flowTransition.$ref - schemas.GoogleCloudDialogflowCxV3Action.properties.flowTransition.description - schemas.GoogleCloudDialogflowCxV3Action.properties.playbookTransition.$ref - schemas.GoogleCloudDialogflowCxV3Action.properties.playbookTransition.description - schemas.GoogleCloudDialogflowCxV3Flow.properties.inputParameterDefinitions.description - schemas.GoogleCloudDialogflowCxV3Flow.properties.inputParameterDefinitions.items.$ref - schemas.GoogleCloudDialogflowCxV3Flow.properties.inputParameterDefinitions.type - schemas.GoogleCloudDialogflowCxV3Flow.properties.outputParameterDefinitions.description - schemas.GoogleCloudDialogflowCxV3Flow.properties.outputParameterDefinitions.items.$ref - schemas.GoogleCloudDialogflowCxV3Flow.properties.outputParameterDefinitions.type - schemas.GoogleCloudDialogflowCxV3FlowTransition.description - schemas.GoogleCloudDialogflowCxV3FlowTransition.id - schemas.GoogleCloudDialogflowCxV3FlowTransition.properties.displayName.description - schemas.GoogleCloudDialogflowCxV3FlowTransition.properties.displayName.readOnly - schemas.GoogleCloudDialogflowCxV3FlowTransition.properties.displayName.type - schemas.GoogleCloudDialogflowCxV3FlowTransition.properties.flow.description - schemas.GoogleCloudDialogflowCxV3FlowTransition.properties.flow.type - schemas.GoogleCloudDialogflowCxV3FlowTransition.type - schemas.GoogleCloudDialogflowCxV3InlineSchema.description - schemas.GoogleCloudDialogflowCxV3InlineSchema.id - schemas.GoogleCloudDialogflowCxV3InlineSchema.properties.items.$ref - schemas.GoogleCloudDialogflowCxV3InlineSchema.properties.items.description - schemas.GoogleCloudDialogflowCxV3InlineSchema.properties.type.description - schemas.GoogleCloudDialogflowCxV3InlineSchema.properties.type.enum - schemas.GoogleCloudDialogflowCxV3InlineSchema.properties.type.enumDescriptions - schemas.GoogleCloudDialogflowCxV3InlineSchema.properties.type.type - schemas.GoogleCloudDialogflowCxV3InlineSchema.type - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.description - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.id - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.description.description - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.description.type - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.name.description - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.name.type - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.type.deprecated - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.type.description - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.type.enum - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.type.enumDescriptions - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.type.type - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.typeSchema.$ref - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.properties.typeSchema.description - schemas.GoogleCloudDialogflowCxV3ParameterDefinition.type - schemas.GoogleCloudDialogflowCxV3Playbook.properties.inputParameterDefinitions.description - schemas.GoogleCloudDialogflowCxV3Playbook.properties.inputParameterDefinitions.items.$ref - schemas.GoogleCloudDialogflowCxV3Playbook.properties.inputParameterDefinitions.type - schemas.GoogleCloudDialogflowCxV3Playbook.properties.outputParameterDefinitions.description - schemas.GoogleCloudDialogflowCxV3Playbook.properties.outputParameterDefinitions.items.$ref - schemas.GoogleCloudDialogflowCxV3Playbook.properties.outputParameterDefinitions.type - schemas.GoogleCloudDialogflowCxV3Playbook.properties.playbookType.description - schemas.GoogleCloudDialogflowCxV3Playbook.properties.playbookType.enum - schemas.GoogleCloudDialogflowCxV3Playbook.properties.playbookType.enumDescriptions - schemas.GoogleCloudDialogflowCxV3Playbook.properties.playbookType.type - schemas.GoogleCloudDialogflowCxV3PlaybookTransition.description - schemas.GoogleCloudDialogflowCxV3PlaybookTransition.id - schemas.GoogleCloudDialogflowCxV3PlaybookTransition.properties.displayName.description - schemas.GoogleCloudDialogflowCxV3PlaybookTransition.properties.displayName.readOnly - schemas.GoogleCloudDialogflowCxV3PlaybookTransition.properties.displayName.type - schemas.GoogleCloudDialogflowCxV3PlaybookTransition.properties.playbook.description - schemas.GoogleCloudDialogflowCxV3PlaybookTransition.properties.playbook.type - schemas.GoogleCloudDialogflowCxV3PlaybookTransition.type - schemas.GoogleCloudDialogflowCxV3TypeSchema.description - schemas.GoogleCloudDialogflowCxV3TypeSchema.id - schemas.GoogleCloudDialogflowCxV3TypeSchema.properties.inlineSchema.$ref - schemas.GoogleCloudDialogflowCxV3TypeSchema.properties.inlineSchema.description - schemas.GoogleCloudDialogflowCxV3TypeSchema.properties.schemaReference.$ref - schemas.GoogleCloudDialogflowCxV3TypeSchema.properties.schemaReference.description - schemas.GoogleCloudDialogflowCxV3TypeSchema.type - schemas.GoogleCloudDialogflowCxV3TypeSchemaSchemaReference.description - schemas.GoogleCloudDialogflowCxV3TypeSchemaSchemaReference.id - schemas.GoogleCloudDialogflowCxV3TypeSchemaSchemaReference.properties.schema.description - schemas.GoogleCloudDialogflowCxV3TypeSchemaSchemaReference.properties.schema.type - schemas.GoogleCloudDialogflowCxV3TypeSchemaSchemaReference.properties.tool.description - schemas.GoogleCloudDialogflowCxV3TypeSchemaSchemaReference.properties.tool.type - schemas.GoogleCloudDialogflowCxV3TypeSchemaSchemaReference.type --- discovery/dialogflow-v3.json | 185 +++++++++++++++++++++++++++++- discovery/dialogflow-v3beta1.json | 16 ++- src/apis/dialogflow/v3.ts | 139 ++++++++++++++++++++++ src/apis/dialogflow/v3beta1.ts | 18 +++ 4 files changed, 356 insertions(+), 2 deletions(-) diff --git a/discovery/dialogflow-v3.json b/discovery/dialogflow-v3.json index 7a69f617c1..e1a819856d 100644 --- a/discovery/dialogflow-v3.json +++ b/discovery/dialogflow-v3.json @@ -5309,7 +5309,7 @@ } } }, - "revision": "20250627", + "revision": "20250804", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3Action": { @@ -5324,10 +5324,18 @@ "$ref": "GoogleCloudDialogflowCxV3FlowInvocation", "description": "Optional. Action performed on behalf of the agent by invoking a CX flow." }, + "flowTransition": { + "$ref": "GoogleCloudDialogflowCxV3FlowTransition", + "description": "Optional. Action performed on behalf of the agent by transitioning to a target CX flow." + }, "playbookInvocation": { "$ref": "GoogleCloudDialogflowCxV3PlaybookInvocation", "description": "Optional. Action performed on behalf of the agent by invoking a child playbook." }, + "playbookTransition": { + "$ref": "GoogleCloudDialogflowCxV3PlaybookTransition", + "description": "Optional. Action performed on behalf of the agent by transitioning to a target playbook." + }, "toolUse": { "$ref": "GoogleCloudDialogflowCxV3ToolUse", "description": "Optional. Action performed on behalf of the agent by calling a plugin tool." @@ -7502,6 +7510,13 @@ }, "type": "array" }, + "inputParameterDefinitions": { + "description": "Optional. Defined structured input parameters for this flow.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3ParameterDefinition" + }, + "type": "array" + }, "knowledgeConnectorSettings": { "$ref": "GoogleCloudDialogflowCxV3KnowledgeConnectorSettings", "description": "Optional. Knowledge connector configuration." @@ -7522,6 +7537,13 @@ "$ref": "GoogleCloudDialogflowCxV3NluSettings", "description": "NLU related settings of the flow." }, + "outputParameterDefinitions": { + "description": "Optional. Defined structured output parameters for this flow.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3ParameterDefinition" + }, + "type": "array" + }, "transitionRouteGroups": { "description": "A flow's transition route group serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition route groups. Transition route groups defined in the page have higher priority than those defined in the flow. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups.", "items": { @@ -7620,6 +7642,22 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3FlowTransition": { + "description": "Stores metadata of the transition to a target CX flow. Flow transition actions exit the caller playbook and enter the child flow.", + "id": "GoogleCloudDialogflowCxV3FlowTransition", + "properties": { + "displayName": { + "description": "Output only. The display name of the flow.", + "readOnly": true, + "type": "string" + }, + "flow": { + "description": "Required. The unique identifier of the flow. Format: `projects//locations//agents/`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3FlowValidationResult": { "description": "The response message for Flows.GetFlowValidationResult.", "id": "GoogleCloudDialogflowCxV3FlowValidationResult", @@ -8432,6 +8470,35 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3InlineSchema": { + "description": "A type schema object that's specified inline.", + "id": "GoogleCloudDialogflowCxV3InlineSchema", + "properties": { + "items": { + "$ref": "GoogleCloudDialogflowCxV3TypeSchema", + "description": "Schema of the elements if this is an ARRAY type." + }, + "type": { + "description": "Data type of the schema.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "STRING", + "NUMBER", + "BOOLEAN", + "ARRAY" + ], + "enumDescriptions": [ + "Not specified.", + "Represents any string value.", + "Represents any number value.", + "Represents a boolean value.", + "Represents a repeated value." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3InlineSource": { "description": "Inline source for a Dialogflow operation that reads or imports objects (e.g. intents) into Dialogflow.", "id": "GoogleCloudDialogflowCxV3InlineSource", @@ -9506,6 +9573,48 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3ParameterDefinition": { + "description": "Defines the properties of a parameter. Used to define parameters used in the agent and the input / output parameters for each fulfillment.", + "id": "GoogleCloudDialogflowCxV3ParameterDefinition", + "properties": { + "description": { + "description": "Human-readable description of the parameter. Limited to 300 characters.", + "type": "string" + }, + "name": { + "description": "Required. Name of parameter.", + "type": "string" + }, + "type": { + "deprecated": true, + "description": "Type of parameter.", + "enum": [ + "PARAMETER_TYPE_UNSPECIFIED", + "STRING", + "NUMBER", + "BOOLEAN", + "NULL", + "OBJECT", + "LIST" + ], + "enumDescriptions": [ + "Not specified. No validation will be performed.", + "Represents any string value.", + "Represents any number value.", + "Represents a boolean value.", + "Represents a null value.", + "Represents any object value.", + "Represents a repeated value." + ], + "type": "string" + }, + "typeSchema": { + "$ref": "GoogleCloudDialogflowCxV3TypeSchema", + "description": "Optional. Type schema of parameter." + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3Phrase": { "description": "Text input which can be used for prompt or banned phrases.", "id": "GoogleCloudDialogflowCxV3Phrase", @@ -9542,6 +9651,13 @@ }, "type": "array" }, + "inputParameterDefinitions": { + "description": "Optional. Defined structured input parameters for this playbook.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3ParameterDefinition" + }, + "type": "array" + }, "instruction": { "$ref": "GoogleCloudDialogflowCxV3PlaybookInstruction", "description": "Instruction to accomplish target goal." @@ -9554,6 +9670,27 @@ "description": "The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`.", "type": "string" }, + "outputParameterDefinitions": { + "description": "Optional. Defined structured output parameters for this playbook.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3ParameterDefinition" + }, + "type": "array" + }, + "playbookType": { + "description": "Optional. Type of the playbook.", + "enum": [ + "PLAYBOOK_TYPE_UNSPECIFIED", + "TASK", + "ROUTINE" + ], + "enumDescriptions": [ + "Unspecified type. Default to TASK.", + "Task playbook.", + "Routine playbook." + ], + "type": "string" + }, "referencedFlows": { "description": "Output only. The resource name of flows referenced by the current playbook in the instructions.", "items": { @@ -9761,6 +9898,22 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3PlaybookTransition": { + "description": "Stores metadata of the transition to another target playbook. Playbook transition actions exit the caller playbook and enter the target playbook.", + "id": "GoogleCloudDialogflowCxV3PlaybookTransition", + "properties": { + "displayName": { + "description": "Output only. The display name of the playbook.", + "readOnly": true, + "type": "string" + }, + "playbook": { + "description": "Required. The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3PlaybookVersion": { "description": "Playbook version is a snapshot of the playbook at certain timestamp.", "id": "GoogleCloudDialogflowCxV3PlaybookVersion", @@ -11707,6 +11860,36 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3TypeSchema": { + "description": "Encapsulates different type schema variations: either a reference to an a schema that's already defined by a tool, or an inline definition.", + "id": "GoogleCloudDialogflowCxV3TypeSchema", + "properties": { + "inlineSchema": { + "$ref": "GoogleCloudDialogflowCxV3InlineSchema", + "description": "Set if this is an inline schema definition." + }, + "schemaReference": { + "$ref": "GoogleCloudDialogflowCxV3TypeSchemaSchemaReference", + "description": "Set if this is a schema reference." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3TypeSchemaSchemaReference": { + "description": "A reference to the schema of an existing tool.", + "id": "GoogleCloudDialogflowCxV3TypeSchemaSchemaReference", + "properties": { + "schema": { + "description": "The name of the schema.", + "type": "string" + }, + "tool": { + "description": "The tool that contains this schema definition. Format: `projects//locations//agents//tools/`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3UserUtterance": { "description": "UserUtterance represents one message sent by the customer.", "id": "GoogleCloudDialogflowCxV3UserUtterance", diff --git a/discovery/dialogflow-v3beta1.json b/discovery/dialogflow-v3beta1.json index a381c3f914..0247392ba1 100644 --- a/discovery/dialogflow-v3beta1.json +++ b/discovery/dialogflow-v3beta1.json @@ -5436,7 +5436,7 @@ } } }, - "revision": "20250627", + "revision": "20250804", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -10664,6 +10664,13 @@ }, "type": "array" }, + "inputParameterDefinitions": { + "description": "Optional. Defined structured input parameters for this flow.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ParameterDefinition" + }, + "type": "array" + }, "knowledgeConnectorSettings": { "$ref": "GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings", "description": "Optional. Knowledge connector configuration." @@ -10684,6 +10691,13 @@ "$ref": "GoogleCloudDialogflowCxV3beta1NluSettings", "description": "NLU related settings of the flow." }, + "outputParameterDefinitions": { + "description": "Optional. Defined structured output parameters for this flow.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ParameterDefinition" + }, + "type": "array" + }, "transitionRouteGroups": { "description": "A flow's transition route group serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition route groups. Transition route groups defined in the page have higher priority than those defined in the flow. Format:`projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups.", "items": { diff --git a/src/apis/dialogflow/v3.ts b/src/apis/dialogflow/v3.ts index 78d2bc4e82..606d1fadd4 100644 --- a/src/apis/dialogflow/v3.ts +++ b/src/apis/dialogflow/v3.ts @@ -136,10 +136,18 @@ export namespace dialogflow_v3 { * Optional. Action performed on behalf of the agent by invoking a CX flow. */ flowInvocation?: Schema$GoogleCloudDialogflowCxV3FlowInvocation; + /** + * Optional. Action performed on behalf of the agent by transitioning to a target CX flow. + */ + flowTransition?: Schema$GoogleCloudDialogflowCxV3FlowTransition; /** * Optional. Action performed on behalf of the agent by invoking a child playbook. */ playbookInvocation?: Schema$GoogleCloudDialogflowCxV3PlaybookInvocation; + /** + * Optional. Action performed on behalf of the agent by transitioning to a target playbook. + */ + playbookTransition?: Schema$GoogleCloudDialogflowCxV3PlaybookTransition; /** * Optional. Action performed on behalf of the agent by calling a plugin tool. */ @@ -3520,6 +3528,10 @@ export namespace dialogflow_v3 { * A flow's event handlers serve two purposes: * They are responsible for handling events (e.g. no match, webhook errors) in the flow. * They are inherited by every page's event handlers, which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transition_routes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. */ eventHandlers?: Schema$GoogleCloudDialogflowCxV3EventHandler[]; + /** + * Optional. Defined structured input parameters for this flow. + */ + inputParameterDefinitions?: Schema$GoogleCloudDialogflowCxV3ParameterDefinition[]; /** * Optional. Knowledge connector configuration. */ @@ -3540,6 +3552,10 @@ export namespace dialogflow_v3 { * NLU related settings of the flow. */ nluSettings?: Schema$GoogleCloudDialogflowCxV3NluSettings; + /** + * Optional. Defined structured output parameters for this flow. + */ + outputParameterDefinitions?: Schema$GoogleCloudDialogflowCxV3ParameterDefinition[]; /** * A flow's transition route group serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition route groups. Transition route groups defined in the page have higher priority than those defined in the flow. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups. */ @@ -3588,6 +3604,19 @@ export namespace dialogflow_v3 { */ supportedResponseLanguageCodes?: string[] | null; } + /** + * Stores metadata of the transition to a target CX flow. Flow transition actions exit the caller playbook and enter the child flow. + */ + export interface Schema$GoogleCloudDialogflowCxV3FlowTransition { + /** + * Output only. The display name of the flow. + */ + displayName?: string | null; + /** + * Required. The unique identifier of the flow. Format: `projects//locations//agents/`. + */ + flow?: string | null; + } /** * The response message for Flows.GetFlowValidationResult. */ @@ -4200,6 +4229,19 @@ export namespace dialogflow_v3 { */ content?: string | null; } + /** + * A type schema object that's specified inline. + */ + export interface Schema$GoogleCloudDialogflowCxV3InlineSchema { + /** + * Schema of the elements if this is an ARRAY type. + */ + items?: Schema$GoogleCloudDialogflowCxV3TypeSchema; + /** + * Data type of the schema. + */ + type?: string | null; + } /** * Inline source for a Dialogflow operation that reads or imports objects (e.g. intents) into Dialogflow. */ @@ -4954,6 +4996,27 @@ export namespace dialogflow_v3 { */ value?: any | null; } + /** + * Defines the properties of a parameter. Used to define parameters used in the agent and the input / output parameters for each fulfillment. + */ + export interface Schema$GoogleCloudDialogflowCxV3ParameterDefinition { + /** + * Human-readable description of the parameter. Limited to 300 characters. + */ + description?: string | null; + /** + * Required. Name of parameter. + */ + name?: string | null; + /** + * Type of parameter. + */ + type?: string | null; + /** + * Optional. Type schema of parameter. + */ + typeSchema?: Schema$GoogleCloudDialogflowCxV3TypeSchema; + } /** * Text input which can be used for prompt or banned phrases. */ @@ -4983,6 +5046,10 @@ export namespace dialogflow_v3 { * Optional. A list of registered handlers to execuate based on the specified triggers. */ handlers?: Schema$GoogleCloudDialogflowCxV3Handler[]; + /** + * Optional. Defined structured input parameters for this playbook. + */ + inputParameterDefinitions?: Schema$GoogleCloudDialogflowCxV3ParameterDefinition[]; /** * Instruction to accomplish target goal. */ @@ -4995,6 +5062,14 @@ export namespace dialogflow_v3 { * The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`. */ name?: string | null; + /** + * Optional. Defined structured output parameters for this playbook. + */ + outputParameterDefinitions?: Schema$GoogleCloudDialogflowCxV3ParameterDefinition[]; + /** + * Optional. Type of the playbook. + */ + playbookType?: string | null; /** * Output only. The resource name of flows referenced by the current playbook in the instructions. */ @@ -5102,6 +5177,19 @@ export namespace dialogflow_v3 { */ text?: string | null; } + /** + * Stores metadata of the transition to another target playbook. Playbook transition actions exit the caller playbook and enter the target playbook. + */ + export interface Schema$GoogleCloudDialogflowCxV3PlaybookTransition { + /** + * Output only. The display name of the playbook. + */ + displayName?: string | null; + /** + * Required. The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`. + */ + playbook?: string | null; + } /** * Playbook version is a snapshot of the playbook at certain timestamp. */ @@ -6524,6 +6612,32 @@ export namespace dialogflow_v3 { */ webhookStatuses?: string[] | null; } + /** + * Encapsulates different type schema variations: either a reference to an a schema that's already defined by a tool, or an inline definition. + */ + export interface Schema$GoogleCloudDialogflowCxV3TypeSchema { + /** + * Set if this is an inline schema definition. + */ + inlineSchema?: Schema$GoogleCloudDialogflowCxV3InlineSchema; + /** + * Set if this is a schema reference. + */ + schemaReference?: Schema$GoogleCloudDialogflowCxV3TypeSchemaSchemaReference; + } + /** + * A reference to the schema of an existing tool. + */ + export interface Schema$GoogleCloudDialogflowCxV3TypeSchemaSchemaReference { + /** + * The name of the schema. + */ + schema?: string | null; + /** + * The tool that contains this schema definition. Format: `projects//locations//agents//tools/`. + */ + tool?: string | null; + } /** * UserUtterance represents one message sent by the customer. */ @@ -19760,11 +19874,13 @@ export namespace dialogflow_v3 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -19778,11 +19894,13 @@ export namespace dialogflow_v3 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -20227,11 +20345,13 @@ export namespace dialogflow_v3 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -20853,11 +20973,13 @@ export namespace dialogflow_v3 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -20871,11 +20993,13 @@ export namespace dialogflow_v3 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -26522,9 +26646,12 @@ export namespace dialogflow_v3 { * // "displayName": "my_displayName", * // "goal": "my_goal", * // "handlers": [], + * // "inputParameterDefinitions": [], * // "instruction": {}, * // "llmModelSettings": {}, * // "name": "my_name", + * // "outputParameterDefinitions": [], + * // "playbookType": "my_playbookType", * // "referencedFlows": [], * // "referencedPlaybooks": [], * // "referencedTools": [], @@ -26541,9 +26668,12 @@ export namespace dialogflow_v3 { * // "displayName": "my_displayName", * // "goal": "my_goal", * // "handlers": [], + * // "inputParameterDefinitions": [], * // "instruction": {}, * // "llmModelSettings": {}, * // "name": "my_name", + * // "outputParameterDefinitions": [], + * // "playbookType": "my_playbookType", * // "referencedFlows": [], * // "referencedPlaybooks": [], * // "referencedTools": [], @@ -26994,9 +27124,12 @@ export namespace dialogflow_v3 { * // "displayName": "my_displayName", * // "goal": "my_goal", * // "handlers": [], + * // "inputParameterDefinitions": [], * // "instruction": {}, * // "llmModelSettings": {}, * // "name": "my_name", + * // "outputParameterDefinitions": [], + * // "playbookType": "my_playbookType", * // "referencedFlows": [], * // "referencedPlaybooks": [], * // "referencedTools": [], @@ -27468,9 +27601,12 @@ export namespace dialogflow_v3 { * // "displayName": "my_displayName", * // "goal": "my_goal", * // "handlers": [], + * // "inputParameterDefinitions": [], * // "instruction": {}, * // "llmModelSettings": {}, * // "name": "my_name", + * // "outputParameterDefinitions": [], + * // "playbookType": "my_playbookType", * // "referencedFlows": [], * // "referencedPlaybooks": [], * // "referencedTools": [], @@ -27487,9 +27623,12 @@ export namespace dialogflow_v3 { * // "displayName": "my_displayName", * // "goal": "my_goal", * // "handlers": [], + * // "inputParameterDefinitions": [], * // "instruction": {}, * // "llmModelSettings": {}, * // "name": "my_name", + * // "outputParameterDefinitions": [], + * // "playbookType": "my_playbookType", * // "referencedFlows": [], * // "referencedPlaybooks": [], * // "referencedTools": [], diff --git a/src/apis/dialogflow/v3beta1.ts b/src/apis/dialogflow/v3beta1.ts index c9dc3fd7c8..c0e5b1b3ac 100644 --- a/src/apis/dialogflow/v3beta1.ts +++ b/src/apis/dialogflow/v3beta1.ts @@ -2292,6 +2292,10 @@ export namespace dialogflow_v3beta1 { * A flow's event handlers serve two purposes: * They are responsible for handling events (e.g. no match, webhook errors) in the flow. * They are inherited by every page's event handlers, which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transition_routes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. */ eventHandlers?: Schema$GoogleCloudDialogflowCxV3beta1EventHandler[]; + /** + * Optional. Defined structured input parameters for this flow. + */ + inputParameterDefinitions?: Schema$GoogleCloudDialogflowCxV3beta1ParameterDefinition[]; /** * Optional. Knowledge connector configuration. */ @@ -2312,6 +2316,10 @@ export namespace dialogflow_v3beta1 { * NLU related settings of the flow. */ nluSettings?: Schema$GoogleCloudDialogflowCxV3beta1NluSettings; + /** + * Optional. Defined structured output parameters for this flow. + */ + outputParameterDefinitions?: Schema$GoogleCloudDialogflowCxV3beta1ParameterDefinition[]; /** * A flow's transition route group serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition route groups. Transition route groups defined in the page have higher priority than those defined in the flow. Format:`projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups. */ @@ -21182,11 +21190,13 @@ export namespace dialogflow_v3beta1 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -21200,11 +21210,13 @@ export namespace dialogflow_v3beta1 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -21656,11 +21668,13 @@ export namespace dialogflow_v3beta1 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -22286,11 +22300,13 @@ export namespace dialogflow_v3beta1 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } @@ -22304,11 +22320,13 @@ export namespace dialogflow_v3beta1 { * // "description": "my_description", * // "displayName": "my_displayName", * // "eventHandlers": [], + * // "inputParameterDefinitions": [], * // "knowledgeConnectorSettings": {}, * // "locked": false, * // "multiLanguageSettings": {}, * // "name": "my_name", * // "nluSettings": {}, + * // "outputParameterDefinitions": [], * // "transitionRouteGroups": [], * // "transitionRoutes": [] * // } From 0e0306231fa0beca93d0b6fcd9e9a4dd7678a429 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:12 +0000 Subject: [PATCH 20/43] fix(digitalassetlinks): update the API #### digitalassetlinks:v1 The following keys were changed: - schemas.CheckResponse.properties.errorCode.description --- discovery/digitalassetlinks-v1.json | 4 ++-- src/apis/digitalassetlinks/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/digitalassetlinks-v1.json b/discovery/digitalassetlinks-v1.json index 3d80b7a88c..3e5e2b9a8a 100644 --- a/discovery/digitalassetlinks-v1.json +++ b/discovery/digitalassetlinks-v1.json @@ -210,7 +210,7 @@ } } }, - "revision": "20250405", + "revision": "20250802", "rootUrl": "https://digitalassetlinks.googleapis.com/", "schemas": { "AndroidAppAsset": { @@ -337,7 +337,7 @@ "type": "string" }, "errorCode": { - "description": "Error codes that describe the result of the Check operation.", + "description": "Error codes that describe the result of the Check operation. NOTE: Error codes may be populated even when `linked` is true. The error codes do not necessarily imply that the request failed, but rather, specify any errors encountered in the statements file(s) which may or may not impact whether the server determines the requested source and target to be linked.", "items": { "enum": [ "ERROR_CODE_UNSPECIFIED", diff --git a/src/apis/digitalassetlinks/v1.ts b/src/apis/digitalassetlinks/v1.ts index 4ae90db722..0682a5a367 100644 --- a/src/apis/digitalassetlinks/v1.ts +++ b/src/apis/digitalassetlinks/v1.ts @@ -208,7 +208,7 @@ export namespace digitalassetlinks_v1 { */ debugString?: string | null; /** - * Error codes that describe the result of the Check operation. + * Error codes that describe the result of the Check operation. NOTE: Error codes may be populated even when `linked` is true. The error codes do not necessarily imply that the request failed, but rather, specify any errors encountered in the statements file(s) which may or may not impact whether the server determines the requested source and target to be linked. */ errorCode?: string[] | null; /** From 0ca4befbba11f2d054ece34865e7186eb4a9a30e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:12 +0000 Subject: [PATCH 21/43] feat(discoveryengine): update the API #### discoveryengine:v1alpha The following keys were added: - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.customerPolicy.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.customerPolicy.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.additionalProperties.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.type - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.generationConfig.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.generationConfig.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.enum - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.id - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.items.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.id - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.enum - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.phrase.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.phrase.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.id - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.defaultLanguage.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.defaultLanguage.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.systemInstruction.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.systemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.id - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.id - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolDisplayName.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolDisplayName.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolName.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolName.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.id - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.items.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.customerPolicy.$ref - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.customerPolicy.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.enabledTools.additionalProperties.$ref - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.enabledTools.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.enabledTools.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.generationConfig.$ref - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.generationConfig.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.webGroundingType.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.webGroundingType.enum - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.webGroundingType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1alphaAssistant.properties.webGroundingType.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy.id - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy.properties.bannedPhrases.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy.properties.bannedPhrases.items.$ref - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy.properties.bannedPhrases.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.id - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.properties.matchType.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.properties.matchType.enum - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.properties.matchType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.properties.matchType.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.properties.phrase.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.properties.phrase.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig.id - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig.properties.defaultLanguage.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig.properties.defaultLanguage.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig.properties.systemInstruction.$ref - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig.properties.systemInstruction.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction.id - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolInfo.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolInfo.id - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolInfo.properties.toolDisplayName.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolInfo.properties.toolDisplayName.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolInfo.properties.toolName.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolInfo.properties.toolName.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolInfo.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolList.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolList.id - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolList.properties.toolInfo.description - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolList.properties.toolInfo.items.$ref - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolList.properties.toolInfo.type - schemas.GoogleCloudDiscoveryengineV1alphaAssistantToolList.type - schemas.GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata.properties.mimeType.description - schemas.GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata.properties.mimeType.type The following keys were changed: - resources.projects.resources.locations.resources.evaluations.methods.list.parameters.pageSize.description - resources.projects.resources.locations.resources.evaluations.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.evaluations.methods.listResults.parameters.pageSize.description - resources.projects.resources.locations.resources.evaluations.methods.listResults.parameters.pageToken.description #### discoveryengine:v1beta The following keys were added: - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.customerPolicy.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.customerPolicy.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.additionalProperties.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.type - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.generationConfig.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.generationConfig.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.enum - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.id - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.items.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.id - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.enum - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.phrase.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.phrase.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.id - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.defaultLanguage.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.defaultLanguage.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.systemInstruction.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.systemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.id - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.id - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolDisplayName.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolDisplayName.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolName.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolName.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.id - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.items.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.type - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.customerPolicy.$ref - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.customerPolicy.description - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.enabledTools.additionalProperties.$ref - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.enabledTools.description - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.enabledTools.type - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.generationConfig.$ref - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.generationConfig.description - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.webGroundingType.description - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.webGroundingType.enum - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.webGroundingType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1betaAssistant.properties.webGroundingType.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy.id - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy.properties.bannedPhrases.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy.properties.bannedPhrases.items.$ref - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy.properties.bannedPhrases.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.id - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.properties.matchType.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.properties.matchType.enum - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.properties.matchType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.properties.matchType.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.properties.phrase.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.properties.phrase.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig.id - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig.properties.defaultLanguage.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig.properties.defaultLanguage.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig.properties.systemInstruction.$ref - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig.properties.systemInstruction.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction.id - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolInfo.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolInfo.id - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolInfo.properties.toolDisplayName.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolInfo.properties.toolDisplayName.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolInfo.properties.toolName.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolInfo.properties.toolName.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolInfo.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolList.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolList.id - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolList.properties.toolInfo.description - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolList.properties.toolInfo.items.$ref - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolList.properties.toolInfo.type - schemas.GoogleCloudDiscoveryengineV1betaAssistantToolList.type - schemas.GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata.properties.mimeType.description - schemas.GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata.properties.mimeType.type The following keys were changed: - resources.projects.resources.locations.resources.evaluations.methods.list.parameters.pageSize.description - resources.projects.resources.locations.resources.evaluations.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.evaluations.methods.listResults.parameters.pageSize.description - resources.projects.resources.locations.resources.evaluations.methods.listResults.parameters.pageToken.description #### discoveryengine:v1 The following keys were added: - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.customerPolicy.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.customerPolicy.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.additionalProperties.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.enabledTools.type - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.generationConfig.$ref - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.generationConfig.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.description - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.enum - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1Assistant.properties.webGroundingType.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.id - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.items.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.properties.bannedPhrases.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicy.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.id - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.ignoreDiacritics.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.enum - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.matchType.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.phrase.description - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.properties.phrase.type - schemas.GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.id - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.defaultLanguage.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.defaultLanguage.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.systemInstruction.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.properties.systemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfig.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.id - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.description - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.properties.additionalSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.id - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolDisplayName.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolDisplayName.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolName.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.properties.toolName.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolInfo.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.id - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.description - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.items.$ref - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.properties.toolInfo.type - schemas.GoogleCloudDiscoveryengineV1AssistantToolList.type - schemas.GoogleCloudDiscoveryengineV1ChunkDocumentMetadata.properties.mimeType.description - schemas.GoogleCloudDiscoveryengineV1ChunkDocumentMetadata.properties.mimeType.type --- discovery/discoveryengine-v1.json | 135 +++++++++++- discovery/discoveryengine-v1alpha.json | 272 ++++++++++++++++++++++++- discovery/discoveryengine-v1beta.json | 272 ++++++++++++++++++++++++- src/apis/discoveryengine/v1.ts | 110 +++++++++- src/apis/discoveryengine/v1alpha.ts | 214 ++++++++++++++++++- src/apis/discoveryengine/v1beta.ts | 214 ++++++++++++++++++- 6 files changed, 1181 insertions(+), 36 deletions(-) diff --git a/discovery/discoveryengine-v1.json b/discovery/discoveryengine-v1.json index 41a7e055b4..194414a186 100644 --- a/discovery/discoveryengine-v1.json +++ b/discovery/discoveryengine-v1.json @@ -7291,7 +7291,7 @@ } } }, - "revision": "20250728", + "revision": "20250803", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GdataBlobstore2Info": { @@ -9776,9 +9776,40 @@ "description": "Discovery Engine Assistant resource.", "id": "GoogleCloudDiscoveryengineV1Assistant", "properties": { + "customerPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy", + "description": "Optional. Customer policy for the assistant." + }, + "enabledTools": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantToolList" + }, + "description": "Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example \"projects/{projectId}/locations/{locationId}/collections/{collectionId}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {\"jira1ConnectorName\": [(toolId1, \"createTicket\"), (toolId2, \"transferTicket\")], \"gmail1ConnectorName\": [(toolId3, \"sendEmail\"),..] }", + "type": "object" + }, + "generationConfig": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantGenerationConfig", + "description": "Optional. Configuration for the generation of the assistant response." + }, "name": { "description": "Immutable. Resource name of the assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}` It must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" + }, + "webGroundingType": { + "description": "Optional. The type of web grounding to use.", + "enum": [ + "WEB_GROUNDING_TYPE_UNSPECIFIED", + "WEB_GROUNDING_TYPE_DISABLED", + "WEB_GROUNDING_TYPE_GOOGLE_SEARCH", + "WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH" + ], + "enumDescriptions": [ + "Default, unspecified setting. This is the same as disabled.", + "Web grounding is disabled.", + "Grounding with Google Search is enabled.", + "Grounding with Enterprise Web Search is enabled." + ], + "type": "string" } }, "type": "object" @@ -9887,6 +9918,75 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy": { + "description": "Customer-defined policy for the assistant.", + "id": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy", + "properties": { + "bannedPhrases": { + "description": "Optional. List of banned phrases.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase": { + "description": "Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused.", + "id": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase", + "properties": { + "ignoreDiacritics": { + "description": "Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, \"cafe\" would match \"café\".", + "type": "boolean" + }, + "matchType": { + "description": "Optional. Match type for the banned phrase.", + "enum": [ + "BANNED_PHRASE_MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH" + ], + "enumDescriptions": [ + "Defaults to SIMPLE_STRING_MATCH.", + "The banned phrase matches if it is found anywhere in the text as an exact substring.", + "Banned phrase only matches if the pattern found in the text is surrounded by word delimiters. The phrase itself may still contain word delimiters." + ], + "type": "string" + }, + "phrase": { + "description": "Required. The raw string content to be banned.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantGenerationConfig": { + "description": "Configuration for the generation of the assistant response.", + "id": "GoogleCloudDiscoveryengineV1AssistantGenerationConfig", + "properties": { + "defaultLanguage": { + "description": "The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected.", + "type": "string" + }, + "systemInstruction": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction", + "description": "System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction": { + "description": "System instruction, also known as the prompt preamble for LLM calls.", + "id": "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction", + "properties": { + "additionalSystemInstruction": { + "description": "Optional. Additional system instruction that will be added to the default system instruction.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1AssistantGroundedContent": { "description": "A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like \"Of course, I will gladly search it for you.\" do not need grounding.", "id": "GoogleCloudDiscoveryengineV1AssistantGroundedContent", @@ -9999,6 +10099,35 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1AssistantToolInfo": { + "description": "Information to identify a tool.", + "id": "GoogleCloudDiscoveryengineV1AssistantToolInfo", + "properties": { + "toolDisplayName": { + "description": "The display name of the tool.", + "type": "string" + }, + "toolName": { + "description": "The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantToolList": { + "description": "The enabled tools on a connector", + "id": "GoogleCloudDiscoveryengineV1AssistantToolList", + "properties": { + "toolInfo": { + "description": "The list of tools with corresponding tool information.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantToolInfo" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata", @@ -10619,6 +10748,10 @@ "description": "Document metadata contains the information of the document of the current chunk.", "id": "GoogleCloudDiscoveryengineV1ChunkDocumentMetadata", "properties": { + "mimeType": { + "description": "The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.", + "type": "string" + }, "structData": { "additionalProperties": { "description": "Properties of the object.", diff --git a/discovery/discoveryengine-v1alpha.json b/discovery/discoveryengine-v1alpha.json index 96fc9acbb3..858ee47613 100644 --- a/discovery/discoveryengine-v1alpha.json +++ b/discovery/discoveryengine-v1alpha.json @@ -8049,13 +8049,13 @@ ], "parameters": { "pageSize": { - "description": "Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", + "description": "Optional. Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Optional. A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" }, @@ -8092,13 +8092,13 @@ "type": "string" }, "pageSize": { - "description": "Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", + "description": "Optional. Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Optional. A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" } @@ -9452,7 +9452,7 @@ } } }, - "revision": "20250728", + "revision": "20250803", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "ApiservingMediaRequestInfo": { @@ -10533,9 +10533,138 @@ "description": "Discovery Engine Assistant resource.", "id": "GoogleCloudDiscoveryengineV1Assistant", "properties": { + "customerPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy", + "description": "Optional. Customer policy for the assistant." + }, + "enabledTools": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantToolList" + }, + "description": "Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example \"projects/{projectId}/locations/{locationId}/collections/{collectionId}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {\"jira1ConnectorName\": [(toolId1, \"createTicket\"), (toolId2, \"transferTicket\")], \"gmail1ConnectorName\": [(toolId3, \"sendEmail\"),..] }", + "type": "object" + }, + "generationConfig": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantGenerationConfig", + "description": "Optional. Configuration for the generation of the assistant response." + }, "name": { "description": "Immutable. Resource name of the assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}` It must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" + }, + "webGroundingType": { + "description": "Optional. The type of web grounding to use.", + "enum": [ + "WEB_GROUNDING_TYPE_UNSPECIFIED", + "WEB_GROUNDING_TYPE_DISABLED", + "WEB_GROUNDING_TYPE_GOOGLE_SEARCH", + "WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH" + ], + "enumDescriptions": [ + "Default, unspecified setting. This is the same as disabled.", + "Web grounding is disabled.", + "Grounding with Google Search is enabled.", + "Grounding with Enterprise Web Search is enabled." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy": { + "description": "Customer-defined policy for the assistant.", + "id": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy", + "properties": { + "bannedPhrases": { + "description": "Optional. List of banned phrases.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase": { + "description": "Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused.", + "id": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase", + "properties": { + "ignoreDiacritics": { + "description": "Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, \"cafe\" would match \"café\".", + "type": "boolean" + }, + "matchType": { + "description": "Optional. Match type for the banned phrase.", + "enum": [ + "BANNED_PHRASE_MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH" + ], + "enumDescriptions": [ + "Defaults to SIMPLE_STRING_MATCH.", + "The banned phrase matches if it is found anywhere in the text as an exact substring.", + "Banned phrase only matches if the pattern found in the text is surrounded by word delimiters. The phrase itself may still contain word delimiters." + ], + "type": "string" + }, + "phrase": { + "description": "Required. The raw string content to be banned.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantGenerationConfig": { + "description": "Configuration for the generation of the assistant response.", + "id": "GoogleCloudDiscoveryengineV1AssistantGenerationConfig", + "properties": { + "defaultLanguage": { + "description": "The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected.", + "type": "string" + }, + "systemInstruction": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction", + "description": "System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction": { + "description": "System instruction, also known as the prompt preamble for LLM calls.", + "id": "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction", + "properties": { + "additionalSystemInstruction": { + "description": "Optional. Additional system instruction that will be added to the default system instruction.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantToolInfo": { + "description": "Information to identify a tool.", + "id": "GoogleCloudDiscoveryengineV1AssistantToolInfo", + "properties": { + "toolDisplayName": { + "description": "The display name of the tool.", + "type": "string" + }, + "toolName": { + "description": "The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantToolList": { + "description": "The enabled tools on a connector", + "id": "GoogleCloudDiscoveryengineV1AssistantToolList", + "properties": { + "toolInfo": { + "description": "The list of tools with corresponding tool information.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantToolInfo" + }, + "type": "array" } }, "type": "object" @@ -14940,9 +15069,40 @@ "description": "Discovery Engine Assistant resource.", "id": "GoogleCloudDiscoveryengineV1alphaAssistant", "properties": { + "customerPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy", + "description": "Optional. Customer policy for the assistant." + }, + "enabledTools": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAssistantToolList" + }, + "description": "Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example \"projects/{projectId}/locations/{locationId}/collections/{collectionId}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {\"jira1ConnectorName\": [(toolId1, \"createTicket\"), (toolId2, \"transferTicket\")], \"gmail1ConnectorName\": [(toolId3, \"sendEmail\"),..] }", + "type": "object" + }, + "generationConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig", + "description": "Optional. Configuration for the generation of the assistant response." + }, "name": { "description": "Immutable. Resource name of the assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}` It must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" + }, + "webGroundingType": { + "description": "Optional. The type of web grounding to use.", + "enum": [ + "WEB_GROUNDING_TYPE_UNSPECIFIED", + "WEB_GROUNDING_TYPE_DISABLED", + "WEB_GROUNDING_TYPE_GOOGLE_SEARCH", + "WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH" + ], + "enumDescriptions": [ + "Default, unspecified setting. This is the same as disabled.", + "Web grounding is disabled.", + "Grounding with Google Search is enabled.", + "Grounding with Enterprise Web Search is enabled." + ], + "type": "string" } }, "type": "object" @@ -15051,6 +15211,75 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy": { + "description": "Customer-defined policy for the assistant.", + "id": "GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy", + "properties": { + "bannedPhrases": { + "description": "Optional. List of banned phrases.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase": { + "description": "Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused.", + "id": "GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase", + "properties": { + "ignoreDiacritics": { + "description": "Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, \"cafe\" would match \"café\".", + "type": "boolean" + }, + "matchType": { + "description": "Optional. Match type for the banned phrase.", + "enum": [ + "BANNED_PHRASE_MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH" + ], + "enumDescriptions": [ + "Defaults to SIMPLE_STRING_MATCH.", + "The banned phrase matches if it is found anywhere in the text as an exact substring.", + "Banned phrase only matches if the pattern found in the text is surrounded by word delimiters. The phrase itself may still contain word delimiters." + ], + "type": "string" + }, + "phrase": { + "description": "Required. The raw string content to be banned.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig": { + "description": "Configuration for the generation of the assistant response.", + "id": "GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig", + "properties": { + "defaultLanguage": { + "description": "The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected.", + "type": "string" + }, + "systemInstruction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction", + "description": "System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction": { + "description": "System instruction, also known as the prompt preamble for LLM calls.", + "id": "GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction", + "properties": { + "additionalSystemInstruction": { + "description": "Optional. Additional system instruction that will be added to the default system instruction.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaAssistantGroundedContent": { "description": "A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like \"Of course, I will gladly search it for you.\" do not need grounding.", "id": "GoogleCloudDiscoveryengineV1alphaAssistantGroundedContent", @@ -15163,6 +15392,35 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaAssistantToolInfo": { + "description": "Information to identify a tool.", + "id": "GoogleCloudDiscoveryengineV1alphaAssistantToolInfo", + "properties": { + "toolDisplayName": { + "description": "The display name of the tool.", + "type": "string" + }, + "toolName": { + "description": "The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAssistantToolList": { + "description": "The enabled tools on a connector", + "id": "GoogleCloudDiscoveryengineV1alphaAssistantToolList", + "properties": { + "toolInfo": { + "description": "The list of tools with corresponding tool information.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAssistantToolInfo" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaBAPConfig": { "description": "The configuration for the BAP connector.", "id": "GoogleCloudDiscoveryengineV1alphaBAPConfig", @@ -15901,6 +16159,10 @@ "description": "Document metadata contains the information of the document of the current chunk.", "id": "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata", "properties": { + "mimeType": { + "description": "The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.", + "type": "string" + }, "structData": { "additionalProperties": { "description": "Properties of the object.", diff --git a/discovery/discoveryengine-v1beta.json b/discovery/discoveryengine-v1beta.json index 59da86296a..997970e58b 100644 --- a/discovery/discoveryengine-v1beta.json +++ b/discovery/discoveryengine-v1beta.json @@ -6955,13 +6955,13 @@ ], "parameters": { "pageSize": { - "description": "Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", + "description": "Optional. Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Optional. A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" }, @@ -6998,13 +6998,13 @@ "type": "string" }, "pageSize": { - "description": "Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", + "description": "Optional. Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Optional. A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" } @@ -8147,7 +8147,7 @@ } } }, - "revision": "20250728", + "revision": "20250803", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GdataBlobstore2Info": { @@ -9066,9 +9066,138 @@ "description": "Discovery Engine Assistant resource.", "id": "GoogleCloudDiscoveryengineV1Assistant", "properties": { + "customerPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy", + "description": "Optional. Customer policy for the assistant." + }, + "enabledTools": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantToolList" + }, + "description": "Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example \"projects/{projectId}/locations/{locationId}/collections/{collectionId}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {\"jira1ConnectorName\": [(toolId1, \"createTicket\"), (toolId2, \"transferTicket\")], \"gmail1ConnectorName\": [(toolId3, \"sendEmail\"),..] }", + "type": "object" + }, + "generationConfig": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantGenerationConfig", + "description": "Optional. Configuration for the generation of the assistant response." + }, "name": { "description": "Immutable. Resource name of the assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}` It must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" + }, + "webGroundingType": { + "description": "Optional. The type of web grounding to use.", + "enum": [ + "WEB_GROUNDING_TYPE_UNSPECIFIED", + "WEB_GROUNDING_TYPE_DISABLED", + "WEB_GROUNDING_TYPE_GOOGLE_SEARCH", + "WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH" + ], + "enumDescriptions": [ + "Default, unspecified setting. This is the same as disabled.", + "Web grounding is disabled.", + "Grounding with Google Search is enabled.", + "Grounding with Enterprise Web Search is enabled." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy": { + "description": "Customer-defined policy for the assistant.", + "id": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicy", + "properties": { + "bannedPhrases": { + "description": "Optional. List of banned phrases.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase": { + "description": "Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused.", + "id": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase", + "properties": { + "ignoreDiacritics": { + "description": "Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, \"cafe\" would match \"café\".", + "type": "boolean" + }, + "matchType": { + "description": "Optional. Match type for the banned phrase.", + "enum": [ + "BANNED_PHRASE_MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH" + ], + "enumDescriptions": [ + "Defaults to SIMPLE_STRING_MATCH.", + "The banned phrase matches if it is found anywhere in the text as an exact substring.", + "Banned phrase only matches if the pattern found in the text is surrounded by word delimiters. The phrase itself may still contain word delimiters." + ], + "type": "string" + }, + "phrase": { + "description": "Required. The raw string content to be banned.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantGenerationConfig": { + "description": "Configuration for the generation of the assistant response.", + "id": "GoogleCloudDiscoveryengineV1AssistantGenerationConfig", + "properties": { + "defaultLanguage": { + "description": "The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected.", + "type": "string" + }, + "systemInstruction": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction", + "description": "System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction": { + "description": "System instruction, also known as the prompt preamble for LLM calls.", + "id": "GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction", + "properties": { + "additionalSystemInstruction": { + "description": "Optional. Additional system instruction that will be added to the default system instruction.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantToolInfo": { + "description": "Information to identify a tool.", + "id": "GoogleCloudDiscoveryengineV1AssistantToolInfo", + "properties": { + "toolDisplayName": { + "description": "The display name of the tool.", + "type": "string" + }, + "toolName": { + "description": "The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AssistantToolList": { + "description": "The enabled tools on a connector", + "id": "GoogleCloudDiscoveryengineV1AssistantToolList", + "properties": { + "toolInfo": { + "description": "The list of tools with corresponding tool information.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AssistantToolInfo" + }, + "type": "array" } }, "type": "object" @@ -19247,9 +19376,40 @@ "description": "Discovery Engine Assistant resource.", "id": "GoogleCloudDiscoveryengineV1betaAssistant", "properties": { + "customerPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy", + "description": "Optional. Customer policy for the assistant." + }, + "enabledTools": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1betaAssistantToolList" + }, + "description": "Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example \"projects/{projectId}/locations/{locationId}/collections/{collectionId}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {\"jira1ConnectorName\": [(toolId1, \"createTicket\"), (toolId2, \"transferTicket\")], \"gmail1ConnectorName\": [(toolId3, \"sendEmail\"),..] }", + "type": "object" + }, + "generationConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig", + "description": "Optional. Configuration for the generation of the assistant response." + }, "name": { "description": "Immutable. Resource name of the assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}` It must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" + }, + "webGroundingType": { + "description": "Optional. The type of web grounding to use.", + "enum": [ + "WEB_GROUNDING_TYPE_UNSPECIFIED", + "WEB_GROUNDING_TYPE_DISABLED", + "WEB_GROUNDING_TYPE_GOOGLE_SEARCH", + "WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH" + ], + "enumDescriptions": [ + "Default, unspecified setting. This is the same as disabled.", + "Web grounding is disabled.", + "Grounding with Google Search is enabled.", + "Grounding with Enterprise Web Search is enabled." + ], + "type": "string" } }, "type": "object" @@ -19358,6 +19518,75 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy": { + "description": "Customer-defined policy for the assistant.", + "id": "GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy", + "properties": { + "bannedPhrases": { + "description": "Optional. List of banned phrases.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase": { + "description": "Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused.", + "id": "GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase", + "properties": { + "ignoreDiacritics": { + "description": "Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, \"cafe\" would match \"café\".", + "type": "boolean" + }, + "matchType": { + "description": "Optional. Match type for the banned phrase.", + "enum": [ + "BANNED_PHRASE_MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH" + ], + "enumDescriptions": [ + "Defaults to SIMPLE_STRING_MATCH.", + "The banned phrase matches if it is found anywhere in the text as an exact substring.", + "Banned phrase only matches if the pattern found in the text is surrounded by word delimiters. The phrase itself may still contain word delimiters." + ], + "type": "string" + }, + "phrase": { + "description": "Required. The raw string content to be banned.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig": { + "description": "Configuration for the generation of the assistant response.", + "id": "GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig", + "properties": { + "defaultLanguage": { + "description": "The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected.", + "type": "string" + }, + "systemInstruction": { + "$ref": "GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction", + "description": "System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction": { + "description": "System instruction, also known as the prompt preamble for LLM calls.", + "id": "GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction", + "properties": { + "additionalSystemInstruction": { + "description": "Optional. Additional system instruction that will be added to the default system instruction.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaAssistantGroundedContent": { "description": "A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like \"Of course, I will gladly search it for you.\" do not need grounding.", "id": "GoogleCloudDiscoveryengineV1betaAssistantGroundedContent", @@ -19470,6 +19699,35 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaAssistantToolInfo": { + "description": "Information to identify a tool.", + "id": "GoogleCloudDiscoveryengineV1betaAssistantToolInfo", + "properties": { + "toolDisplayName": { + "description": "The display name of the tool.", + "type": "string" + }, + "toolName": { + "description": "The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAssistantToolList": { + "description": "The enabled tools on a connector", + "id": "GoogleCloudDiscoveryengineV1betaAssistantToolList", + "properties": { + "toolInfo": { + "description": "The list of tools with corresponding tool information.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAssistantToolInfo" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata", @@ -20090,6 +20348,10 @@ "description": "Document metadata contains the information of the document of the current chunk.", "id": "GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata", "properties": { + "mimeType": { + "description": "The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.", + "type": "string" + }, "structData": { "additionalProperties": { "description": "Properties of the object.", diff --git a/src/apis/discoveryengine/v1.ts b/src/apis/discoveryengine/v1.ts index 902c2a2f54..c1365b8251 100644 --- a/src/apis/discoveryengine/v1.ts +++ b/src/apis/discoveryengine/v1.ts @@ -5753,10 +5753,28 @@ export namespace discoveryengine_v1 { * Discovery Engine Assistant resource. */ export interface Schema$GoogleCloudDiscoveryengineV1Assistant { + /** + * Optional. Customer policy for the assistant. + */ + customerPolicy?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicy; + /** + * Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example "projects/{projectId\}/locations/{locationId\}/collections/{collectionId\}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {"jira1ConnectorName": [(toolId1, "createTicket"), (toolId2, "transferTicket")], "gmail1ConnectorName": [(toolId3, "sendEmail"),..] \} + */ + enabledTools?: { + [key: string]: Schema$GoogleCloudDiscoveryengineV1AssistantToolList; + } | null; + /** + * Optional. Configuration for the generation of the assistant response. + */ + generationConfig?: Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfig; /** * Immutable. Resource name of the assistant. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` It must be a UTF-8 encoded string with a length limit of 1024 characters. */ name?: string | null; + /** + * Optional. The type of web grounding to use. + */ + webGroundingType?: string | null; } /** * Multi-modal content. @@ -5839,6 +5857,54 @@ export namespace discoveryengine_v1 { */ mimeType?: string | null; } + /** + * Customer-defined policy for the assistant. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicy { + /** + * Optional. List of banned phrases. + */ + bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase[]; + } + /** + * Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase { + /** + * Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, "cafe" would match "café". + */ + ignoreDiacritics?: boolean | null; + /** + * Optional. Match type for the banned phrase. + */ + matchType?: string | null; + /** + * Required. The raw string content to be banned. + */ + phrase?: string | null; + } + /** + * Configuration for the generation of the assistant response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfig { + /** + * The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected. + */ + defaultLanguage?: string | null; + /** + * System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions + */ + systemInstruction?: Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction; + } + /** + * System instruction, also known as the prompt preamble for LLM calls. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction { + /** + * Optional. Additional system instruction that will be added to the default system instruction. + */ + additionalSystemInstruction?: string | null; + } /** * A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. */ @@ -5928,6 +5994,28 @@ export namespace discoveryengine_v1 { */ text?: string | null; } + /** + * Information to identify a tool. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantToolInfo { + /** + * The display name of the tool. + */ + toolDisplayName?: string | null; + /** + * The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here. + */ + toolName?: string | null; + } + /** + * The enabled tools on a connector + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantToolList { + /** + * The list of tools with corresponding tool information. + */ + toolInfo?: Schema$GoogleCloudDiscoveryengineV1AssistantToolInfo[]; + } /** * User metadata of the request. */ @@ -8751,6 +8839,10 @@ export namespace discoveryengine_v1 { * Document metadata contains the information of the document of the current chunk. */ export interface Schema$GoogleCloudDiscoveryengineV1ChunkDocumentMetadata { + /** + * The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml. + */ + mimeType?: string | null; /** * Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ @@ -30260,7 +30352,11 @@ export namespace discoveryengine_v1 { * * // Example response * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * } * @@ -30410,7 +30506,11 @@ export namespace discoveryengine_v1 { * requestBody: { * // request body parameters * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * }, * }, @@ -30419,7 +30519,11 @@ export namespace discoveryengine_v1 { * * // Example response * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * } * diff --git a/src/apis/discoveryengine/v1alpha.ts b/src/apis/discoveryengine/v1alpha.ts index 930ef64fb6..a02a7a5621 100644 --- a/src/apis/discoveryengine/v1alpha.ts +++ b/src/apis/discoveryengine/v1alpha.ts @@ -2132,10 +2132,28 @@ export namespace discoveryengine_v1alpha { * Discovery Engine Assistant resource. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaAssistant { + /** + * Optional. Customer policy for the assistant. + */ + customerPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy; + /** + * Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example "projects/{projectId\}/locations/{locationId\}/collections/{collectionId\}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {"jira1ConnectorName": [(toolId1, "createTicket"), (toolId2, "transferTicket")], "gmail1ConnectorName": [(toolId3, "sendEmail"),..] \} + */ + enabledTools?: { + [key: string]: Schema$GoogleCloudDiscoveryengineV1alphaAssistantToolList; + } | null; + /** + * Optional. Configuration for the generation of the assistant response. + */ + generationConfig?: Schema$GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig; /** * Immutable. Resource name of the assistant. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` It must be a UTF-8 encoded string with a length limit of 1024 characters. */ name?: string | null; + /** + * Optional. The type of web grounding to use. + */ + webGroundingType?: string | null; } /** * Multi-modal content. @@ -2218,6 +2236,54 @@ export namespace discoveryengine_v1alpha { */ mimeType?: string | null; } + /** + * Customer-defined policy for the assistant. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy { + /** + * Optional. List of banned phrases. + */ + bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase[]; + } + /** + * Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicyBannedPhrase { + /** + * Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, "cafe" would match "café". + */ + ignoreDiacritics?: boolean | null; + /** + * Optional. Match type for the banned phrase. + */ + matchType?: string | null; + /** + * Required. The raw string content to be banned. + */ + phrase?: string | null; + } + /** + * Configuration for the generation of the assistant response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig { + /** + * The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected. + */ + defaultLanguage?: string | null; + /** + * System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions + */ + systemInstruction?: Schema$GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction; + } + /** + * System instruction, also known as the prompt preamble for LLM calls. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction { + /** + * Optional. Additional system instruction that will be added to the default system instruction. + */ + additionalSystemInstruction?: string | null; + } /** * A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. */ @@ -2307,6 +2373,28 @@ export namespace discoveryengine_v1alpha { */ text?: string | null; } + /** + * Information to identify a tool. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAssistantToolInfo { + /** + * The display name of the tool. + */ + toolDisplayName?: string | null; + /** + * The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here. + */ + toolName?: string | null; + } + /** + * The enabled tools on a connector + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAssistantToolList { + /** + * The list of tools with corresponding tool information. + */ + toolInfo?: Schema$GoogleCloudDiscoveryengineV1alphaAssistantToolInfo[]; + } /** * User metadata of the request. */ @@ -2824,6 +2912,10 @@ export namespace discoveryengine_v1alpha { * Document metadata contains the information of the document of the current chunk. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata { + /** + * The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml. + */ + mimeType?: string | null; /** * Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ @@ -9809,10 +9901,98 @@ export namespace discoveryengine_v1alpha { * Discovery Engine Assistant resource. */ export interface Schema$GoogleCloudDiscoveryengineV1Assistant { + /** + * Optional. Customer policy for the assistant. + */ + customerPolicy?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicy; + /** + * Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example "projects/{projectId\}/locations/{locationId\}/collections/{collectionId\}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {"jira1ConnectorName": [(toolId1, "createTicket"), (toolId2, "transferTicket")], "gmail1ConnectorName": [(toolId3, "sendEmail"),..] \} + */ + enabledTools?: { + [key: string]: Schema$GoogleCloudDiscoveryengineV1AssistantToolList; + } | null; + /** + * Optional. Configuration for the generation of the assistant response. + */ + generationConfig?: Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfig; /** * Immutable. Resource name of the assistant. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` It must be a UTF-8 encoded string with a length limit of 1024 characters. */ name?: string | null; + /** + * Optional. The type of web grounding to use. + */ + webGroundingType?: string | null; + } + /** + * Customer-defined policy for the assistant. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicy { + /** + * Optional. List of banned phrases. + */ + bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase[]; + } + /** + * Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase { + /** + * Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, "cafe" would match "café". + */ + ignoreDiacritics?: boolean | null; + /** + * Optional. Match type for the banned phrase. + */ + matchType?: string | null; + /** + * Required. The raw string content to be banned. + */ + phrase?: string | null; + } + /** + * Configuration for the generation of the assistant response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfig { + /** + * The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected. + */ + defaultLanguage?: string | null; + /** + * System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions + */ + systemInstruction?: Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction; + } + /** + * System instruction, also known as the prompt preamble for LLM calls. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction { + /** + * Optional. Additional system instruction that will be added to the default system instruction. + */ + additionalSystemInstruction?: string | null; + } + /** + * Information to identify a tool. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantToolInfo { + /** + * The display name of the tool. + */ + toolDisplayName?: string | null; + /** + * The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here. + */ + toolName?: string | null; + } + /** + * The enabled tools on a connector + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantToolList { + /** + * The list of tools with corresponding tool information. + */ + toolInfo?: Schema$GoogleCloudDiscoveryengineV1AssistantToolInfo[]; } /** * Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field. @@ -37451,7 +37631,11 @@ export namespace discoveryengine_v1alpha { * * // Example response * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * } * @@ -37601,7 +37785,11 @@ export namespace discoveryengine_v1alpha { * requestBody: { * // request body parameters * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * }, * }, @@ -37610,7 +37798,11 @@ export namespace discoveryengine_v1alpha { * * // Example response * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * } * @@ -58397,9 +58589,9 @@ export namespace discoveryengine_v1alpha { * * // Do the magic * const res = await discoveryengine.projects.locations.evaluations.list({ - * // Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * // Optional. Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. * pageSize: 'placeholder-value', - * // A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. + * // Optional. A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. * pageToken: 'placeholder-value', * // Required. The parent location resource name, such as `projects/{project\}/locations/{location\}`. If the caller does not have permission to list Evaluations under this location, regardless of whether or not this location exists, a `PERMISSION_DENIED` error is returned. * parent: 'projects/my-project/locations/my-location', @@ -58553,9 +58745,9 @@ export namespace discoveryengine_v1alpha { * // Required. The evaluation resource name, such as `projects/{project\}/locations/{location\}/evaluations/{evaluation\}`. If the caller does not have permission to list ListEvaluationResultsResponse.EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned. * evaluation: * 'projects/my-project/locations/my-location/evaluations/my-evaluation', - * // Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * // Optional. Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. * pageSize: 'placeholder-value', - * // A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. + * // Optional. A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. * pageToken: 'placeholder-value', * }); * console.log(res.data); @@ -58697,11 +58889,11 @@ export namespace discoveryengine_v1alpha { export interface Params$Resource$Projects$Locations$Evaluations$List extends StandardParameters { /** - * Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * Optional. Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. */ pageSize?: number; /** - * A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Optional. A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. */ pageToken?: string; /** @@ -58716,11 +58908,11 @@ export namespace discoveryengine_v1alpha { */ evaluation?: string; /** - * Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * Optional. Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. */ pageSize?: number; /** - * A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Optional. A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. */ pageToken?: string; } diff --git a/src/apis/discoveryengine/v1beta.ts b/src/apis/discoveryengine/v1beta.ts index f5b5be137d..c36835af3c 100644 --- a/src/apis/discoveryengine/v1beta.ts +++ b/src/apis/discoveryengine/v1beta.ts @@ -4694,10 +4694,98 @@ export namespace discoveryengine_v1beta { * Discovery Engine Assistant resource. */ export interface Schema$GoogleCloudDiscoveryengineV1Assistant { + /** + * Optional. Customer policy for the assistant. + */ + customerPolicy?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicy; + /** + * Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example "projects/{projectId\}/locations/{locationId\}/collections/{collectionId\}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {"jira1ConnectorName": [(toolId1, "createTicket"), (toolId2, "transferTicket")], "gmail1ConnectorName": [(toolId3, "sendEmail"),..] \} + */ + enabledTools?: { + [key: string]: Schema$GoogleCloudDiscoveryengineV1AssistantToolList; + } | null; + /** + * Optional. Configuration for the generation of the assistant response. + */ + generationConfig?: Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfig; /** * Immutable. Resource name of the assistant. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` It must be a UTF-8 encoded string with a length limit of 1024 characters. */ name?: string | null; + /** + * Optional. The type of web grounding to use. + */ + webGroundingType?: string | null; + } + /** + * Customer-defined policy for the assistant. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicy { + /** + * Optional. List of banned phrases. + */ + bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase[]; + } + /** + * Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase { + /** + * Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, "cafe" would match "café". + */ + ignoreDiacritics?: boolean | null; + /** + * Optional. Match type for the banned phrase. + */ + matchType?: string | null; + /** + * Required. The raw string content to be banned. + */ + phrase?: string | null; + } + /** + * Configuration for the generation of the assistant response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfig { + /** + * The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected. + */ + defaultLanguage?: string | null; + /** + * System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions + */ + systemInstruction?: Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction; + } + /** + * System instruction, also known as the prompt preamble for LLM calls. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction { + /** + * Optional. Additional system instruction that will be added to the default system instruction. + */ + additionalSystemInstruction?: string | null; + } + /** + * Information to identify a tool. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantToolInfo { + /** + * The display name of the tool. + */ + toolDisplayName?: string | null; + /** + * The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here. + */ + toolName?: string | null; + } + /** + * The enabled tools on a connector + */ + export interface Schema$GoogleCloudDiscoveryengineV1AssistantToolList { + /** + * The list of tools with corresponding tool information. + */ + toolInfo?: Schema$GoogleCloudDiscoveryengineV1AssistantToolInfo[]; } /** * Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field. @@ -5932,10 +6020,28 @@ export namespace discoveryengine_v1beta { * Discovery Engine Assistant resource. */ export interface Schema$GoogleCloudDiscoveryengineV1betaAssistant { + /** + * Optional. Customer policy for the assistant. + */ + customerPolicy?: Schema$GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy; + /** + * Optional. Note: not implemented yet. Use enabled_actions instead. The enabled tools on this assistant. The keys are connector name, for example "projects/{projectId\}/locations/{locationId\}/collections/{collectionId\}/dataconnector The values consist of admin enabled tools towards the connector instance. Admin can selectively enable multiple tools on any of the connector instances that they created in the project. For example {"jira1ConnectorName": [(toolId1, "createTicket"), (toolId2, "transferTicket")], "gmail1ConnectorName": [(toolId3, "sendEmail"),..] \} + */ + enabledTools?: { + [key: string]: Schema$GoogleCloudDiscoveryengineV1betaAssistantToolList; + } | null; + /** + * Optional. Configuration for the generation of the assistant response. + */ + generationConfig?: Schema$GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig; /** * Immutable. Resource name of the assistant. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` It must be a UTF-8 encoded string with a length limit of 1024 characters. */ name?: string | null; + /** + * Optional. The type of web grounding to use. + */ + webGroundingType?: string | null; } /** * Multi-modal content. @@ -6018,6 +6124,54 @@ export namespace discoveryengine_v1beta { */ mimeType?: string | null; } + /** + * Customer-defined policy for the assistant. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy { + /** + * Optional. List of banned phrases. + */ + bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase[]; + } + /** + * Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase { + /** + * Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, "cafe" would match "café". + */ + ignoreDiacritics?: boolean | null; + /** + * Optional. Match type for the banned phrase. + */ + matchType?: string | null; + /** + * Required. The raw string content to be banned. + */ + phrase?: string | null; + } + /** + * Configuration for the generation of the assistant response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig { + /** + * The default language to use for the generation of the assistant response. Use an ISO 639-1 language code such as `en`. If not specified, the language will be automatically detected. + */ + defaultLanguage?: string | null; + /** + * System instruction, also known as the prompt preamble for LLM calls. See also https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions + */ + systemInstruction?: Schema$GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction; + } + /** + * System instruction, also known as the prompt preamble for LLM calls. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction { + /** + * Optional. Additional system instruction that will be added to the default system instruction. + */ + additionalSystemInstruction?: string | null; + } /** * A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. */ @@ -6107,6 +6261,28 @@ export namespace discoveryengine_v1beta { */ text?: string | null; } + /** + * Information to identify a tool. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAssistantToolInfo { + /** + * The display name of the tool. + */ + toolDisplayName?: string | null; + /** + * The name of the tool as defined by DataConnectorService.QueryAvailableActions. Note: it's using `action` in the DataConnectorService apis, but they are the same as the `tool` here. + */ + toolName?: string | null; + } + /** + * The enabled tools on a connector + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAssistantToolList { + /** + * The list of tools with corresponding tool information. + */ + toolInfo?: Schema$GoogleCloudDiscoveryengineV1betaAssistantToolInfo[]; + } /** * User metadata of the request. */ @@ -6539,6 +6715,10 @@ export namespace discoveryengine_v1beta { * Document metadata contains the information of the document of the current chunk. */ export interface Schema$GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata { + /** + * The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml. + */ + mimeType?: string | null; /** * Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ @@ -32112,7 +32292,11 @@ export namespace discoveryengine_v1beta { * * // Example response * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * } * @@ -32262,7 +32446,11 @@ export namespace discoveryengine_v1beta { * requestBody: { * // request body parameters * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * }, * }, @@ -32271,7 +32459,11 @@ export namespace discoveryengine_v1beta { * * // Example response * // { - * // "name": "my_name" + * // "customerPolicy": {}, + * // "enabledTools": {}, + * // "generationConfig": {}, + * // "name": "my_name", + * // "webGroundingType": "my_webGroundingType" * // } * } * @@ -51544,9 +51736,9 @@ export namespace discoveryengine_v1beta { * * // Do the magic * const res = await discoveryengine.projects.locations.evaluations.list({ - * // Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * // Optional. Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. * pageSize: 'placeholder-value', - * // A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. + * // Optional. A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. * pageToken: 'placeholder-value', * // Required. The parent location resource name, such as `projects/{project\}/locations/{location\}`. If the caller does not have permission to list Evaluations under this location, regardless of whether or not this location exists, a `PERMISSION_DENIED` error is returned. * parent: 'projects/my-project/locations/my-location', @@ -51700,9 +51892,9 @@ export namespace discoveryengine_v1beta { * // Required. The evaluation resource name, such as `projects/{project\}/locations/{location\}/evaluations/{evaluation\}`. If the caller does not have permission to list ListEvaluationResultsResponse.EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned. * evaluation: * 'projects/my-project/locations/my-location/evaluations/my-evaluation', - * // Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * // Optional. Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. * pageSize: 'placeholder-value', - * // A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. + * // Optional. A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. * pageToken: 'placeholder-value', * }); * console.log(res.data); @@ -51844,11 +52036,11 @@ export namespace discoveryengine_v1beta { export interface Params$Resource$Projects$Locations$Evaluations$List extends StandardParameters { /** - * Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * Optional. Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. */ pageSize?: number; /** - * A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Optional. A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. */ pageToken?: string; /** @@ -51863,11 +52055,11 @@ export namespace discoveryengine_v1beta { */ evaluation?: string; /** - * Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * Optional. Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. */ pageSize?: number; /** - * A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Optional. A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned. */ pageToken?: string; } From c97368383aee0678e8c075e3c52a7239efb6d9e1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:12 +0000 Subject: [PATCH 22/43] feat(displayvideo): update the API #### displayvideo:v4 The following keys were added: - schemas.CustomBiddingAlgorithm.properties.thirdPartyOptimizationPartner.description - schemas.CustomBiddingAlgorithm.properties.thirdPartyOptimizationPartner.enum - schemas.CustomBiddingAlgorithm.properties.thirdPartyOptimizationPartner.enumDescriptions - schemas.CustomBiddingAlgorithm.properties.thirdPartyOptimizationPartner.type --- discovery/displayvideo-v4.json | 16 +++++++++++++++- src/apis/displayvideo/v4.ts | 19 ++++++++++++++----- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/discovery/displayvideo-v4.json b/discovery/displayvideo-v4.json index f34a404265..20d933c708 100644 --- a/discovery/displayvideo-v4.json +++ b/discovery/displayvideo-v4.json @@ -9302,7 +9302,7 @@ } } }, - "revision": "20250729", + "revision": "20250803", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -14079,6 +14079,20 @@ "type": "string" }, "type": "array" + }, + "thirdPartyOptimizationPartner": { + "description": "Optional. Immutable. Designates the third party optimization partner that manages this algorithm.", + "enum": [ + "UNKNOWN", + "SCIBIDS", + "ADELAIDE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Third party data science service provider that DV3 partners/advertisers can partner with.", + "Third party attention measurement service provider that DV3 partners/advertisers can partner with." + ], + "type": "string" } }, "type": "object" diff --git a/src/apis/displayvideo/v4.ts b/src/apis/displayvideo/v4.ts index 11ba0d62a6..e31c01c7f2 100644 --- a/src/apis/displayvideo/v4.ts +++ b/src/apis/displayvideo/v4.ts @@ -2499,6 +2499,10 @@ export namespace displayvideo_v4 { * The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor). */ sharedAdvertiserIds?: string[] | null; + /** + * Optional. Immutable. Designates the third party optimization partner that manages this algorithm. + */ + thirdPartyOptimizationPartner?: string | null; } /** * A single custom bidding algorithm rules. @@ -22797,7 +22801,8 @@ export namespace displayvideo_v4 { * // "modelDetails": [], * // "name": "my_name", * // "partnerId": "my_partnerId", - * // "sharedAdvertiserIds": [] + * // "sharedAdvertiserIds": [], + * // "thirdPartyOptimizationPartner": "my_thirdPartyOptimizationPartner" * // } * }, * }); @@ -22813,7 +22818,8 @@ export namespace displayvideo_v4 { * // "modelDetails": [], * // "name": "my_name", * // "partnerId": "my_partnerId", - * // "sharedAdvertiserIds": [] + * // "sharedAdvertiserIds": [], + * // "thirdPartyOptimizationPartner": "my_thirdPartyOptimizationPartner" * // } * } * @@ -22964,7 +22970,8 @@ export namespace displayvideo_v4 { * // "modelDetails": [], * // "name": "my_name", * // "partnerId": "my_partnerId", - * // "sharedAdvertiserIds": [] + * // "sharedAdvertiserIds": [], + * // "thirdPartyOptimizationPartner": "my_thirdPartyOptimizationPartner" * // } * } * @@ -23271,7 +23278,8 @@ export namespace displayvideo_v4 { * // "modelDetails": [], * // "name": "my_name", * // "partnerId": "my_partnerId", - * // "sharedAdvertiserIds": [] + * // "sharedAdvertiserIds": [], + * // "thirdPartyOptimizationPartner": "my_thirdPartyOptimizationPartner" * // } * }, * }); @@ -23287,7 +23295,8 @@ export namespace displayvideo_v4 { * // "modelDetails": [], * // "name": "my_name", * // "partnerId": "my_partnerId", - * // "sharedAdvertiserIds": [] + * // "sharedAdvertiserIds": [], + * // "thirdPartyOptimizationPartner": "my_thirdPartyOptimizationPartner" * // } * } * From 4ba91d3df30269d52debdb9d1d8598e008e6befe Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:12 +0000 Subject: [PATCH 23/43] fix(drivelabels): update the API #### drivelabels:v2beta The following keys were changed: - resources.labels.methods.create.description - resources.labels.methods.create.parameters.languageCode.description - resources.labels.methods.delete.description - resources.labels.methods.delete.parameters.useAdminAccess.description - resources.labels.methods.delete.parameters.writeControl.requiredRevisionId.description - resources.labels.methods.delta.description - resources.labels.methods.delta.parameters.name.description - resources.labels.methods.disable.description - resources.labels.methods.enable.description - resources.labels.methods.get.description - resources.labels.methods.list.description - resources.labels.methods.list.parameters.customer.description - resources.labels.methods.list.parameters.minimumRole.description - resources.labels.methods.list.parameters.useAdminAccess.description - resources.labels.methods.publish.description - resources.labels.methods.updateLabelCopyMode.description - resources.labels.methods.updateLabelCopyMode.parameters.name.description - resources.labels.methods.updateLabelEnabledAppSettings.description - resources.labels.methods.updateLabelEnabledAppSettings.parameters.name.description - resources.labels.methods.updatePermissions.description - resources.labels.methods.updatePermissions.parameters.parent.description - resources.labels.methods.updatePermissions.parameters.useAdminAccess.description - resources.labels.resources.locks.methods.list.description - resources.labels.resources.locks.methods.list.parameters.pageSize.description - resources.labels.resources.locks.methods.list.parameters.parent.description - resources.labels.resources.permissions.methods.batchDelete.description - resources.labels.resources.permissions.methods.batchDelete.parameters.parent.description - resources.labels.resources.permissions.methods.batchUpdate.description - resources.labels.resources.permissions.methods.batchUpdate.parameters.parent.description - resources.labels.resources.permissions.methods.create.description - resources.labels.resources.permissions.methods.create.parameters.parent.description - resources.labels.resources.permissions.methods.create.parameters.useAdminAccess.description - resources.labels.resources.permissions.methods.delete.description - resources.labels.resources.permissions.methods.delete.parameters.name.description - resources.labels.resources.permissions.methods.delete.parameters.useAdminAccess.description - resources.labels.resources.permissions.methods.list.description - resources.labels.resources.permissions.methods.list.parameters.parent.description - resources.labels.resources.permissions.methods.list.parameters.useAdminAccess.description - resources.labels.resources.revisions.methods.updatePermissions.description - resources.labels.resources.revisions.methods.updatePermissions.parameters.parent.description - resources.labels.resources.revisions.methods.updatePermissions.parameters.useAdminAccess.description - resources.labels.resources.revisions.resources.locks.methods.list.description - resources.labels.resources.revisions.resources.locks.methods.list.parameters.pageSize.description - resources.labels.resources.revisions.resources.locks.methods.list.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.batchDelete.description - resources.labels.resources.revisions.resources.permissions.methods.batchDelete.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.batchUpdate.description - resources.labels.resources.revisions.resources.permissions.methods.batchUpdate.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.create.description - resources.labels.resources.revisions.resources.permissions.methods.create.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.create.parameters.useAdminAccess.description - resources.labels.resources.revisions.resources.permissions.methods.delete.description - resources.labels.resources.revisions.resources.permissions.methods.delete.parameters.name.description - resources.labels.resources.revisions.resources.permissions.methods.delete.parameters.useAdminAccess.description - resources.labels.resources.revisions.resources.permissions.methods.list.description - resources.labels.resources.revisions.resources.permissions.methods.list.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.list.parameters.useAdminAccess.description - resources.limits.methods.getLabel.description - resources.limits.methods.getLabel.parameters.name.description - resources.users.methods.getCapabilities.parameters.customer.description - schemas.GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest.description - schemas.GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest.description - schemas.GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse.description - schemas.GoogleAppsDriveLabelsV2betaDateLimits.description - schemas.GoogleAppsDriveLabelsV2betaDateLimits.properties.maxValue.description - schemas.GoogleAppsDriveLabelsV2betaDateLimits.properties.minValue.description - schemas.GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest.properties.name.description - schemas.GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest.properties.languageCode.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest.properties.requests.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest.properties.choice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest.properties.disabledPolicy.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.createField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.createSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.deleteField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.deleteSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.disableField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.disableSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.enableField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.enableSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.updateField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.updateFieldType.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.updateLabel.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest.properties.updateSelectionChoiceProperties.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest.properties.properties.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.properties.properties.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse.properties.updatedLabel.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.createField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.createSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.deleteField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.deleteSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.disableField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.disableSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.enableField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.enableSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.updateField.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.updateFieldType.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.updateLabel.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse.properties.updateSelectionChoiceProperties.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse.description - schemas.GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse.description - schemas.GoogleAppsDriveLabelsV2betaDisableLabelRequest.description - schemas.GoogleAppsDriveLabelsV2betaDisableLabelRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2betaDisableLabelRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaDisableLabelRequest.properties.writeControl.description - schemas.GoogleAppsDriveLabelsV2betaEnableLabelRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaEnableLabelRequest.properties.writeControl.description - schemas.GoogleAppsDriveLabelsV2betaField.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaField.properties.lockStatus.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.dateLimits.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.integerLimits.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.longTextLimits.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.maxDescriptionLength.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.maxDisplayNameLength.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.maxIdLength.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.selectionLimits.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.textLimits.description - schemas.GoogleAppsDriveLabelsV2betaFieldLimits.properties.userLimits.description - schemas.GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice.properties.lockStatus.description - schemas.GoogleAppsDriveLabelsV2betaIntegerLimits.description - schemas.GoogleAppsDriveLabelsV2betaIntegerLimits.properties.maxValue.description - schemas.GoogleAppsDriveLabelsV2betaIntegerLimits.properties.minValue.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.customer.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.disableTime.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.disabler.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.enabledAppSettings.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.id.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.lockStatus.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.publishTime.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.publisher.description - schemas.GoogleAppsDriveLabelsV2betaLabel.properties.revisionId.description - schemas.GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy.properties.copyMode.enumDescriptions - schemas.GoogleAppsDriveLabelsV2betaLabelDisplayHints.description - schemas.GoogleAppsDriveLabelsV2betaLabelDisplayHints.properties.priority.description - schemas.GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings.description - schemas.GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings.properties.enabledApps.description - schemas.GoogleAppsDriveLabelsV2betaLabelEnabledAppSettingsEnabledApp.description - schemas.GoogleAppsDriveLabelsV2betaLabelEnabledAppSettingsEnabledApp.properties.app.description - schemas.GoogleAppsDriveLabelsV2betaLabelEnabledAppSettingsEnabledApp.properties.app.enumDescriptions - schemas.GoogleAppsDriveLabelsV2betaLabelLimits.description - schemas.GoogleAppsDriveLabelsV2betaLabelLimits.properties.fieldLimits.description - schemas.GoogleAppsDriveLabelsV2betaLabelLimits.properties.maxDeletedFields.description - schemas.GoogleAppsDriveLabelsV2betaLabelLimits.properties.maxFields.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.capabilities.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.choiceId.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.createTime.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.creator.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.deleteTime.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.name.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.state.description - schemas.GoogleAppsDriveLabelsV2betaLabelLock.properties.state.enumDescriptions - schemas.GoogleAppsDriveLabelsV2betaLabelLockCapabilities.description - schemas.GoogleAppsDriveLabelsV2betaLabelPermission.properties.audience.description - schemas.GoogleAppsDriveLabelsV2betaLabelPermission.properties.email.description - schemas.GoogleAppsDriveLabelsV2betaLifecycle.description - schemas.GoogleAppsDriveLabelsV2betaListLabelLocksResponse.description - schemas.GoogleAppsDriveLabelsV2betaListLabelLocksResponse.properties.labelLocks.description - schemas.GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse.description - schemas.GoogleAppsDriveLabelsV2betaListLabelsResponse.description - schemas.GoogleAppsDriveLabelsV2betaListLimits.description - schemas.GoogleAppsDriveLabelsV2betaListLimits.properties.maxEntries.description - schemas.GoogleAppsDriveLabelsV2betaLockStatus.properties.locked.description - schemas.GoogleAppsDriveLabelsV2betaLongTextLimits.description - schemas.GoogleAppsDriveLabelsV2betaLongTextLimits.properties.maxLength.description - schemas.GoogleAppsDriveLabelsV2betaLongTextLimits.properties.minLength.description - schemas.GoogleAppsDriveLabelsV2betaPublishLabelRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaPublishLabelRequest.properties.writeControl.description - schemas.GoogleAppsDriveLabelsV2betaSelectionLimits.description - schemas.GoogleAppsDriveLabelsV2betaSelectionLimits.properties.listLimits.description - schemas.GoogleAppsDriveLabelsV2betaSelectionLimits.properties.maxChoices.description - schemas.GoogleAppsDriveLabelsV2betaSelectionLimits.properties.maxIdLength.description - schemas.GoogleAppsDriveLabelsV2betaTextLimits.description - schemas.GoogleAppsDriveLabelsV2betaTextLimits.properties.maxLength.description - schemas.GoogleAppsDriveLabelsV2betaTextLimits.properties.minLength.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest.properties.copyMode.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest.properties.copyMode.enumDescriptions - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelEnabledAppSettingsRequest.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelEnabledAppSettingsRequest.properties.enabledAppSettings.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelEnabledAppSettingsRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest.properties.labelPermission.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest.properties.parent.description - schemas.GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2betaUserCapabilities.properties.canCreateAdminLabels.description - schemas.GoogleAppsDriveLabelsV2betaUserCapabilities.properties.canCreateSharedLabels.description - schemas.GoogleAppsDriveLabelsV2betaUserInfo.properties.person.description - schemas.GoogleAppsDriveLabelsV2betaUserLimits.properties.listLimits.description - schemas.GoogleAppsDriveLabelsV2betaWriteControl.properties.requiredRevisionId.description #### drivelabels:v2 The following keys were changed: - resources.labels.methods.create.description - resources.labels.methods.create.parameters.languageCode.description - resources.labels.methods.delete.description - resources.labels.methods.delete.parameters.useAdminAccess.description - resources.labels.methods.delete.parameters.writeControl.requiredRevisionId.description - resources.labels.methods.delta.description - resources.labels.methods.delta.parameters.name.description - resources.labels.methods.disable.description - resources.labels.methods.enable.description - resources.labels.methods.get.description - resources.labels.methods.list.description - resources.labels.methods.list.parameters.customer.description - resources.labels.methods.list.parameters.minimumRole.description - resources.labels.methods.list.parameters.useAdminAccess.description - resources.labels.methods.publish.description - resources.labels.methods.updateLabelCopyMode.description - resources.labels.methods.updateLabelCopyMode.parameters.name.description - resources.labels.methods.updateLabelEnabledAppSettings.description - resources.labels.methods.updateLabelEnabledAppSettings.parameters.name.description - resources.labels.methods.updatePermissions.description - resources.labels.methods.updatePermissions.parameters.parent.description - resources.labels.methods.updatePermissions.parameters.useAdminAccess.description - resources.labels.resources.locks.methods.list.description - resources.labels.resources.locks.methods.list.parameters.pageSize.description - resources.labels.resources.locks.methods.list.parameters.parent.description - resources.labels.resources.permissions.methods.batchDelete.description - resources.labels.resources.permissions.methods.batchDelete.parameters.parent.description - resources.labels.resources.permissions.methods.batchUpdate.description - resources.labels.resources.permissions.methods.batchUpdate.parameters.parent.description - resources.labels.resources.permissions.methods.create.description - resources.labels.resources.permissions.methods.create.parameters.parent.description - resources.labels.resources.permissions.methods.create.parameters.useAdminAccess.description - resources.labels.resources.permissions.methods.delete.description - resources.labels.resources.permissions.methods.delete.parameters.name.description - resources.labels.resources.permissions.methods.delete.parameters.useAdminAccess.description - resources.labels.resources.permissions.methods.list.description - resources.labels.resources.permissions.methods.list.parameters.parent.description - resources.labels.resources.permissions.methods.list.parameters.useAdminAccess.description - resources.labels.resources.revisions.methods.updatePermissions.description - resources.labels.resources.revisions.methods.updatePermissions.parameters.parent.description - resources.labels.resources.revisions.methods.updatePermissions.parameters.useAdminAccess.description - resources.labels.resources.revisions.resources.locks.methods.list.description - resources.labels.resources.revisions.resources.locks.methods.list.parameters.pageSize.description - resources.labels.resources.revisions.resources.locks.methods.list.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.batchDelete.description - resources.labels.resources.revisions.resources.permissions.methods.batchDelete.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.batchUpdate.description - resources.labels.resources.revisions.resources.permissions.methods.batchUpdate.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.create.description - resources.labels.resources.revisions.resources.permissions.methods.create.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.create.parameters.useAdminAccess.description - resources.labels.resources.revisions.resources.permissions.methods.delete.description - resources.labels.resources.revisions.resources.permissions.methods.delete.parameters.name.description - resources.labels.resources.revisions.resources.permissions.methods.delete.parameters.useAdminAccess.description - resources.labels.resources.revisions.resources.permissions.methods.list.description - resources.labels.resources.revisions.resources.permissions.methods.list.parameters.parent.description - resources.labels.resources.revisions.resources.permissions.methods.list.parameters.useAdminAccess.description - resources.limits.methods.getLabel.description - resources.limits.methods.getLabel.parameters.name.description - resources.users.methods.getCapabilities.parameters.customer.description - schemas.GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest.description - schemas.GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest.description - schemas.GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsResponse.description - schemas.GoogleAppsDriveLabelsV2DateLimits.description - schemas.GoogleAppsDriveLabelsV2DateLimits.properties.maxValue.description - schemas.GoogleAppsDriveLabelsV2DateLimits.properties.minValue.description - schemas.GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest.description - schemas.GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest.properties.name.description - schemas.GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest.properties.languageCode.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest.properties.requests.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest.properties.choice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest.properties.disabledPolicy.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.createField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.createSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.deleteField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.deleteSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.disableField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.disableSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.enableField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.enableSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.updateField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.updateFieldType.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.updateLabel.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest.properties.updateSelectionChoiceProperties.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest.properties.properties.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.properties.id.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.properties.properties.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponse.properties.updatedLabel.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse.properties.id.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.createField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.createSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.deleteField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.deleteSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.disableField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.disableSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.enableField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.enableSelectionChoice.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.updateField.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.updateFieldType.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.updateLabel.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse.properties.updateSelectionChoiceProperties.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse.description - schemas.GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse.description - schemas.GoogleAppsDriveLabelsV2DisableLabelRequest.description - schemas.GoogleAppsDriveLabelsV2DisableLabelRequest.properties.updateMask.description - schemas.GoogleAppsDriveLabelsV2DisableLabelRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2DisableLabelRequest.properties.writeControl.description - schemas.GoogleAppsDriveLabelsV2EnableLabelRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2EnableLabelRequest.properties.writeControl.description - schemas.GoogleAppsDriveLabelsV2Field.properties.id.description - schemas.GoogleAppsDriveLabelsV2Field.properties.lockStatus.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.dateLimits.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.integerLimits.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.longTextLimits.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.maxDescriptionLength.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.maxDisplayNameLength.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.maxIdLength.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.selectionLimits.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.textLimits.description - schemas.GoogleAppsDriveLabelsV2FieldLimits.properties.userLimits.description - schemas.GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice.properties.lockStatus.description - schemas.GoogleAppsDriveLabelsV2IntegerLimits.description - schemas.GoogleAppsDriveLabelsV2IntegerLimits.properties.maxValue.description - schemas.GoogleAppsDriveLabelsV2IntegerLimits.properties.minValue.description - schemas.GoogleAppsDriveLabelsV2Label.properties.customer.description - schemas.GoogleAppsDriveLabelsV2Label.properties.disableTime.description - schemas.GoogleAppsDriveLabelsV2Label.properties.disabler.description - schemas.GoogleAppsDriveLabelsV2Label.properties.enabledAppSettings.description - schemas.GoogleAppsDriveLabelsV2Label.properties.id.description - schemas.GoogleAppsDriveLabelsV2Label.properties.lockStatus.description - schemas.GoogleAppsDriveLabelsV2Label.properties.publishTime.description - schemas.GoogleAppsDriveLabelsV2Label.properties.publisher.description - schemas.GoogleAppsDriveLabelsV2Label.properties.revisionId.description - schemas.GoogleAppsDriveLabelsV2LabelAppliedLabelPolicy.properties.copyMode.enumDescriptions - schemas.GoogleAppsDriveLabelsV2LabelDisplayHints.description - schemas.GoogleAppsDriveLabelsV2LabelDisplayHints.properties.priority.description - schemas.GoogleAppsDriveLabelsV2LabelEnabledAppSettings.description - schemas.GoogleAppsDriveLabelsV2LabelEnabledAppSettings.properties.enabledApps.description - schemas.GoogleAppsDriveLabelsV2LabelEnabledAppSettingsEnabledApp.description - schemas.GoogleAppsDriveLabelsV2LabelEnabledAppSettingsEnabledApp.properties.app.description - schemas.GoogleAppsDriveLabelsV2LabelEnabledAppSettingsEnabledApp.properties.app.enumDescriptions - schemas.GoogleAppsDriveLabelsV2LabelLimits.description - schemas.GoogleAppsDriveLabelsV2LabelLimits.properties.fieldLimits.description - schemas.GoogleAppsDriveLabelsV2LabelLimits.properties.maxDeletedFields.description - schemas.GoogleAppsDriveLabelsV2LabelLimits.properties.maxFields.description - schemas.GoogleAppsDriveLabelsV2LabelLock.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.capabilities.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.choiceId.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.createTime.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.creator.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.deleteTime.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.fieldId.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.name.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.state.description - schemas.GoogleAppsDriveLabelsV2LabelLock.properties.state.enumDescriptions - schemas.GoogleAppsDriveLabelsV2LabelLockCapabilities.description - schemas.GoogleAppsDriveLabelsV2LabelPermission.properties.audience.description - schemas.GoogleAppsDriveLabelsV2LabelPermission.properties.email.description - schemas.GoogleAppsDriveLabelsV2Lifecycle.description - schemas.GoogleAppsDriveLabelsV2ListLabelLocksResponse.description - schemas.GoogleAppsDriveLabelsV2ListLabelLocksResponse.properties.labelLocks.description - schemas.GoogleAppsDriveLabelsV2ListLabelPermissionsResponse.description - schemas.GoogleAppsDriveLabelsV2ListLabelsResponse.description - schemas.GoogleAppsDriveLabelsV2ListLimits.description - schemas.GoogleAppsDriveLabelsV2ListLimits.properties.maxEntries.description - schemas.GoogleAppsDriveLabelsV2LockStatus.properties.locked.description - schemas.GoogleAppsDriveLabelsV2LongTextLimits.description - schemas.GoogleAppsDriveLabelsV2LongTextLimits.properties.maxLength.description - schemas.GoogleAppsDriveLabelsV2LongTextLimits.properties.minLength.description - schemas.GoogleAppsDriveLabelsV2PublishLabelRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2PublishLabelRequest.properties.writeControl.description - schemas.GoogleAppsDriveLabelsV2SelectionLimits.description - schemas.GoogleAppsDriveLabelsV2SelectionLimits.properties.listLimits.description - schemas.GoogleAppsDriveLabelsV2SelectionLimits.properties.maxChoices.description - schemas.GoogleAppsDriveLabelsV2SelectionLimits.properties.maxIdLength.description - schemas.GoogleAppsDriveLabelsV2TextLimits.description - schemas.GoogleAppsDriveLabelsV2TextLimits.properties.maxLength.description - schemas.GoogleAppsDriveLabelsV2TextLimits.properties.minLength.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest.properties.copyMode.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest.properties.copyMode.enumDescriptions - schemas.GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelEnabledAppSettingsRequest.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelEnabledAppSettingsRequest.properties.enabledAppSettings.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelEnabledAppSettingsRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest.properties.labelPermission.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest.properties.parent.description - schemas.GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest.properties.useAdminAccess.description - schemas.GoogleAppsDriveLabelsV2UserCapabilities.properties.canCreateAdminLabels.description - schemas.GoogleAppsDriveLabelsV2UserCapabilities.properties.canCreateSharedLabels.description - schemas.GoogleAppsDriveLabelsV2UserInfo.properties.person.description - schemas.GoogleAppsDriveLabelsV2UserLimits.properties.listLimits.description - schemas.GoogleAppsDriveLabelsV2WriteControl.properties.requiredRevisionId.description --- discovery/drivelabels-v2.json | 486 +++++++++++++------------- discovery/drivelabels-v2beta.json | 486 +++++++++++++------------- src/apis/drivelabels/v2.ts | 544 +++++++++++++++--------------- src/apis/drivelabels/v2beta.ts | 544 +++++++++++++++--------------- 4 files changed, 1030 insertions(+), 1030 deletions(-) diff --git a/discovery/drivelabels-v2.json b/discovery/drivelabels-v2.json index 852e680aa8..be26aaf10e 100644 --- a/discovery/drivelabels-v2.json +++ b/discovery/drivelabels-v2.json @@ -117,14 +117,14 @@ "labels": { "methods": { "create": { - "description": "Creates a new Label.", + "description": "Creates a label. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label).", "flatPath": "v2/labels", "httpMethod": "POST", "id": "drivelabels.labels.create", "parameterOrder": [], "parameters": { "languageCode": { - "description": "The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used.", + "description": "The BCP-47 language code to use for evaluating localized field labels in response. When not specified, values in the default configured language will be used.", "location": "query", "type": "string" }, @@ -147,7 +147,7 @@ ] }, "delete": { - "description": "Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted.", + "description": "Permanently deletes a label and related metadata on Drive items. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). Once deleted, the label and related Drive item metadata will be deleted. Only draft labels and disabled labels may be deleted.", "flatPath": "v2/labels/{labelsId}", "httpMethod": "DELETE", "id": "drivelabels.labels.delete", @@ -163,12 +163,12 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" }, "writeControl.requiredRevisionId": { - "description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", + "description": "The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", "location": "query", "type": "string" } @@ -183,7 +183,7 @@ ] }, "delta": { - "description": "Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items.", + "description": "Updates a single label by applying a set of update requests resulting in a new draft revision. For more information, see [Update a label](https://developers.google.com/workspace/drive/labels/guides/update-label). The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive items.", "flatPath": "v2/labels/{labelsId}:delta", "httpMethod": "POST", "id": "drivelabels.labels.delta", @@ -192,7 +192,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Label to update.", + "description": "Required. The resource name of the label to update.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -212,7 +212,7 @@ ] }, "disable": { - "description": "Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.", + "description": "Disable a published label. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). Disabling a label will result in a new disabled published revision based on the current published revision. If there's a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.", "flatPath": "v2/labels/{labelsId}:disable", "httpMethod": "POST", "id": "drivelabels.labels.disable", @@ -241,7 +241,7 @@ ] }, "enable": { - "description": "Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.", + "description": "Enable a disabled label and restore it to its published state. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). This will result in a new published revision based on the current disabled published revision. If there's an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.", "flatPath": "v2/labels/{labelsId}:enable", "httpMethod": "POST", "id": "drivelabels.labels.enable", @@ -270,7 +270,7 @@ ] }, "get": { - "description": "Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.", + "description": "Get a label by its resource name. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label). Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.", "flatPath": "v2/labels/{labelsId}", "httpMethod": "GET", "id": "drivelabels.labels.get", @@ -321,14 +321,14 @@ ] }, "list": { - "description": "List labels.", + "description": "List labels. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label).", "flatPath": "v2/labels", "httpMethod": "GET", "id": "drivelabels.labels.list", "parameterOrder": [], "parameters": { "customer": { - "description": "The customer to scope this list request to. For example: \"customers/abcd1234\". If unset, will return all labels within the current customer.", + "description": "The customer to scope this list request to. For example: `customers/abcd1234`. If unset, will return all labels within the current customer.", "location": "query", "type": "string" }, @@ -338,7 +338,7 @@ "type": "string" }, "minimumRole": { - "description": "Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`.", + "description": "Specifies the level of access the user must have on the returned labels. The minimum role a user must have on a label. Defaults to `READER`.", "enum": [ "LABEL_ROLE_UNSPECIFIED", "READER", @@ -373,7 +373,7 @@ "type": "boolean" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer.", + "description": "Set to `true` in order to use the user's admin credentials. This will return all labels within the customer.", "location": "query", "type": "boolean" }, @@ -403,7 +403,7 @@ ] }, "publish": { - "description": "Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries.", + "description": "Publish all draft changes to the label. Once published, the label may not return to its draft state. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label). Publishing a label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. For more information, see [Label lifecycle](https://developers.google.com/workspace/drive/labels/guides/label-lifecycle). Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label will be rejected. For example, the following changes to a label will be rejected after the label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * `Field.FieldType` cannot be changed. * Changes to field validation options cannot reject something that was previously accepted. * Reducing the maximum entries.", "flatPath": "v2/labels/{labelsId}:publish", "httpMethod": "POST", "id": "drivelabels.labels.publish", @@ -432,7 +432,7 @@ ] }, "updateLabelCopyMode": { - "description": "Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately.", + "description": "Updates a label's `CopyMode`. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately.", "flatPath": "v2/labels/{labelsId}:updateLabelCopyMode", "httpMethod": "POST", "id": "drivelabels.labels.updateLabelCopyMode", @@ -441,7 +441,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Label to update.", + "description": "Required. The resource name of the label to update.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -461,7 +461,7 @@ ] }, "updateLabelEnabledAppSettings": { - "description": "Updates a Label's EabledAppSettings. Enabling a Label in a Workspace Application allows it to be used in that application. This change is not revisioned, does not require publishing, and takes effect immediately.", + "description": "Updates a label's `EnabledAppSettings`. Enabling a label in a Google Workspace app allows it to be used in that app. This change isn't revisioned, doesn't require publishing, and takes effect immediately.", "flatPath": "v2/labels/{labelsId}:updateLabelEnabledAppSettings", "httpMethod": "POST", "id": "drivelabels.labels.updateLabelEnabledAppSettings", @@ -470,7 +470,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Label to update. The resource name of the Label to update.", + "description": "Required. The resource name of the label to update. The resource name of the label to update.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -486,7 +486,7 @@ } }, "updatePermissions": { - "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/permissions", "httpMethod": "PATCH", "id": "drivelabels.labels.updatePermissions", @@ -495,14 +495,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name.", + "description": "Required. The parent label resource name.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -524,7 +524,7 @@ "locks": { "methods": { "list": { - "description": "Lists the LabelLocks on a Label.", + "description": "Lists the label locks on a label.", "flatPath": "v2/labels/{labelsId}/locks", "httpMethod": "GET", "id": "drivelabels.labels.locks.list", @@ -533,7 +533,7 @@ ], "parameters": { "pageSize": { - "description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", + "description": "Maximum number of locks to return per page. Default: 100. Max: 200.", "format": "int32", "location": "query", "type": "integer" @@ -544,7 +544,7 @@ "type": "string" }, "parent": { - "description": "Required. Label on which Locks are applied. Format: labels/{label}", + "description": "Required. Label on which locks are applied. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -567,7 +567,7 @@ "permissions": { "methods": { "batchDelete": { - "description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/permissions:batchDelete", "httpMethod": "POST", "id": "drivelabels.labels.permissions.batchDelete", @@ -576,7 +576,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -596,7 +596,7 @@ ] }, "batchUpdate": { - "description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/permissions:batchUpdate", "httpMethod": "POST", "id": "drivelabels.labels.permissions.batchUpdate", @@ -605,7 +605,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -625,7 +625,7 @@ ] }, "create": { - "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/permissions", "httpMethod": "POST", "id": "drivelabels.labels.permissions.create", @@ -634,14 +634,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", + "description": "Required. The parent label resource name on the label permission is created. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -659,7 +659,7 @@ ] }, "delete": { - "description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/permissions/{permissionsId}", "httpMethod": "DELETE", "id": "drivelabels.labels.permissions.delete", @@ -668,14 +668,14 @@ ], "parameters": { "name": { - "description": "Required. Label Permission resource name.", + "description": "Required. Label permission resource name.", "location": "path", "pattern": "^labels/[^/]+/permissions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -690,7 +690,7 @@ ] }, "list": { - "description": "Lists a Label's permissions.", + "description": "Lists a label's permissions.", "flatPath": "v2/labels/{labelsId}/permissions", "httpMethod": "GET", "id": "drivelabels.labels.permissions.list", @@ -710,14 +710,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", + "description": "Required. The parent label resource name on which label permissions are listed. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -738,7 +738,7 @@ "revisions": { "methods": { "updatePermissions": { - "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions", "httpMethod": "PATCH", "id": "drivelabels.labels.revisions.updatePermissions", @@ -747,14 +747,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name.", + "description": "Required. The parent label resource name.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -776,7 +776,7 @@ "locks": { "methods": { "list": { - "description": "Lists the LabelLocks on a Label.", + "description": "Lists the label locks on a label.", "flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/locks", "httpMethod": "GET", "id": "drivelabels.labels.revisions.locks.list", @@ -785,7 +785,7 @@ ], "parameters": { "pageSize": { - "description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", + "description": "Maximum number of locks to return per page. Default: 100. Max: 200.", "format": "int32", "location": "query", "type": "integer" @@ -796,7 +796,7 @@ "type": "string" }, "parent": { - "description": "Required. Label on which Locks are applied. Format: labels/{label}", + "description": "Required. Label on which locks are applied. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, @@ -819,7 +819,7 @@ "permissions": { "methods": { "batchDelete": { - "description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions:batchDelete", "httpMethod": "POST", "id": "drivelabels.labels.revisions.permissions.batchDelete", @@ -828,7 +828,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, @@ -848,7 +848,7 @@ ] }, "batchUpdate": { - "description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions:batchUpdate", "httpMethod": "POST", "id": "drivelabels.labels.revisions.permissions.batchUpdate", @@ -857,7 +857,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, @@ -877,7 +877,7 @@ ] }, "create": { - "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions", "httpMethod": "POST", "id": "drivelabels.labels.revisions.permissions.create", @@ -886,14 +886,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", + "description": "Required. The parent label resource name on the label permission is created. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -911,7 +911,7 @@ ] }, "delete": { - "description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions/{permissionsId}", "httpMethod": "DELETE", "id": "drivelabels.labels.revisions.permissions.delete", @@ -920,14 +920,14 @@ ], "parameters": { "name": { - "description": "Required. Label Permission resource name.", + "description": "Required. Label permission resource name.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+/permissions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -942,7 +942,7 @@ ] }, "list": { - "description": "Lists a Label's permissions.", + "description": "Lists a label's permissions.", "flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions", "httpMethod": "GET", "id": "drivelabels.labels.revisions.permissions.list", @@ -962,14 +962,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", + "description": "Required. The parent label resource name on which label permissions are listed. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -994,14 +994,14 @@ "limits": { "methods": { "getLabel": { - "description": "Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", + "description": "Get the constraints on the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title.", "flatPath": "v2/limits/label", "httpMethod": "GET", "id": "drivelabels.limits.getLabel", "parameterOrder": [], "parameters": { "name": { - "description": "Required. Label revision resource name Must be: \"limits/label\"", + "description": "Required. Label revision resource name must be: \"limits/label\".", "location": "query", "type": "string" } @@ -1031,7 +1031,7 @@ ], "parameters": { "customer": { - "description": "The customer to scope this request to. For example: \"customers/abcd1234\". If unset, will return settings within the current customer.", + "description": "The customer to scope this request to. For example: `customers/abcd1234`. If unset, it will return settings within the current customer.", "location": "query", "type": "string" }, @@ -1057,7 +1057,7 @@ } } }, - "revision": "20250602", + "revision": "20250807", "rootUrl": "https://drivelabels.googleapis.com/", "schemas": { "GoogleAppsDriveLabelsV2BadgeColors": { @@ -1099,7 +1099,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest": { - "description": "Deletes one of more Label Permissions.", + "description": "Deletes one or more label permissions.", "id": "GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest", "properties": { "requests": { @@ -1110,14 +1110,14 @@ "type": "array" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. If this is set, the `use_admin_access` field in the `DeleteLabelPermissionRequest` messages must either be empty or match this field.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest": { - "description": "Updates one or more Label Permissions.", + "description": "Updates one or more label permissions.", "id": "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest", "properties": { "requests": { @@ -1128,14 +1128,14 @@ "type": "array" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. If this is set, the `use_admin_access` field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsResponse": { - "description": "Response for updating one or more Label Permissions.", + "description": "Response for updating one or more label permissions.", "id": "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsResponse", "properties": { "permissions": { @@ -1149,52 +1149,52 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DateLimits": { - "description": "Limits for date Field type.", + "description": "Limits for date field type.", "id": "GoogleAppsDriveLabelsV2DateLimits", "properties": { "maxValue": { "$ref": "GoogleTypeDate", - "description": "Maximum value for the date Field type." + "description": "Maximum value for the date field type." }, "minValue": { "$ref": "GoogleTypeDate", - "description": "Minimum value for the date Field type." + "description": "Minimum value for the date field type." } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest": { - "description": "Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes a label permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "id": "GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest", "properties": { "name": { - "description": "Required. Label Permission resource name.", + "description": "Required. Label permission resource name.", "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest": { - "description": "The set of requests for updating aspects of a Label. If any request is not valid, no requests will be applied.", + "description": "The set of requests for updating aspects of a label. If any request isn't valid, no requests will be applied.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest", "properties": { "languageCode": { - "description": "The BCP-47 language code to use for evaluating localized Field labels when `include_label_in_response` is `true`.", + "description": "The BCP-47 language code to use for evaluating localized field labels when `include_label_in_response` is `true`.", "type": "string" }, "requests": { - "description": "A list of updates to apply to the Label. Requests will be applied in the order they are specified.", + "description": "A list of updates to apply to the label. Requests will be applied in the order they are specified.", "items": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest" }, "type": "array" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "view": { @@ -1217,7 +1217,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest": { - "description": "Request to create a Field within a Label.", + "description": "Request to create a field within a label.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest", "properties": { "field": { @@ -1228,37 +1228,37 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest": { - "description": "Request to create a Selection Choice.", + "description": "Request to create a selection choice.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest", "properties": { "choice": { "$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice", - "description": "Required. The Choice to create." + "description": "Required. The choice to create." }, "fieldId": { - "description": "Required. The Selection Field in which a Choice will be created.", + "description": "Required. The selection field in which a choice will be created.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest": { - "description": "Request to delete the Field.", + "description": "Request to delete the field.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest", "properties": { "id": { - "description": "Required. ID of the Field to delete.", + "description": "Required. ID of the field to delete.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest": { - "description": "Request to delete a Choice.", + "description": "Request to delete a choice.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest", "properties": { "fieldId": { - "description": "Required. The Selection Field from which a Choice will be deleted.", + "description": "Required. The selection field from which a choice will be deleted.", "type": "string" }, "id": { @@ -1269,19 +1269,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest": { - "description": "Request to disable the Field.", + "description": "Request to disable the field.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest", "properties": { "disabledPolicy": { "$ref": "GoogleAppsDriveLabelsV2LifecycleDisabledPolicy", - "description": "Required. Field Disabled Policy." + "description": "Required. Field disabled policy." }, "id": { - "description": "Required. Key of the Field to disable.", + "description": "Required. Key of the field to disable.", "type": "string" }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1289,7 +1289,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest": { - "description": "Request to disable a Choice.", + "description": "Request to disable a choice.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest", "properties": { "disabledPolicy": { @@ -1297,7 +1297,7 @@ "description": "Required. The disabled policy to update." }, "fieldId": { - "description": "Required. The Selection Field in which a Choice will be disabled.", + "description": "Required. The selection field in which a choice will be disabled.", "type": "string" }, "id": { @@ -1305,7 +1305,7 @@ "type": "string" }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1313,22 +1313,22 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest": { - "description": "Request to enable the Field.", + "description": "Request to enable the field.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest", "properties": { "id": { - "description": "Required. ID of the Field to enable.", + "description": "Required. ID of the field to enable.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest": { - "description": "Request to enable a Choice.", + "description": "Request to enable a choice.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest", "properties": { "fieldId": { - "description": "Required. The Selection Field in which a Choice will be enabled.", + "description": "Required. The selection field in which a choice will be enabled.", "type": "string" }, "id": { @@ -1339,74 +1339,74 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest": { - "description": "A single kind of update to apply to a Label.", + "description": "A single kind of update to apply to a label.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest", "properties": { "createField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest", - "description": "Creates a new Field." + "description": "Creates a field." }, "createSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest", - "description": "Creates Choice within a Selection field." + "description": "Create a choice within a selection field." }, "deleteField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest", - "description": "Deletes a Field from the label." + "description": "Deletes a field from the label." }, "deleteSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest", - "description": "Delete a Choice within a Selection Field." + "description": "Delete a choice within a selection field." }, "disableField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest", - "description": "Disables the Field." + "description": "Disables the field." }, "disableSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest", - "description": "Disable a Choice within a Selection Field." + "description": "Disable a choice within a selection field." }, "enableField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest", - "description": "Enables the Field." + "description": "Enables the field." }, "enableSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest", - "description": "Enable a Choice within a Selection Field." + "description": "Enable a choice within a selection field." }, "updateField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest", - "description": "Updates basic properties of a Field." + "description": "Updates basic properties of a field." }, "updateFieldType": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest", - "description": "Update Field type and/or type options." + "description": "Update field type and/or type options." }, "updateLabel": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest", - "description": "Updates the Label properties." + "description": "Updates the label properties." }, "updateSelectionChoiceProperties": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", - "description": "Update a Choice properties within a Selection Field." + "description": "Update a choice property within a selection field." } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest": { - "description": "Request to update Field properties.", + "description": "Request to update field properties.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest", "properties": { "id": { - "description": "Required. The Field to update.", + "description": "Required. The field to update.", "type": "string" }, "properties": { "$ref": "GoogleAppsDriveLabelsV2FieldProperties", - "description": "Required. Basic Field properties." + "description": "Required. Basic field properties." }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1414,7 +1414,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest": { - "description": "Request to change the type of a Field.", + "description": "Request to change the type of a field.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest", "properties": { "dateOptions": { @@ -1422,7 +1422,7 @@ "description": "Update field to Date." }, "id": { - "description": "Required. The Field to update.", + "description": "Required. The field to update.", "type": "string" }, "integerOptions": { @@ -1438,7 +1438,7 @@ "description": "Update field to Text." }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" }, @@ -1450,7 +1450,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest": { - "description": "Updates basic properties of a Label.", + "description": "Updates basic properties of a label.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest", "properties": { "properties": { @@ -1458,7 +1458,7 @@ "description": "Required. Label properties to update." }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1466,23 +1466,23 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest": { - "description": "Request to update a Choice properties.", + "description": "Request to update a choice property.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", "properties": { "fieldId": { - "description": "Required. The Selection Field to update.", + "description": "Required. The selection field to update.", "type": "string" }, "id": { - "description": "Required. The Choice to update.", + "description": "Required. The choice to update.", "type": "string" }, "properties": { "$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties", - "description": "Required. The Choice properties to update." + "description": "Required. The choice properties to update." }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1490,7 +1490,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponse": { - "description": "Response for Label update.", + "description": "Response for label update.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponse", "properties": { "responses": { @@ -1502,13 +1502,13 @@ }, "updatedLabel": { "$ref": "GoogleAppsDriveLabelsV2Label", - "description": "The label after updates were applied. This is only set if [BatchUpdateLabelResponse2.include_label_in_response] is `true` and there were no errors." + "description": "The label after updates were applied. This is only set if `include_label_in_response` is `true` and there were no errors." } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse": { - "description": "Response following Field create.", + "description": "Response following field create.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse", "properties": { "id": { @@ -1524,52 +1524,52 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse": { - "description": "Response following Selection Choice create.", + "description": "Response following selection choice create.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse", "properties": { "fieldId": { - "description": "The server-generated id of the field.", + "description": "The server-generated ID of the field.", "type": "string" }, "id": { - "description": "The server-generated ID of the created choice within the Field", + "description": "The server-generated ID of the created choice within the field.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse": { - "description": "Response following Field delete.", + "description": "Response following field delete.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse": { - "description": "Response following Choice delete.", + "description": "Response following choice delete.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse": { - "description": "Response following Field disable.", + "description": "Response following field disable.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse": { - "description": "Response following Choice disable.", + "description": "Response following choice disable.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse": { - "description": "Response following Field enable.", + "description": "Response following field enable.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse": { - "description": "Response following Choice enable.", + "description": "Response following choice enable.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse", "properties": {}, "type": "object" @@ -1580,57 +1580,57 @@ "properties": { "createField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse", - "description": "Creates a new Field." + "description": "Creates a field." }, "createSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse", - "description": "Creates a new selection list option to add to a Selection Field." + "description": "Creates a selection list option to add to a selection field." }, "deleteField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse", - "description": "Deletes a Field from the label." + "description": "Deletes a field from the label." }, "deleteSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse", - "description": "Deletes a Choice from a Selection Field." + "description": "Deletes a choice from a selection field." }, "disableField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse", - "description": "Disables Field." + "description": "Disables field." }, "disableSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse", - "description": "Disables a Choice within a Selection Field." + "description": "Disables a choice within a selection field." }, "enableField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse", - "description": "Enables Field." + "description": "Enables field." }, "enableSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse", - "description": "Enables a Choice within a Selection Field." + "description": "Enables a choice within a selection field." }, "updateField": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse", - "description": "Updates basic properties of a Field." + "description": "Updates basic properties of a field." }, "updateFieldType": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse", - "description": "Update Field type and/or type options." + "description": "Updates field type and/or type options." }, "updateLabel": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse", - "description": "Updated basic properties of a Label." + "description": "Updates basic properties of a label." }, "updateSelectionChoiceProperties": { "$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", - "description": "Updates a Choice within a Selection Field." + "description": "Updates a choice within a selection field." } }, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse": { - "description": "Response following update to Field properties.", + "description": "Response following update to field properties.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse", "properties": { "priority": { @@ -1642,19 +1642,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse": { - "description": "Response following update to Field type.", + "description": "Response following update to field type.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse": { - "description": "Response following update to Label properties.", + "description": "Response following update to label properties.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse": { - "description": "Response following update to Selection Choice properties.", + "description": "Response following update to selection choice properties.", "id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", "properties": { "priority": { @@ -1666,7 +1666,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2DisableLabelRequest": { - "description": "Request to deprecate a published Label.", + "description": "Request to deprecate a published label.", "id": "GoogleAppsDriveLabelsV2DisableLabelRequest", "properties": { "disabledPolicy": { @@ -1678,17 +1678,17 @@ "type": "string" }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "writeControl": { "$ref": "GoogleAppsDriveLabelsV2WriteControl", - "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + "description": "Provides control over how write requests are executed. Defaults to unset, which means the last write wins." } }, "type": "object" @@ -1702,12 +1702,12 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "writeControl": { "$ref": "GoogleAppsDriveLabelsV2WriteControl", - "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + "description": "Provides control over how write requests are executed. Defaults to unset, which means the last write wins." } }, "type": "object" @@ -1753,7 +1753,7 @@ "readOnly": true }, "id": { - "description": "Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`", + "description": "Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`.", "readOnly": true, "type": "string" }, @@ -1768,7 +1768,7 @@ }, "lockStatus": { "$ref": "GoogleAppsDriveLabelsV2LockStatus", - "description": "Output only. The LockStatus of this field.", + "description": "Output only. The `LockStatus` of this field.", "readOnly": true }, "properties": { @@ -1914,47 +1914,47 @@ "type": "object" }, "GoogleAppsDriveLabelsV2FieldLimits": { - "description": "Field constants governing the structure of a Field; such as, the maximum title length, minimum and maximum field values or length, etc.", + "description": "Field constants governing the structure of a field; such as, the maximum title length, minimum and maximum field values or length, etc.", "id": "GoogleAppsDriveLabelsV2FieldLimits", "properties": { "dateLimits": { "$ref": "GoogleAppsDriveLabelsV2DateLimits", - "description": "Date Field limits." + "description": "Date field limits." }, "integerLimits": { "$ref": "GoogleAppsDriveLabelsV2IntegerLimits", - "description": "Integer Field limits." + "description": "Integer field limits." }, "longTextLimits": { "$ref": "GoogleAppsDriveLabelsV2LongTextLimits", - "description": "Long text Field limits." + "description": "Long text field limits." }, "maxDescriptionLength": { - "description": "Limits for Field description, also called help text.", + "description": "Limits for field description, also called help text.", "format": "int32", "type": "integer" }, "maxDisplayNameLength": { - "description": "Limits for Field title.", + "description": "Limits for field title.", "format": "int32", "type": "integer" }, "maxIdLength": { - "description": "Max length for the id.", + "description": "Maximum length for the id.", "format": "int32", "type": "integer" }, "selectionLimits": { "$ref": "GoogleAppsDriveLabelsV2SelectionLimits", - "description": "Selection Field limits." + "description": "Selection field limits." }, "textLimits": { "$ref": "GoogleAppsDriveLabelsV2TextLimits", - "description": "The relevant limits for the specified Field.Type. Text Field limits." + "description": "The relevant limits for the specified Field.Type. Text field limits." }, "userLimits": { "$ref": "GoogleAppsDriveLabelsV2UserLimits", - "description": "User Field limits." + "description": "User field limits." } }, "type": "object" @@ -2078,7 +2078,7 @@ }, "lockStatus": { "$ref": "GoogleAppsDriveLabelsV2LockStatus", - "description": "Output only. The LockStatus of this choice.", + "description": "Output only. The `LockStatus` of this choice.", "readOnly": true }, "properties": { @@ -2243,16 +2243,16 @@ "type": "object" }, "GoogleAppsDriveLabelsV2IntegerLimits": { - "description": "Limits for integer Field type.", + "description": "Limits for integer field type.", "id": "GoogleAppsDriveLabelsV2IntegerLimits", "properties": { "maxValue": { - "description": "Maximum value for an integer Field type.", + "description": "Maximum value for an integer field type.", "format": "int64", "type": "string" }, "minValue": { - "description": "Minimum value for an integer Field type.", + "description": "Minimum value for an integer field type.", "format": "int64", "type": "string" } @@ -2285,19 +2285,19 @@ "readOnly": true }, "customer": { - "description": "Output only. The customer this label belongs to. For example: \"customers/123abc789.\"", + "description": "Output only. The customer this label belongs to. For example: `customers/123abc789`.", "readOnly": true, "type": "string" }, "disableTime": { - "description": "Output only. The time this label was disabled. This value has no meaning when the label is not disabled.", + "description": "Output only. The time this label was disabled. This value has no meaning when the label isn't disabled.", "format": "google-datetime", "readOnly": true, "type": "string" }, "disabler": { "$ref": "GoogleAppsDriveLabelsV2UserInfo", - "description": "Output only. The user who disabled this label. This value has no meaning when the label is not disabled.", + "description": "Output only. The user who disabled this label. This value has no meaning when the label isn't disabled.", "readOnly": true }, "displayHints": { @@ -2307,7 +2307,7 @@ }, "enabledAppSettings": { "$ref": "GoogleAppsDriveLabelsV2LabelEnabledAppSettings", - "description": "Optional. The EnabledAppSettings for this Label." + "description": "Optional. The `EnabledAppSettings` for this Label." }, "fields": { "description": "List of fields in descending priority order.", @@ -2317,7 +2317,7 @@ "type": "array" }, "id": { - "description": "Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`", + "description": "Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`.", "readOnly": true, "type": "string" }, @@ -2348,7 +2348,7 @@ }, "lockStatus": { "$ref": "GoogleAppsDriveLabelsV2LockStatus", - "description": "Output only. The LockStatus of this label.", + "description": "Output only. The `LockStatus` of this label.", "readOnly": true }, "name": { @@ -2361,14 +2361,14 @@ "description": "Required. The basic properties of the label." }, "publishTime": { - "description": "Output only. The time this label was published. This value has no meaning when the label is not published.", + "description": "Output only. The time this label was published. This value has no meaning when the label isn't published.", "format": "google-datetime", "readOnly": true, "type": "string" }, "publisher": { "$ref": "GoogleAppsDriveLabelsV2UserInfo", - "description": "Output only. The user who published this label. This value has no meaning when the label is not published.", + "description": "Output only. The user who published this label. This value has no meaning when the label isn't published.>>", "readOnly": true }, "revisionCreateTime": { @@ -2383,7 +2383,7 @@ "readOnly": true }, "revisionId": { - "description": "Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`", + "description": "Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`.", "readOnly": true, "type": "string" }, @@ -2428,7 +2428,7 @@ ], "enumDescriptions": [ "Copy mode unspecified.", - "The applied label and field values are not copied by default when the Drive item it's applied to is copied.", + "The applied label and field values aren't copied by default when the Drive item it's applied to is copied.", "The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", "The applied label and field values are copied if the label is appliable by the user making the copy." ], @@ -2438,7 +2438,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2LabelDisplayHints": { - "description": "UI display hints for rendering the label.", + "description": "The UI display hints for rendering the label.", "id": "GoogleAppsDriveLabelsV2LabelDisplayHints", "properties": { "disabled": { @@ -2450,7 +2450,7 @@ "type": "boolean" }, "priority": { - "description": "Order to display label in a list.", + "description": "The order to display labels in a list.", "format": "int64", "type": "string" }, @@ -2462,11 +2462,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2LabelEnabledAppSettings": { - "description": "Describes the Workspace apps in which the Label can be used.", + "description": "Describes the Google Workspace apps in which the label can be used.", "id": "GoogleAppsDriveLabelsV2LabelEnabledAppSettings", "properties": { "enabledApps": { - "description": "Optional. The list of Apps where the Label can be used.", + "description": "Optional. The list of apps where the label can be used.", "items": { "$ref": "GoogleAppsDriveLabelsV2LabelEnabledAppSettingsEnabledApp" }, @@ -2476,11 +2476,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2LabelEnabledAppSettingsEnabledApp": { - "description": "An App where the Label can be used.", + "description": "An app where the label can be used.", "id": "GoogleAppsDriveLabelsV2LabelEnabledAppSettingsEnabledApp", "properties": { "app": { - "description": "Optional. The name of the App.", + "description": "Optional. The name of the app.", "enum": [ "APP_UNSPECIFIED", "DRIVE", @@ -2488,7 +2488,7 @@ ], "enumDescriptions": [ "Unspecified", - "Drive.", + "Drive", "Gmail" ], "type": "string" @@ -2497,15 +2497,15 @@ "type": "object" }, "GoogleAppsDriveLabelsV2LabelLimits": { - "description": "Label constraints governing the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", + "description": "Label constraints governing the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title.", "id": "GoogleAppsDriveLabelsV2LabelLimits", "properties": { "fieldLimits": { "$ref": "GoogleAppsDriveLabelsV2FieldLimits", - "description": "The limits for Fields." + "description": "The limits for fields." }, "maxDeletedFields": { - "description": "The maximum number of published Fields that can be deleted.", + "description": "The maximum number of published fields that can be deleted.", "format": "int32", "type": "integer" }, @@ -2520,7 +2520,7 @@ "type": "integer" }, "maxFields": { - "description": "The maximum number of Fields allowed within the label.", + "description": "The maximum number of fields allowed within the label.", "format": "int32", "type": "integer" }, @@ -2537,46 +2537,46 @@ "type": "object" }, "GoogleAppsDriveLabelsV2LabelLock": { - "description": "A Lock that can be applied to a Label, Field, or Choice.", + "description": "A lock that can be applied to a label, field, or choice.", "id": "GoogleAppsDriveLabelsV2LabelLock", "properties": { "capabilities": { "$ref": "GoogleAppsDriveLabelsV2LabelLockCapabilities", - "description": "Output only. The user's capabilities on this LabelLock.", + "description": "Output only. The user's capabilities on this label lock.", "readOnly": true }, "choiceId": { - "description": "The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present.", + "description": "The ID of the selection field choice that should be locked. If present, `field_id` must also be present.", "type": "string" }, "createTime": { - "description": "Output only. The time this LabelLock was created.", + "description": "Output only. The time this label lock was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "creator": { "$ref": "GoogleAppsDriveLabelsV2UserInfo", - "description": "Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock.", + "description": "Output only. The user whose credentials were used to create the label lock. Not present if no user was responsible for creating the label lock.", "readOnly": true }, "deleteTime": { - "description": "Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state.", + "description": "Output only. A timestamp indicating when this label lock was scheduled for deletion. Present only if this label lock is in the `DELETING` state.", "format": "google-datetime", "readOnly": true, "type": "string" }, "fieldId": { - "description": "The ID of the Field that should be locked. Empty if the whole Label should be locked.", + "description": "The ID of the field that should be locked. Empty if the whole label should be locked.", "type": "string" }, "name": { - "description": "Output only. Resource name of this LabelLock.", + "description": "Output only. Resource name of this label lock.", "readOnly": true, "type": "string" }, "state": { - "description": "Output only. This LabelLock's state.", + "description": "Output only. This label lock's state.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", @@ -2584,8 +2584,8 @@ ], "enumDescriptions": [ "Unknown state.", - "The LabelLock is active and is being enforced by the server.", - "The LabelLock is being deleted. The LabelLock will continue to be enforced by the server until it has been fully removed." + "The label lock is active and is being enforced by the server.", + "The label lock is being deleted. The label lock will continue to be enforced by the server until it has been fully removed." ], "readOnly": true, "type": "string" @@ -2594,7 +2594,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2LabelLockCapabilities": { - "description": "A description of a user's capabilities on a LabelLock.", + "description": "A description of a user's capabilities on a label lock.", "id": "GoogleAppsDriveLabelsV2LabelLockCapabilities", "properties": { "canViewPolicy": { @@ -2609,11 +2609,11 @@ "id": "GoogleAppsDriveLabelsV2LabelPermission", "properties": { "audience": { - "description": "Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.", + "description": "Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the label.", "type": "string" }, "email": { - "description": "Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.", + "description": "Specifies the email address for a user or group principal. Not populated for audience principals. User and group permissions may only be inserted using an email address. On update requests, if email address is specified, no principal should be specified.", "type": "string" }, "group": { @@ -2688,7 +2688,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2Lifecycle": { - "description": "The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect.", + "description": "The lifecycle state of an object, such as label, field, or choice. For more information, see [Label lifecycle](https://developers.google.com/workspace/drive/labels/guides/label-lifecycle). The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * `Published`: Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes aren't permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * `Disabled`: When disabled, the configured `DisabledPolicy` takes effect.", "id": "GoogleAppsDriveLabelsV2Lifecycle", "properties": { "disabledPolicy": { @@ -2738,11 +2738,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2ListLabelLocksResponse": { - "description": "The response to a ListLabelLocksRequest.", + "description": "The response to a `ListLabelLocksRequest`.", "id": "GoogleAppsDriveLabelsV2ListLabelLocksResponse", "properties": { "labelLocks": { - "description": "LabelLocks.", + "description": "Label locks.", "items": { "$ref": "GoogleAppsDriveLabelsV2LabelLock" }, @@ -2756,7 +2756,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2ListLabelPermissionsResponse": { - "description": "Response for listing the permissions on a Label.", + "description": "Response for listing the permissions on a label.", "id": "GoogleAppsDriveLabelsV2ListLabelPermissionsResponse", "properties": { "labelPermissions": { @@ -2774,7 +2774,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2ListLabelsResponse": { - "description": "Response for listing Labels.", + "description": "Response for listing labels.", "id": "GoogleAppsDriveLabelsV2ListLabelsResponse", "properties": { "labels": { @@ -2792,11 +2792,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2ListLimits": { - "description": "Limits for list-variant of a Field type.", + "description": "Limits for list-variant of a field type.", "id": "GoogleAppsDriveLabelsV2ListLimits", "properties": { "maxEntries": { - "description": "Maximum number of values allowed for the Field type.", + "description": "Maximum number of values allowed for the field type.", "format": "int32", "type": "integer" } @@ -2808,7 +2808,7 @@ "id": "GoogleAppsDriveLabelsV2LockStatus", "properties": { "locked": { - "description": "Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.", + "description": "Output only. Indicates whether this label component is the (direct) target of a label lock. A label component can be implicitly locked even if it's not the direct target of a label lock, in which case this field is set to false.", "readOnly": true, "type": "boolean" } @@ -2816,16 +2816,16 @@ "type": "object" }, "GoogleAppsDriveLabelsV2LongTextLimits": { - "description": "Limits for long text Field type.", + "description": "Limits for long text field type.", "id": "GoogleAppsDriveLabelsV2LongTextLimits", "properties": { "maxLength": { - "description": "Maximum length allowed for a long text Field type.", + "description": "Maximum length allowed for a long text field type.", "format": "int32", "type": "integer" }, "minLength": { - "description": "Minimum length allowed for a long text Field type.", + "description": "Minimum length allowed for a long text field type.", "format": "int32", "type": "integer" } @@ -2841,26 +2841,26 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "writeControl": { "$ref": "GoogleAppsDriveLabelsV2WriteControl", - "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + "description": "Provides control over how write requests are executed. Defaults to unset, which means the last write wins." } }, "type": "object" }, "GoogleAppsDriveLabelsV2SelectionLimits": { - "description": "Limits for selection Field type.", + "description": "Limits for selection field type.", "id": "GoogleAppsDriveLabelsV2SelectionLimits", "properties": { "listLimits": { "$ref": "GoogleAppsDriveLabelsV2ListLimits", - "description": "Limits for list-variant of a Field type." + "description": "Limits for list-variant of a field type." }, "maxChoices": { - "description": "The max number of choices.", + "description": "Maximum number of choices.", "format": "int32", "type": "integer" }, @@ -2875,7 +2875,7 @@ "type": "integer" }, "maxIdLength": { - "description": "Maximum ID length for a selection options.", + "description": "Maximum ID length for a selection option.", "format": "int32", "type": "integer" } @@ -2883,16 +2883,16 @@ "type": "object" }, "GoogleAppsDriveLabelsV2TextLimits": { - "description": "Limits for text Field type.", + "description": "Limits for text field type.", "id": "GoogleAppsDriveLabelsV2TextLimits", "properties": { "maxLength": { - "description": "Maximum length allowed for a text Field type.", + "description": "Maximum length allowed for a text field type.", "format": "int32", "type": "integer" }, "minLength": { - "description": "Minimum length allowed for a text Field type.", + "description": "Minimum length allowed for a text field type.", "format": "int32", "type": "integer" } @@ -2900,11 +2900,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest": { - "description": "Request to update the `CopyMode` of the given Label. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. \\", + "description": "Request to update the `CopyMode` of the given label. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately. \\", "id": "GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest", "properties": { "copyMode": { - "description": "Required. Indicates how the applied Label, and Field values should be copied when a Drive item is copied.", + "description": "Required. Indicates how the applied label and field values should be copied when a Drive item is copied.", "enum": [ "COPY_MODE_UNSPECIFIED", "DO_NOT_COPY", @@ -2913,7 +2913,7 @@ ], "enumDescriptions": [ "Copy mode unspecified.", - "The applied label and field values are not copied by default when the Drive item it's applied to is copied.", + "The applied label and field values aren't copied by default when the Drive item it's applied to is copied.", "The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", "The applied label and field values are copied if the label is appliable by the user making the copy." ], @@ -2924,7 +2924,7 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "view": { @@ -2943,19 +2943,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2UpdateLabelEnabledAppSettingsRequest": { - "description": "Request to update the `EnabledAppSettings` of the given Label. This change is not revisioned, does not require publishing, and takes effect immediately. \\", + "description": "Request to update the `EnabledAppSettings` of the given label. This change is not revisioned, doesn't require publishing, and takes effect immediately. \\", "id": "GoogleAppsDriveLabelsV2UpdateLabelEnabledAppSettingsRequest", "properties": { "enabledAppSettings": { "$ref": "GoogleAppsDriveLabelsV2LabelEnabledAppSettings", - "description": "Required. The new `EnabledAppSettings` value for the Label." + "description": "Required. The new `EnabledAppSettings` value for the label." }, "languageCode": { "description": "Optional. The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", "type": "string" }, "useAdminAccess": { - "description": "Optional. Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Optional. Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "view": { @@ -2974,19 +2974,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest": { - "description": "Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "id": "GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest", "properties": { "labelPermission": { "$ref": "GoogleAppsDriveLabelsV2LabelPermission", - "description": "Required. The permission to create or update on the Label." + "description": "Required. The permission to create or update on the label." }, "parent": { - "description": "Required. The parent Label resource name.", + "description": "Required. The parent label resource name.", "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" } }, @@ -3007,12 +3007,12 @@ "type": "boolean" }, "canCreateAdminLabels": { - "description": "Output only. Whether the user is allowed to create new admin labels.", + "description": "Output only. Whether the user is allowed to create admin labels.", "readOnly": true, "type": "boolean" }, "canCreateSharedLabels": { - "description": "Output only. Whether the user is allowed to create new shared labels.", + "description": "Output only. Whether the user is allowed to create shared labels.", "readOnly": true, "type": "boolean" }, @@ -3029,7 +3029,7 @@ "id": "GoogleAppsDriveLabelsV2UserInfo", "properties": { "person": { - "description": "The identifier for this user that can be used with the People API to get more information. For example, people/12345678.", + "description": "The identifier for this user that can be used with the [People API](https://developers.google.com/people) to get more information. For example, `people/12345678`.", "type": "string" } }, @@ -3041,7 +3041,7 @@ "properties": { "listLimits": { "$ref": "GoogleAppsDriveLabelsV2ListLimits", - "description": "Limits for list-variant of a Field type." + "description": "Limits for list-variant of a field type." } }, "type": "object" @@ -3051,7 +3051,7 @@ "id": "GoogleAppsDriveLabelsV2WriteControl", "properties": { "requiredRevisionId": { - "description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", + "description": "The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", "type": "string" } }, diff --git a/discovery/drivelabels-v2beta.json b/discovery/drivelabels-v2beta.json index 402b3c9211..1b0e3ff74f 100644 --- a/discovery/drivelabels-v2beta.json +++ b/discovery/drivelabels-v2beta.json @@ -117,14 +117,14 @@ "labels": { "methods": { "create": { - "description": "Creates a new Label.", + "description": "Creates a label. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label).", "flatPath": "v2beta/labels", "httpMethod": "POST", "id": "drivelabels.labels.create", "parameterOrder": [], "parameters": { "languageCode": { - "description": "The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used.", + "description": "The BCP-47 language code to use for evaluating localized field labels in response. When not specified, values in the default configured language will be used.", "location": "query", "type": "string" }, @@ -147,7 +147,7 @@ ] }, "delete": { - "description": "Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted.", + "description": "Permanently deletes a label and related metadata on Drive items. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). Once deleted, the label and related Drive item metadata will be deleted. Only draft labels and disabled labels may be deleted.", "flatPath": "v2beta/labels/{labelsId}", "httpMethod": "DELETE", "id": "drivelabels.labels.delete", @@ -163,12 +163,12 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" }, "writeControl.requiredRevisionId": { - "description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", + "description": "The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", "location": "query", "type": "string" } @@ -183,7 +183,7 @@ ] }, "delta": { - "description": "Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items.", + "description": "Updates a single label by applying a set of update requests resulting in a new draft revision. For more information, see [Update a label](https://developers.google.com/workspace/drive/labels/guides/update-label). The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive items.", "flatPath": "v2beta/labels/{labelsId}:delta", "httpMethod": "POST", "id": "drivelabels.labels.delta", @@ -192,7 +192,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Label to update.", + "description": "Required. The resource name of the label to update.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -212,7 +212,7 @@ ] }, "disable": { - "description": "Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.", + "description": "Disable a published label. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). Disabling a label will result in a new disabled published revision based on the current published revision. If there's a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.", "flatPath": "v2beta/labels/{labelsId}:disable", "httpMethod": "POST", "id": "drivelabels.labels.disable", @@ -241,7 +241,7 @@ ] }, "enable": { - "description": "Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.", + "description": "Enable a disabled label and restore it to its published state. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). This will result in a new published revision based on the current disabled published revision. If there's an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.", "flatPath": "v2beta/labels/{labelsId}:enable", "httpMethod": "POST", "id": "drivelabels.labels.enable", @@ -270,7 +270,7 @@ ] }, "get": { - "description": "Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.", + "description": "Get a label by its resource name. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label). Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.", "flatPath": "v2beta/labels/{labelsId}", "httpMethod": "GET", "id": "drivelabels.labels.get", @@ -321,14 +321,14 @@ ] }, "list": { - "description": "List labels.", + "description": "List labels. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label).", "flatPath": "v2beta/labels", "httpMethod": "GET", "id": "drivelabels.labels.list", "parameterOrder": [], "parameters": { "customer": { - "description": "The customer to scope this list request to. For example: \"customers/abcd1234\". If unset, will return all labels within the current customer.", + "description": "The customer to scope this list request to. For example: `customers/abcd1234`. If unset, will return all labels within the current customer.", "location": "query", "type": "string" }, @@ -338,7 +338,7 @@ "type": "string" }, "minimumRole": { - "description": "Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`.", + "description": "Specifies the level of access the user must have on the returned labels. The minimum role a user must have on a label. Defaults to `READER`.", "enum": [ "LABEL_ROLE_UNSPECIFIED", "READER", @@ -373,7 +373,7 @@ "type": "boolean" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer.", + "description": "Set to `true` in order to use the user's admin credentials. This will return all labels within the customer.", "location": "query", "type": "boolean" }, @@ -403,7 +403,7 @@ ] }, "publish": { - "description": "Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries.", + "description": "Publish all draft changes to the label. Once published, the label may not return to its draft state. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label). Publishing a label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. For more information, see [Label lifecycle](https://developers.google.com/workspace/drive/labels/guides/label-lifecycle). Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label will be rejected. For example, the following changes to a label will be rejected after the label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * `Field.FieldType` cannot be changed. * Changes to field validation options cannot reject something that was previously accepted. * Reducing the maximum entries.", "flatPath": "v2beta/labels/{labelsId}:publish", "httpMethod": "POST", "id": "drivelabels.labels.publish", @@ -432,7 +432,7 @@ ] }, "updateLabelCopyMode": { - "description": "Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately.", + "description": "Updates a label's `CopyMode`. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately.", "flatPath": "v2beta/labels/{labelsId}:updateLabelCopyMode", "httpMethod": "POST", "id": "drivelabels.labels.updateLabelCopyMode", @@ -441,7 +441,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Label to update.", + "description": "Required. The resource name of the label to update.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -461,7 +461,7 @@ ] }, "updateLabelEnabledAppSettings": { - "description": "Updates a Label's EabledAppSettings. Enabling a Label in a Workspace Application allows it to be used in that application. This change is not revisioned, does not require publishing, and takes effect immediately.", + "description": "Updates a label's `EnabledAppSettings`. Enabling a label in a Google Workspace app allows it to be used in that app. This change isn't revisioned, doesn't require publishing, and takes effect immediately.", "flatPath": "v2beta/labels/{labelsId}:updateLabelEnabledAppSettings", "httpMethod": "POST", "id": "drivelabels.labels.updateLabelEnabledAppSettings", @@ -470,7 +470,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Label to update. The resource name of the Label to update.", + "description": "Required. The resource name of the label to update. The resource name of the label to update.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -486,7 +486,7 @@ } }, "updatePermissions": { - "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/permissions", "httpMethod": "PATCH", "id": "drivelabels.labels.updatePermissions", @@ -495,14 +495,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name.", + "description": "Required. The parent label resource name.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -524,7 +524,7 @@ "locks": { "methods": { "list": { - "description": "Lists the LabelLocks on a Label.", + "description": "Lists the label locks on a label.", "flatPath": "v2beta/labels/{labelsId}/locks", "httpMethod": "GET", "id": "drivelabels.labels.locks.list", @@ -533,7 +533,7 @@ ], "parameters": { "pageSize": { - "description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", + "description": "Maximum number of locks to return per page. Default: 100. Max: 200.", "format": "int32", "location": "query", "type": "integer" @@ -544,7 +544,7 @@ "type": "string" }, "parent": { - "description": "Required. Label on which Locks are applied. Format: labels/{label}", + "description": "Required. Label on which locks are applied. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -567,7 +567,7 @@ "permissions": { "methods": { "batchDelete": { - "description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/permissions:batchDelete", "httpMethod": "POST", "id": "drivelabels.labels.permissions.batchDelete", @@ -576,7 +576,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -596,7 +596,7 @@ ] }, "batchUpdate": { - "description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/permissions:batchUpdate", "httpMethod": "POST", "id": "drivelabels.labels.permissions.batchUpdate", @@ -605,7 +605,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, @@ -625,7 +625,7 @@ ] }, "create": { - "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/permissions", "httpMethod": "POST", "id": "drivelabels.labels.permissions.create", @@ -634,14 +634,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", + "description": "Required. The parent label resource name on the label permission is created. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -659,7 +659,7 @@ ] }, "delete": { - "description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/permissions/{permissionsId}", "httpMethod": "DELETE", "id": "drivelabels.labels.permissions.delete", @@ -668,14 +668,14 @@ ], "parameters": { "name": { - "description": "Required. Label Permission resource name.", + "description": "Required. Label permission resource name.", "location": "path", "pattern": "^labels/[^/]+/permissions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -690,7 +690,7 @@ ] }, "list": { - "description": "Lists a Label's permissions.", + "description": "Lists a label's permissions.", "flatPath": "v2beta/labels/{labelsId}/permissions", "httpMethod": "GET", "id": "drivelabels.labels.permissions.list", @@ -710,14 +710,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", + "description": "Required. The parent label resource name on which label permissions are listed. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -738,7 +738,7 @@ "revisions": { "methods": { "updatePermissions": { - "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions", "httpMethod": "PATCH", "id": "drivelabels.labels.revisions.updatePermissions", @@ -747,14 +747,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name.", + "description": "Required. The parent label resource name.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -776,7 +776,7 @@ "locks": { "methods": { "list": { - "description": "Lists the LabelLocks on a Label.", + "description": "Lists the label locks on a label.", "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/locks", "httpMethod": "GET", "id": "drivelabels.labels.revisions.locks.list", @@ -785,7 +785,7 @@ ], "parameters": { "pageSize": { - "description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", + "description": "Maximum number of locks to return per page. Default: 100. Max: 200.", "format": "int32", "location": "query", "type": "integer" @@ -796,7 +796,7 @@ "type": "string" }, "parent": { - "description": "Required. Label on which Locks are applied. Format: labels/{label}", + "description": "Required. Label on which locks are applied. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, @@ -819,7 +819,7 @@ "permissions": { "methods": { "batchDelete": { - "description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions:batchDelete", "httpMethod": "POST", "id": "drivelabels.labels.revisions.permissions.batchDelete", @@ -828,7 +828,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, @@ -848,7 +848,7 @@ ] }, "batchUpdate": { - "description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions:batchUpdate", "httpMethod": "POST", "id": "drivelabels.labels.revisions.permissions.batchUpdate", @@ -857,7 +857,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, @@ -877,7 +877,7 @@ ] }, "create": { - "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions", "httpMethod": "POST", "id": "drivelabels.labels.revisions.permissions.create", @@ -886,14 +886,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", + "description": "Required. The parent label resource name on the label permission is created. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -911,7 +911,7 @@ ] }, "delete": { - "description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions/{permissionsId}", "httpMethod": "DELETE", "id": "drivelabels.labels.revisions.permissions.delete", @@ -920,14 +920,14 @@ ], "parameters": { "name": { - "description": "Required. Label Permission resource name.", + "description": "Required. Label permission resource name.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+/permissions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -942,7 +942,7 @@ ] }, "list": { - "description": "Lists a Label's permissions.", + "description": "Lists a label's permissions.", "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions", "httpMethod": "GET", "id": "drivelabels.labels.revisions.permissions.list", @@ -962,14 +962,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", + "description": "Required. The parent label resource name on which label permissions are listed. Format: `labels/{label}`.", "location": "path", "pattern": "^labels/[^/]+/revisions/[^/]+$", "required": true, "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" } @@ -994,14 +994,14 @@ "limits": { "methods": { "getLabel": { - "description": "Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", + "description": "Get the constraints on the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title.", "flatPath": "v2beta/limits/label", "httpMethod": "GET", "id": "drivelabels.limits.getLabel", "parameterOrder": [], "parameters": { "name": { - "description": "Required. Label revision resource name Must be: \"limits/label\"", + "description": "Required. Label revision resource name must be: \"limits/label\".", "location": "query", "type": "string" } @@ -1031,7 +1031,7 @@ ], "parameters": { "customer": { - "description": "The customer to scope this request to. For example: \"customers/abcd1234\". If unset, will return settings within the current customer.", + "description": "The customer to scope this request to. For example: `customers/abcd1234`. If unset, it will return settings within the current customer.", "location": "query", "type": "string" }, @@ -1057,7 +1057,7 @@ } } }, - "revision": "20250602", + "revision": "20250807", "rootUrl": "https://drivelabels.googleapis.com/", "schemas": { "GoogleAppsDriveLabelsV2betaBadgeColors": { @@ -1099,7 +1099,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest": { - "description": "Deletes one of more Label Permissions.", + "description": "Deletes one or more label permissions.", "id": "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest", "properties": { "requests": { @@ -1110,14 +1110,14 @@ "type": "array" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. If this is set, the `use_admin_access` field in the `DeleteLabelPermissionRequest` messages must either be empty or match this field.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest": { - "description": "Updates one or more Label Permissions.", + "description": "Updates one or more label permissions.", "id": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest", "properties": { "requests": { @@ -1128,14 +1128,14 @@ "type": "array" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. If this is set, the `use_admin_access` field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse": { - "description": "Response for updating one or more Label Permissions.", + "description": "Response for updating one or more label permissions.", "id": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse", "properties": { "permissions": { @@ -1149,52 +1149,52 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDateLimits": { - "description": "Limits for date Field type.", + "description": "Limits for date field type.", "id": "GoogleAppsDriveLabelsV2betaDateLimits", "properties": { "maxValue": { "$ref": "GoogleTypeDate", - "description": "Maximum value for the date Field type." + "description": "Maximum value for the date field type." }, "minValue": { "$ref": "GoogleTypeDate", - "description": "Minimum value for the date Field type." + "description": "Minimum value for the date field type." } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest": { - "description": "Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Deletes a label permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "id": "GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest", "properties": { "name": { - "description": "Required. Label Permission resource name.", + "description": "Required. Label permission resource name.", "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest": { - "description": "The set of requests for updating aspects of a Label. If any request is not valid, no requests will be applied.", + "description": "The set of requests for updating aspects of a label. If any request isn't valid, no requests will be applied.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest", "properties": { "languageCode": { - "description": "The BCP-47 language code to use for evaluating localized Field labels when `include_label_in_response` is `true`.", + "description": "The BCP-47 language code to use for evaluating localized field labels when `include_label_in_response` is `true`.", "type": "string" }, "requests": { - "description": "A list of updates to apply to the Label. Requests will be applied in the order they are specified.", + "description": "A list of updates to apply to the label. Requests will be applied in the order they are specified.", "items": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest" }, "type": "array" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "view": { @@ -1217,7 +1217,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest": { - "description": "Request to create a Field within a Label.", + "description": "Request to create a field within a label.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest", "properties": { "field": { @@ -1228,37 +1228,37 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest": { - "description": "Request to create a Selection Choice.", + "description": "Request to create a selection choice.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest", "properties": { "choice": { "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice", - "description": "Required. The Choice to create." + "description": "Required. The choice to create." }, "fieldId": { - "description": "Required. The Selection Field in which a Choice will be created.", + "description": "Required. The selection field in which a choice will be created.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest": { - "description": "Request to delete the Field.", + "description": "Request to delete the field.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest", "properties": { "id": { - "description": "Required. ID of the Field to delete.", + "description": "Required. ID of the field to delete.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest": { - "description": "Request to delete a Choice.", + "description": "Request to delete a choice.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest", "properties": { "fieldId": { - "description": "Required. The Selection Field from which a Choice will be deleted.", + "description": "Required. The selection field from which a choice will be deleted.", "type": "string" }, "id": { @@ -1269,19 +1269,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest": { - "description": "Request to disable the Field.", + "description": "Request to disable the field.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest", "properties": { "disabledPolicy": { "$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", - "description": "Required. Field Disabled Policy." + "description": "Required. Field disabled policy." }, "id": { - "description": "Required. Key of the Field to disable.", + "description": "Required. Key of the field to disable.", "type": "string" }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1289,7 +1289,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest": { - "description": "Request to disable a Choice.", + "description": "Request to disable a choice.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest", "properties": { "disabledPolicy": { @@ -1297,7 +1297,7 @@ "description": "Required. The disabled policy to update." }, "fieldId": { - "description": "Required. The Selection Field in which a Choice will be disabled.", + "description": "Required. The selection field in which a choice will be disabled.", "type": "string" }, "id": { @@ -1305,7 +1305,7 @@ "type": "string" }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1313,22 +1313,22 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest": { - "description": "Request to enable the Field.", + "description": "Request to enable the field.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest", "properties": { "id": { - "description": "Required. ID of the Field to enable.", + "description": "Required. ID of the field to enable.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest": { - "description": "Request to enable a Choice.", + "description": "Request to enable a choice.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest", "properties": { "fieldId": { - "description": "Required. The Selection Field in which a Choice will be enabled.", + "description": "Required. The selection field in which a choice will be enabled.", "type": "string" }, "id": { @@ -1339,74 +1339,74 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest": { - "description": "A single kind of update to apply to a Label.", + "description": "A single kind of update to apply to a label.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest", "properties": { "createField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest", - "description": "Creates a new Field." + "description": "Creates a field." }, "createSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest", - "description": "Creates Choice within a Selection field." + "description": "Create a choice within a selection field." }, "deleteField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest", - "description": "Deletes a Field from the label." + "description": "Deletes a field from the label." }, "deleteSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest", - "description": "Delete a Choice within a Selection Field." + "description": "Delete a choice within a selection field." }, "disableField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest", - "description": "Disables the Field." + "description": "Disables the field." }, "disableSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest", - "description": "Disable a Choice within a Selection Field." + "description": "Disable a choice within a selection field." }, "enableField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest", - "description": "Enables the Field." + "description": "Enables the field." }, "enableSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest", - "description": "Enable a Choice within a Selection Field." + "description": "Enable a choice within a selection field." }, "updateField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest", - "description": "Updates basic properties of a Field." + "description": "Updates basic properties of a field." }, "updateFieldType": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest", - "description": "Update Field type and/or type options." + "description": "Update field type and/or type options." }, "updateLabel": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest", - "description": "Updates the Label properties." + "description": "Updates the label properties." }, "updateSelectionChoiceProperties": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", - "description": "Update a Choice properties within a Selection Field." + "description": "Update a choice property within a selection field." } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest": { - "description": "Request to update Field properties.", + "description": "Request to update field properties.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest", "properties": { "id": { - "description": "Required. The Field to update.", + "description": "Required. The field to update.", "type": "string" }, "properties": { "$ref": "GoogleAppsDriveLabelsV2betaFieldProperties", - "description": "Required. Basic Field properties." + "description": "Required. Basic field properties." }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1414,7 +1414,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest": { - "description": "Request to change the type of a Field.", + "description": "Request to change the type of a field.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest", "properties": { "dateOptions": { @@ -1422,7 +1422,7 @@ "description": "Update field to Date." }, "id": { - "description": "Required. The Field to update.", + "description": "Required. The field to update.", "type": "string" }, "integerOptions": { @@ -1438,7 +1438,7 @@ "description": "Update field to Text." }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" }, @@ -1450,7 +1450,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest": { - "description": "Updates basic properties of a Label.", + "description": "Updates basic properties of a label.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest", "properties": { "properties": { @@ -1458,7 +1458,7 @@ "description": "Required. Label properties to update." }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1466,23 +1466,23 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest": { - "description": "Request to update a Choice properties.", + "description": "Request to update a choice property.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", "properties": { "fieldId": { - "description": "Required. The Selection Field to update.", + "description": "Required. The selection field to update.", "type": "string" }, "id": { - "description": "Required. The Choice to update.", + "description": "Required. The choice to update.", "type": "string" }, "properties": { "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties", - "description": "Required. The Choice properties to update." + "description": "Required. The choice properties to update." }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" } @@ -1490,7 +1490,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse": { - "description": "Response for Label update.", + "description": "Response for label update.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse", "properties": { "responses": { @@ -1502,13 +1502,13 @@ }, "updatedLabel": { "$ref": "GoogleAppsDriveLabelsV2betaLabel", - "description": "The label after updates were applied. This is only set if [BatchUpdateLabelResponse2.include_label_in_response] is `true` and there were no errors." + "description": "The label after updates were applied. This is only set if `include_label_in_response` is `true` and there were no errors." } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse": { - "description": "Response following Field create.", + "description": "Response following field create.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse", "properties": { "id": { @@ -1524,52 +1524,52 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse": { - "description": "Response following Selection Choice create.", + "description": "Response following selection choice create.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse", "properties": { "fieldId": { - "description": "The server-generated id of the field.", + "description": "The server-generated ID of the field.", "type": "string" }, "id": { - "description": "The server-generated ID of the created choice within the Field", + "description": "The server-generated ID of the created choice within the field.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse": { - "description": "Response following Field delete.", + "description": "Response following field delete.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse": { - "description": "Response following Choice delete.", + "description": "Response following choice delete.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse": { - "description": "Response following Field disable.", + "description": "Response following field disable.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse": { - "description": "Response following Choice disable.", + "description": "Response following choice disable.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse": { - "description": "Response following Field enable.", + "description": "Response following field enable.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse": { - "description": "Response following Choice enable.", + "description": "Response following choice enable.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse", "properties": {}, "type": "object" @@ -1580,57 +1580,57 @@ "properties": { "createField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse", - "description": "Creates a new Field." + "description": "Creates a field." }, "createSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse", - "description": "Creates a new selection list option to add to a Selection Field." + "description": "Creates a selection list option to add to a selection field." }, "deleteField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse", - "description": "Deletes a Field from the label." + "description": "Deletes a field from the label." }, "deleteSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse", - "description": "Deletes a Choice from a Selection Field." + "description": "Deletes a choice from a selection field." }, "disableField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse", - "description": "Disables Field." + "description": "Disables field." }, "disableSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse", - "description": "Disables a Choice within a Selection Field." + "description": "Disables a choice within a selection field." }, "enableField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse", - "description": "Enables Field." + "description": "Enables field." }, "enableSelectionChoice": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse", - "description": "Enables a Choice within a Selection Field." + "description": "Enables a choice within a selection field." }, "updateField": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse", - "description": "Updates basic properties of a Field." + "description": "Updates basic properties of a field." }, "updateFieldType": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse", - "description": "Update Field type and/or type options." + "description": "Updates field type and/or type options." }, "updateLabel": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse", - "description": "Updated basic properties of a Label." + "description": "Updates basic properties of a label." }, "updateSelectionChoiceProperties": { "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", - "description": "Updates a Choice within a Selection Field." + "description": "Updates a choice within a selection field." } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse": { - "description": "Response following update to Field properties.", + "description": "Response following update to field properties.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse", "properties": { "priority": { @@ -1642,19 +1642,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse": { - "description": "Response following update to Field type.", + "description": "Response following update to field type.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse": { - "description": "Response following update to Label properties.", + "description": "Response following update to label properties.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse", "properties": {}, "type": "object" }, "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse": { - "description": "Response following update to Selection Choice properties.", + "description": "Response following update to selection choice properties.", "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", "properties": { "priority": { @@ -1666,7 +1666,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaDisableLabelRequest": { - "description": "Request to deprecate a published Label.", + "description": "Request to deprecate a published label.", "id": "GoogleAppsDriveLabelsV2betaDisableLabelRequest", "properties": { "disabledPolicy": { @@ -1678,17 +1678,17 @@ "type": "string" }, "updateMask": { - "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field.", "format": "google-fieldmask", "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "writeControl": { "$ref": "GoogleAppsDriveLabelsV2betaWriteControl", - "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + "description": "Provides control over how write requests are executed. Defaults to unset, which means the last write wins." } }, "type": "object" @@ -1702,12 +1702,12 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "writeControl": { "$ref": "GoogleAppsDriveLabelsV2betaWriteControl", - "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + "description": "Provides control over how write requests are executed. Defaults to unset, which means the last write wins." } }, "type": "object" @@ -1753,7 +1753,7 @@ "readOnly": true }, "id": { - "description": "Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`", + "description": "Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`.", "readOnly": true, "type": "string" }, @@ -1768,7 +1768,7 @@ }, "lockStatus": { "$ref": "GoogleAppsDriveLabelsV2betaLockStatus", - "description": "Output only. The LockStatus of this field.", + "description": "Output only. The `LockStatus` of this field.", "readOnly": true }, "properties": { @@ -1914,47 +1914,47 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaFieldLimits": { - "description": "Field constants governing the structure of a Field; such as, the maximum title length, minimum and maximum field values or length, etc.", + "description": "Field constants governing the structure of a field; such as, the maximum title length, minimum and maximum field values or length, etc.", "id": "GoogleAppsDriveLabelsV2betaFieldLimits", "properties": { "dateLimits": { "$ref": "GoogleAppsDriveLabelsV2betaDateLimits", - "description": "Date Field limits." + "description": "Date field limits." }, "integerLimits": { "$ref": "GoogleAppsDriveLabelsV2betaIntegerLimits", - "description": "Integer Field limits." + "description": "Integer field limits." }, "longTextLimits": { "$ref": "GoogleAppsDriveLabelsV2betaLongTextLimits", - "description": "Long text Field limits." + "description": "Long text field limits." }, "maxDescriptionLength": { - "description": "Limits for Field description, also called help text.", + "description": "Limits for field description, also called help text.", "format": "int32", "type": "integer" }, "maxDisplayNameLength": { - "description": "Limits for Field title.", + "description": "Limits for field title.", "format": "int32", "type": "integer" }, "maxIdLength": { - "description": "Max length for the id.", + "description": "Maximum length for the id.", "format": "int32", "type": "integer" }, "selectionLimits": { "$ref": "GoogleAppsDriveLabelsV2betaSelectionLimits", - "description": "Selection Field limits." + "description": "Selection field limits." }, "textLimits": { "$ref": "GoogleAppsDriveLabelsV2betaTextLimits", - "description": "The relevant limits for the specified Field.Type. Text Field limits." + "description": "The relevant limits for the specified Field.Type. Text field limits." }, "userLimits": { "$ref": "GoogleAppsDriveLabelsV2betaUserLimits", - "description": "User Field limits." + "description": "User field limits." } }, "type": "object" @@ -2078,7 +2078,7 @@ }, "lockStatus": { "$ref": "GoogleAppsDriveLabelsV2betaLockStatus", - "description": "Output only. The LockStatus of this choice.", + "description": "Output only. The `LockStatus` of this choice.", "readOnly": true }, "properties": { @@ -2243,16 +2243,16 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaIntegerLimits": { - "description": "Limits for integer Field type.", + "description": "Limits for integer field type.", "id": "GoogleAppsDriveLabelsV2betaIntegerLimits", "properties": { "maxValue": { - "description": "Maximum value for an integer Field type.", + "description": "Maximum value for an integer field type.", "format": "int64", "type": "string" }, "minValue": { - "description": "Minimum value for an integer Field type.", + "description": "Minimum value for an integer field type.", "format": "int64", "type": "string" } @@ -2285,19 +2285,19 @@ "readOnly": true }, "customer": { - "description": "Output only. The customer this label belongs to. For example: \"customers/123abc789.\"", + "description": "Output only. The customer this label belongs to. For example: `customers/123abc789`.", "readOnly": true, "type": "string" }, "disableTime": { - "description": "Output only. The time this label was disabled. This value has no meaning when the label is not disabled.", + "description": "Output only. The time this label was disabled. This value has no meaning when the label isn't disabled.", "format": "google-datetime", "readOnly": true, "type": "string" }, "disabler": { "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", - "description": "Output only. The user who disabled this label. This value has no meaning when the label is not disabled.", + "description": "Output only. The user who disabled this label. This value has no meaning when the label isn't disabled.", "readOnly": true }, "displayHints": { @@ -2307,7 +2307,7 @@ }, "enabledAppSettings": { "$ref": "GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings", - "description": "Optional. The EnabledAppSettings for this Label." + "description": "Optional. The `EnabledAppSettings` for this Label." }, "fields": { "description": "List of fields in descending priority order.", @@ -2317,7 +2317,7 @@ "type": "array" }, "id": { - "description": "Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`", + "description": "Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`.", "readOnly": true, "type": "string" }, @@ -2348,7 +2348,7 @@ }, "lockStatus": { "$ref": "GoogleAppsDriveLabelsV2betaLockStatus", - "description": "Output only. The LockStatus of this label.", + "description": "Output only. The `LockStatus` of this label.", "readOnly": true }, "name": { @@ -2361,14 +2361,14 @@ "description": "Required. The basic properties of the label." }, "publishTime": { - "description": "Output only. The time this label was published. This value has no meaning when the label is not published.", + "description": "Output only. The time this label was published. This value has no meaning when the label isn't published.", "format": "google-datetime", "readOnly": true, "type": "string" }, "publisher": { "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", - "description": "Output only. The user who published this label. This value has no meaning when the label is not published.", + "description": "Output only. The user who published this label. This value has no meaning when the label isn't published.>>", "readOnly": true }, "revisionCreateTime": { @@ -2383,7 +2383,7 @@ "readOnly": true }, "revisionId": { - "description": "Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`", + "description": "Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`.", "readOnly": true, "type": "string" }, @@ -2428,7 +2428,7 @@ ], "enumDescriptions": [ "Copy mode unspecified.", - "The applied label and field values are not copied by default when the Drive item it's applied to is copied.", + "The applied label and field values aren't copied by default when the Drive item it's applied to is copied.", "The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", "The applied label and field values are copied if the label is appliable by the user making the copy." ], @@ -2438,7 +2438,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaLabelDisplayHints": { - "description": "UI display hints for rendering the label.", + "description": "The UI display hints for rendering the label.", "id": "GoogleAppsDriveLabelsV2betaLabelDisplayHints", "properties": { "disabled": { @@ -2450,7 +2450,7 @@ "type": "boolean" }, "priority": { - "description": "Order to display label in a list.", + "description": "The order to display labels in a list.", "format": "int64", "type": "string" }, @@ -2462,11 +2462,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings": { - "description": "Describes the Workspace apps in which the Label can be used.", + "description": "Describes the Google Workspace apps in which the label can be used.", "id": "GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings", "properties": { "enabledApps": { - "description": "Optional. The list of Apps where the Label can be used.", + "description": "Optional. The list of apps where the label can be used.", "items": { "$ref": "GoogleAppsDriveLabelsV2betaLabelEnabledAppSettingsEnabledApp" }, @@ -2476,11 +2476,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaLabelEnabledAppSettingsEnabledApp": { - "description": "An App where the Label can be used.", + "description": "An app where the label can be used.", "id": "GoogleAppsDriveLabelsV2betaLabelEnabledAppSettingsEnabledApp", "properties": { "app": { - "description": "Optional. The name of the App.", + "description": "Optional. The name of the app.", "enum": [ "APP_UNSPECIFIED", "DRIVE", @@ -2488,7 +2488,7 @@ ], "enumDescriptions": [ "Unspecified", - "Drive.", + "Drive", "Gmail" ], "type": "string" @@ -2497,15 +2497,15 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaLabelLimits": { - "description": "Label constraints governing the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", + "description": "Label constraints governing the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title.", "id": "GoogleAppsDriveLabelsV2betaLabelLimits", "properties": { "fieldLimits": { "$ref": "GoogleAppsDriveLabelsV2betaFieldLimits", - "description": "The limits for Fields." + "description": "The limits for fields." }, "maxDeletedFields": { - "description": "The maximum number of published Fields that can be deleted.", + "description": "The maximum number of published fields that can be deleted.", "format": "int32", "type": "integer" }, @@ -2520,7 +2520,7 @@ "type": "integer" }, "maxFields": { - "description": "The maximum number of Fields allowed within the label.", + "description": "The maximum number of fields allowed within the label.", "format": "int32", "type": "integer" }, @@ -2537,46 +2537,46 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaLabelLock": { - "description": "A Lock that can be applied to a Label, Field, or Choice.", + "description": "A lock that can be applied to a label, field, or choice.", "id": "GoogleAppsDriveLabelsV2betaLabelLock", "properties": { "capabilities": { "$ref": "GoogleAppsDriveLabelsV2betaLabelLockCapabilities", - "description": "Output only. The user's capabilities on this LabelLock.", + "description": "Output only. The user's capabilities on this label lock.", "readOnly": true }, "choiceId": { - "description": "The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present.", + "description": "The ID of the selection field choice that should be locked. If present, `field_id` must also be present.", "type": "string" }, "createTime": { - "description": "Output only. The time this LabelLock was created.", + "description": "Output only. The time this label lock was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "creator": { "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", - "description": "Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock.", + "description": "Output only. The user whose credentials were used to create the label lock. Not present if no user was responsible for creating the label lock.", "readOnly": true }, "deleteTime": { - "description": "Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state.", + "description": "Output only. A timestamp indicating when this label lock was scheduled for deletion. Present only if this label lock is in the `DELETING` state.", "format": "google-datetime", "readOnly": true, "type": "string" }, "fieldId": { - "description": "The ID of the Field that should be locked. Empty if the whole Label should be locked.", + "description": "The ID of the field that should be locked. Empty if the whole label should be locked.", "type": "string" }, "name": { - "description": "Output only. Resource name of this LabelLock.", + "description": "Output only. Resource name of this label lock.", "readOnly": true, "type": "string" }, "state": { - "description": "Output only. This LabelLock's state.", + "description": "Output only. This label lock's state.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", @@ -2584,8 +2584,8 @@ ], "enumDescriptions": [ "Unknown state.", - "The LabelLock is active and is being enforced by the server.", - "The LabelLock is being deleted. The LabelLock will continue to be enforced by the server until it has been fully removed." + "The label lock is active and is being enforced by the server.", + "The label lock is being deleted. The label lock will continue to be enforced by the server until it has been fully removed." ], "readOnly": true, "type": "string" @@ -2594,7 +2594,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaLabelLockCapabilities": { - "description": "A description of a user's capabilities on a LabelLock.", + "description": "A description of a user's capabilities on a label lock.", "id": "GoogleAppsDriveLabelsV2betaLabelLockCapabilities", "properties": { "canViewPolicy": { @@ -2609,11 +2609,11 @@ "id": "GoogleAppsDriveLabelsV2betaLabelPermission", "properties": { "audience": { - "description": "Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.", + "description": "Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the label.", "type": "string" }, "email": { - "description": "Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.", + "description": "Specifies the email address for a user or group principal. Not populated for audience principals. User and group permissions may only be inserted using an email address. On update requests, if email address is specified, no principal should be specified.", "type": "string" }, "group": { @@ -2688,7 +2688,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaLifecycle": { - "description": "The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect.", + "description": "The lifecycle state of an object, such as label, field, or choice. For more information, see [Label lifecycle](https://developers.google.com/workspace/drive/labels/guides/label-lifecycle). The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * `Published`: Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes aren't permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * `Disabled`: When disabled, the configured `DisabledPolicy` takes effect.", "id": "GoogleAppsDriveLabelsV2betaLifecycle", "properties": { "disabledPolicy": { @@ -2738,11 +2738,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaListLabelLocksResponse": { - "description": "The response to a ListLabelLocksRequest.", + "description": "The response to a `ListLabelLocksRequest`.", "id": "GoogleAppsDriveLabelsV2betaListLabelLocksResponse", "properties": { "labelLocks": { - "description": "LabelLocks.", + "description": "Label locks.", "items": { "$ref": "GoogleAppsDriveLabelsV2betaLabelLock" }, @@ -2756,7 +2756,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse": { - "description": "Response for listing the permissions on a Label.", + "description": "Response for listing the permissions on a label.", "id": "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse", "properties": { "labelPermissions": { @@ -2774,7 +2774,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaListLabelsResponse": { - "description": "Response for listing Labels.", + "description": "Response for listing labels.", "id": "GoogleAppsDriveLabelsV2betaListLabelsResponse", "properties": { "labels": { @@ -2792,11 +2792,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaListLimits": { - "description": "Limits for list-variant of a Field type.", + "description": "Limits for list-variant of a field type.", "id": "GoogleAppsDriveLabelsV2betaListLimits", "properties": { "maxEntries": { - "description": "Maximum number of values allowed for the Field type.", + "description": "Maximum number of values allowed for the field type.", "format": "int32", "type": "integer" } @@ -2808,7 +2808,7 @@ "id": "GoogleAppsDriveLabelsV2betaLockStatus", "properties": { "locked": { - "description": "Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.", + "description": "Output only. Indicates whether this label component is the (direct) target of a label lock. A label component can be implicitly locked even if it's not the direct target of a label lock, in which case this field is set to false.", "readOnly": true, "type": "boolean" } @@ -2816,16 +2816,16 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaLongTextLimits": { - "description": "Limits for long text Field type.", + "description": "Limits for long text field type.", "id": "GoogleAppsDriveLabelsV2betaLongTextLimits", "properties": { "maxLength": { - "description": "Maximum length allowed for a long text Field type.", + "description": "Maximum length allowed for a long text field type.", "format": "int32", "type": "integer" }, "minLength": { - "description": "Minimum length allowed for a long text Field type.", + "description": "Minimum length allowed for a long text field type.", "format": "int32", "type": "integer" } @@ -2841,26 +2841,26 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "writeControl": { "$ref": "GoogleAppsDriveLabelsV2betaWriteControl", - "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + "description": "Provides control over how write requests are executed. Defaults to unset, which means the last write wins." } }, "type": "object" }, "GoogleAppsDriveLabelsV2betaSelectionLimits": { - "description": "Limits for selection Field type.", + "description": "Limits for selection field type.", "id": "GoogleAppsDriveLabelsV2betaSelectionLimits", "properties": { "listLimits": { "$ref": "GoogleAppsDriveLabelsV2betaListLimits", - "description": "Limits for list-variant of a Field type." + "description": "Limits for list-variant of a field type." }, "maxChoices": { - "description": "The max number of choices.", + "description": "Maximum number of choices.", "format": "int32", "type": "integer" }, @@ -2875,7 +2875,7 @@ "type": "integer" }, "maxIdLength": { - "description": "Maximum ID length for a selection options.", + "description": "Maximum ID length for a selection option.", "format": "int32", "type": "integer" } @@ -2883,16 +2883,16 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaTextLimits": { - "description": "Limits for text Field type.", + "description": "Limits for text field type.", "id": "GoogleAppsDriveLabelsV2betaTextLimits", "properties": { "maxLength": { - "description": "Maximum length allowed for a text Field type.", + "description": "Maximum length allowed for a text field type.", "format": "int32", "type": "integer" }, "minLength": { - "description": "Minimum length allowed for a text Field type.", + "description": "Minimum length allowed for a text field type.", "format": "int32", "type": "integer" } @@ -2900,11 +2900,11 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest": { - "description": "Request to update the `CopyMode` of the given Label. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. \\", + "description": "Request to update the `CopyMode` of the given label. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately. \\", "id": "GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest", "properties": { "copyMode": { - "description": "Required. Indicates how the applied Label, and Field values should be copied when a Drive item is copied.", + "description": "Required. Indicates how the applied label and field values should be copied when a Drive item is copied.", "enum": [ "COPY_MODE_UNSPECIFIED", "DO_NOT_COPY", @@ -2913,7 +2913,7 @@ ], "enumDescriptions": [ "Copy mode unspecified.", - "The applied label and field values are not copied by default when the Drive item it's applied to is copied.", + "The applied label and field values aren't copied by default when the Drive item it's applied to is copied.", "The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", "The applied label and field values are copied if the label is appliable by the user making the copy." ], @@ -2924,7 +2924,7 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "view": { @@ -2943,19 +2943,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaUpdateLabelEnabledAppSettingsRequest": { - "description": "Request to update the `EnabledAppSettings` of the given Label. This change is not revisioned, does not require publishing, and takes effect immediately. \\", + "description": "Request to update the `EnabledAppSettings` of the given label. This change is not revisioned, doesn't require publishing, and takes effect immediately. \\", "id": "GoogleAppsDriveLabelsV2betaUpdateLabelEnabledAppSettingsRequest", "properties": { "enabledAppSettings": { "$ref": "GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings", - "description": "Required. The new `EnabledAppSettings` value for the Label." + "description": "Required. The new `EnabledAppSettings` value for the label." }, "languageCode": { "description": "Optional. The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", "type": "string" }, "useAdminAccess": { - "description": "Optional. Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Optional. Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" }, "view": { @@ -2974,19 +2974,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest": { - "description": "Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "description": "Updates a label permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.", "id": "GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest", "properties": { "labelPermission": { "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission", - "description": "Required. The permission to create or update on the Label." + "description": "Required. The permission to create or update on the label." }, "parent": { - "description": "Required. The parent Label resource name.", + "description": "Required. The parent label resource name.", "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.", "type": "boolean" } }, @@ -3007,12 +3007,12 @@ "type": "boolean" }, "canCreateAdminLabels": { - "description": "Output only. Whether the user is allowed to create new admin labels.", + "description": "Output only. Whether the user is allowed to create admin labels.", "readOnly": true, "type": "boolean" }, "canCreateSharedLabels": { - "description": "Output only. Whether the user is allowed to create new shared labels.", + "description": "Output only. Whether the user is allowed to create shared labels.", "readOnly": true, "type": "boolean" }, @@ -3029,7 +3029,7 @@ "id": "GoogleAppsDriveLabelsV2betaUserInfo", "properties": { "person": { - "description": "The identifier for this user that can be used with the People API to get more information. For example, people/12345678.", + "description": "The identifier for this user that can be used with the [People API](https://developers.google.com/people) to get more information. For example, `people/12345678`.", "type": "string" } }, @@ -3041,7 +3041,7 @@ "properties": { "listLimits": { "$ref": "GoogleAppsDriveLabelsV2betaListLimits", - "description": "Limits for list-variant of a Field type." + "description": "Limits for list-variant of a field type." } }, "type": "object" @@ -3051,7 +3051,7 @@ "id": "GoogleAppsDriveLabelsV2betaWriteControl", "properties": { "requiredRevisionId": { - "description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", + "description": "The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", "type": "string" } }, diff --git a/src/apis/drivelabels/v2.ts b/src/apis/drivelabels/v2.ts index 2c249661b5..d0bf87985c 100644 --- a/src/apis/drivelabels/v2.ts +++ b/src/apis/drivelabels/v2.ts @@ -159,7 +159,7 @@ export namespace drivelabels_v2 { priorityOverride?: string | null; } /** - * Deletes one of more Label Permissions. + * Deletes one or more label permissions. */ export interface Schema$GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest { /** @@ -167,12 +167,12 @@ export namespace drivelabels_v2 { */ requests?: Schema$GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest[]; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. If this is set, the `use_admin_access` field in the `DeleteLabelPermissionRequest` messages must either be empty or match this field. */ useAdminAccess?: boolean | null; } /** - * Updates one or more Label Permissions. + * Updates one or more label permissions. */ export interface Schema$GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest { /** @@ -180,12 +180,12 @@ export namespace drivelabels_v2 { */ requests?: Schema$GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest[]; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. If this is set, the `use_admin_access` field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ useAdminAccess?: boolean | null; } /** - * Response for updating one or more Label Permissions. + * Response for updating one or more label permissions. */ export interface Schema$GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsResponse { /** @@ -194,45 +194,45 @@ export namespace drivelabels_v2 { permissions?: Schema$GoogleAppsDriveLabelsV2LabelPermission[]; } /** - * Limits for date Field type. + * Limits for date field type. */ export interface Schema$GoogleAppsDriveLabelsV2DateLimits { /** - * Maximum value for the date Field type. + * Maximum value for the date field type. */ maxValue?: Schema$GoogleTypeDate; /** - * Minimum value for the date Field type. + * Minimum value for the date field type. */ minValue?: Schema$GoogleTypeDate; } /** - * Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes a label permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. */ export interface Schema$GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest { /** - * Required. Label Permission resource name. + * Required. Label permission resource name. */ name?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; } /** - * The set of requests for updating aspects of a Label. If any request is not valid, no requests will be applied. + * The set of requests for updating aspects of a label. If any request isn't valid, no requests will be applied. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest { /** - * The BCP-47 language code to use for evaluating localized Field labels when `include_label_in_response` is `true`. + * The BCP-47 language code to use for evaluating localized field labels when `include_label_in_response` is `true`. */ languageCode?: string | null; /** - * A list of updates to apply to the Label. Requests will be applied in the order they are specified. + * A list of updates to apply to the label. Requests will be applied in the order they are specified. */ requests?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest[]; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** @@ -245,7 +245,7 @@ export namespace drivelabels_v2 { writeControl?: Schema$GoogleAppsDriveLabelsV2WriteControl; } /** - * Request to create a Field within a Label. + * Request to create a field within a label. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest { /** @@ -254,33 +254,33 @@ export namespace drivelabels_v2 { field?: Schema$GoogleAppsDriveLabelsV2Field; } /** - * Request to create a Selection Choice. + * Request to create a selection choice. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest { /** - * Required. The Choice to create. + * Required. The choice to create. */ choice?: Schema$GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice; /** - * Required. The Selection Field in which a Choice will be created. + * Required. The selection field in which a choice will be created. */ fieldId?: string | null; } /** - * Request to delete the Field. + * Request to delete the field. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest { /** - * Required. ID of the Field to delete. + * Required. ID of the field to delete. */ id?: string | null; } /** - * Request to delete a Choice. + * Request to delete a choice. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest { /** - * Required. The Selection Field from which a Choice will be deleted. + * Required. The selection field from which a choice will be deleted. */ fieldId?: string | null; /** @@ -289,24 +289,24 @@ export namespace drivelabels_v2 { id?: string | null; } /** - * Request to disable the Field. + * Request to disable the field. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest { /** - * Required. Field Disabled Policy. + * Required. Field disabled policy. */ disabledPolicy?: Schema$GoogleAppsDriveLabelsV2LifecycleDisabledPolicy; /** - * Required. Key of the Field to disable. + * Required. Key of the field to disable. */ id?: string | null; /** - * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Request to disable a Choice. + * Request to disable a choice. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest { /** @@ -314,7 +314,7 @@ export namespace drivelabels_v2 { */ disabledPolicy?: Schema$GoogleAppsDriveLabelsV2LifecycleDisabledPolicy; /** - * Required. The Selection Field in which a Choice will be disabled. + * Required. The selection field in which a choice will be disabled. */ fieldId?: string | null; /** @@ -322,25 +322,25 @@ export namespace drivelabels_v2 { */ id?: string | null; /** - * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Request to enable the Field. + * Request to enable the field. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest { /** - * Required. ID of the Field to enable. + * Required. ID of the field to enable. */ id?: string | null; } /** - * Request to enable a Choice. + * Request to enable a choice. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest { /** - * Required. The Selection Field in which a Choice will be enabled. + * Required. The selection field in which a choice will be enabled. */ fieldId?: string | null; /** @@ -349,77 +349,77 @@ export namespace drivelabels_v2 { id?: string | null; } /** - * A single kind of update to apply to a Label. + * A single kind of update to apply to a label. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest { /** - * Creates a new Field. + * Creates a field. */ createField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest; /** - * Creates Choice within a Selection field. + * Create a choice within a selection field. */ createSelectionChoice?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest; /** - * Deletes a Field from the label. + * Deletes a field from the label. */ deleteField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest; /** - * Delete a Choice within a Selection Field. + * Delete a choice within a selection field. */ deleteSelectionChoice?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest; /** - * Disables the Field. + * Disables the field. */ disableField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest; /** - * Disable a Choice within a Selection Field. + * Disable a choice within a selection field. */ disableSelectionChoice?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest; /** - * Enables the Field. + * Enables the field. */ enableField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest; /** - * Enable a Choice within a Selection Field. + * Enable a choice within a selection field. */ enableSelectionChoice?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest; /** - * Updates basic properties of a Field. + * Updates basic properties of a field. */ updateField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest; /** - * Update Field type and/or type options. + * Update field type and/or type options. */ updateFieldType?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest; /** - * Updates the Label properties. + * Updates the label properties. */ updateLabel?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest; /** - * Update a Choice properties within a Selection Field. + * Update a choice property within a selection field. */ updateSelectionChoiceProperties?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest; } /** - * Request to update Field properties. + * Request to update field properties. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest { /** - * Required. The Field to update. + * Required. The field to update. */ id?: string | null; /** - * Required. Basic Field properties. + * Required. Basic field properties. */ properties?: Schema$GoogleAppsDriveLabelsV2FieldProperties; /** - * The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Request to change the type of a Field. + * Request to change the type of a field. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest { /** @@ -427,7 +427,7 @@ export namespace drivelabels_v2 { */ dateOptions?: Schema$GoogleAppsDriveLabelsV2FieldDateOptions; /** - * Required. The Field to update. + * Required. The field to update. */ id?: string | null; /** @@ -443,7 +443,7 @@ export namespace drivelabels_v2 { */ textOptions?: Schema$GoogleAppsDriveLabelsV2FieldTextOptions; /** - * The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; /** @@ -452,7 +452,7 @@ export namespace drivelabels_v2 { userOptions?: Schema$GoogleAppsDriveLabelsV2FieldUserOptions; } /** - * Updates basic properties of a Label. + * Updates basic properties of a label. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest { /** @@ -460,33 +460,33 @@ export namespace drivelabels_v2 { */ properties?: Schema$GoogleAppsDriveLabelsV2LabelProperties; /** - * The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Request to update a Choice properties. + * Request to update a choice property. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest { /** - * Required. The Selection Field to update. + * Required. The selection field to update. */ fieldId?: string | null; /** - * Required. The Choice to update. + * Required. The choice to update. */ id?: string | null; /** - * Required. The Choice properties to update. + * Required. The choice properties to update. */ properties?: Schema$GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties; /** - * The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Response for Label update. + * Response for label update. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponse { /** @@ -494,12 +494,12 @@ export namespace drivelabels_v2 { */ responses?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse[]; /** - * The label after updates were applied. This is only set if [BatchUpdateLabelResponse2.include_label_in_response] is `true` and there were no errors. + * The label after updates were applied. This is only set if `include_label_in_response` is `true` and there were no errors. */ updatedLabel?: Schema$GoogleAppsDriveLabelsV2Label; } /** - * Response following Field create. + * Response following field create. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse { /** @@ -512,40 +512,40 @@ export namespace drivelabels_v2 { priority?: number | null; } /** - * Response following Selection Choice create. + * Response following selection choice create. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse { /** - * The server-generated id of the field. + * The server-generated ID of the field. */ fieldId?: string | null; /** - * The server-generated ID of the created choice within the Field + * The server-generated ID of the created choice within the field. */ id?: string | null; } /** - * Response following Field delete. + * Response following field delete. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse {} /** - * Response following Choice delete. + * Response following choice delete. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse {} /** - * Response following Field disable. + * Response following field disable. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse {} /** - * Response following Choice disable. + * Response following choice disable. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse {} /** - * Response following Field enable. + * Response following field enable. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse {} /** - * Response following Choice enable. + * Response following choice enable. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse {} /** @@ -553,56 +553,56 @@ export namespace drivelabels_v2 { */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse { /** - * Creates a new Field. + * Creates a field. */ createField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse; /** - * Creates a new selection list option to add to a Selection Field. + * Creates a selection list option to add to a selection field. */ createSelectionChoice?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse; /** - * Deletes a Field from the label. + * Deletes a field from the label. */ deleteField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse; /** - * Deletes a Choice from a Selection Field. + * Deletes a choice from a selection field. */ deleteSelectionChoice?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse; /** - * Disables Field. + * Disables field. */ disableField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse; /** - * Disables a Choice within a Selection Field. + * Disables a choice within a selection field. */ disableSelectionChoice?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse; /** - * Enables Field. + * Enables field. */ enableField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse; /** - * Enables a Choice within a Selection Field. + * Enables a choice within a selection field. */ enableSelectionChoice?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse; /** - * Updates basic properties of a Field. + * Updates basic properties of a field. */ updateField?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse; /** - * Update Field type and/or type options. + * Updates field type and/or type options. */ updateFieldType?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse; /** - * Updated basic properties of a Label. + * Updates basic properties of a label. */ updateLabel?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse; /** - * Updates a Choice within a Selection Field. + * Updates a choice within a selection field. */ updateSelectionChoiceProperties?: Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse; } /** - * Response following update to Field properties. + * Response following update to field properties. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse { /** @@ -611,15 +611,15 @@ export namespace drivelabels_v2 { priority?: number | null; } /** - * Response following update to Field type. + * Response following update to field type. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse {} /** - * Response following update to Label properties. + * Response following update to label properties. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse {} /** - * Response following update to Selection Choice properties. + * Response following update to selection choice properties. */ export interface Schema$GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse { /** @@ -628,7 +628,7 @@ export namespace drivelabels_v2 { priority?: number | null; } /** - * Request to deprecate a published Label. + * Request to deprecate a published label. */ export interface Schema$GoogleAppsDriveLabelsV2DisableLabelRequest { /** @@ -640,15 +640,15 @@ export namespace drivelabels_v2 { */ languageCode?: string | null; /** - * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** - * Provides control over how write requests are executed. Defaults to unset, which means last write wins. + * Provides control over how write requests are executed. Defaults to unset, which means the last write wins. */ writeControl?: Schema$GoogleAppsDriveLabelsV2WriteControl; } @@ -661,11 +661,11 @@ export namespace drivelabels_v2 { */ languageCode?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** - * Provides control over how write requests are executed. Defaults to unset, which means last write wins. + * Provides control over how write requests are executed. Defaults to unset, which means the last write wins. */ writeControl?: Schema$GoogleAppsDriveLabelsV2WriteControl; } @@ -702,7 +702,7 @@ export namespace drivelabels_v2 { */ displayHints?: Schema$GoogleAppsDriveLabelsV2FieldDisplayHints; /** - * Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+` + * Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`. */ id?: string | null; /** @@ -714,7 +714,7 @@ export namespace drivelabels_v2 { */ lifecycle?: Schema$GoogleAppsDriveLabelsV2Lifecycle; /** - * Output only. The LockStatus of this field. + * Output only. The `LockStatus` of this field. */ lockStatus?: Schema$GoogleAppsDriveLabelsV2LockStatus; /** @@ -827,43 +827,43 @@ export namespace drivelabels_v2 { minValue?: string | null; } /** - * Field constants governing the structure of a Field; such as, the maximum title length, minimum and maximum field values or length, etc. + * Field constants governing the structure of a field; such as, the maximum title length, minimum and maximum field values or length, etc. */ export interface Schema$GoogleAppsDriveLabelsV2FieldLimits { /** - * Date Field limits. + * Date field limits. */ dateLimits?: Schema$GoogleAppsDriveLabelsV2DateLimits; /** - * Integer Field limits. + * Integer field limits. */ integerLimits?: Schema$GoogleAppsDriveLabelsV2IntegerLimits; /** - * Long text Field limits. + * Long text field limits. */ longTextLimits?: Schema$GoogleAppsDriveLabelsV2LongTextLimits; /** - * Limits for Field description, also called help text. + * Limits for field description, also called help text. */ maxDescriptionLength?: number | null; /** - * Limits for Field title. + * Limits for field title. */ maxDisplayNameLength?: number | null; /** - * Max length for the id. + * Maximum length for the id. */ maxIdLength?: number | null; /** - * Selection Field limits. + * Selection field limits. */ selectionLimits?: Schema$GoogleAppsDriveLabelsV2SelectionLimits; /** - * The relevant limits for the specified Field.Type. Text Field limits. + * The relevant limits for the specified Field.Type. Text field limits. */ textLimits?: Schema$GoogleAppsDriveLabelsV2TextLimits; /** - * User Field limits. + * User field limits. */ userLimits?: Schema$GoogleAppsDriveLabelsV2UserLimits; } @@ -964,7 +964,7 @@ export namespace drivelabels_v2 { */ lifecycle?: Schema$GoogleAppsDriveLabelsV2Lifecycle; /** - * Output only. The LockStatus of this choice. + * Output only. The `LockStatus` of this choice. */ lockStatus?: Schema$GoogleAppsDriveLabelsV2LockStatus; /** @@ -1103,15 +1103,15 @@ export namespace drivelabels_v2 { listOptions?: Schema$GoogleAppsDriveLabelsV2FieldListOptions; } /** - * Limits for integer Field type. + * Limits for integer field type. */ export interface Schema$GoogleAppsDriveLabelsV2IntegerLimits { /** - * Maximum value for an integer Field type. + * Maximum value for an integer field type. */ maxValue?: string | null; /** - * Minimum value for an integer Field type. + * Minimum value for an integer field type. */ minValue?: string | null; } @@ -1136,15 +1136,15 @@ export namespace drivelabels_v2 { */ creator?: Schema$GoogleAppsDriveLabelsV2UserInfo; /** - * Output only. The customer this label belongs to. For example: "customers/123abc789." + * Output only. The customer this label belongs to. For example: `customers/123abc789`. */ customer?: string | null; /** - * Output only. The user who disabled this label. This value has no meaning when the label is not disabled. + * Output only. The user who disabled this label. This value has no meaning when the label isn't disabled. */ disabler?: Schema$GoogleAppsDriveLabelsV2UserInfo; /** - * Output only. The time this label was disabled. This value has no meaning when the label is not disabled. + * Output only. The time this label was disabled. This value has no meaning when the label isn't disabled. */ disableTime?: string | null; /** @@ -1152,7 +1152,7 @@ export namespace drivelabels_v2 { */ displayHints?: Schema$GoogleAppsDriveLabelsV2LabelDisplayHints; /** - * Optional. The EnabledAppSettings for this Label. + * Optional. The `EnabledAppSettings` for this Label. */ enabledAppSettings?: Schema$GoogleAppsDriveLabelsV2LabelEnabledAppSettings; /** @@ -1160,7 +1160,7 @@ export namespace drivelabels_v2 { */ fields?: Schema$GoogleAppsDriveLabelsV2Field[]; /** - * Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+` + * Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`. */ id?: string | null; /** @@ -1176,7 +1176,7 @@ export namespace drivelabels_v2 { */ lifecycle?: Schema$GoogleAppsDriveLabelsV2Lifecycle; /** - * Output only. The LockStatus of this label. + * Output only. The `LockStatus` of this label. */ lockStatus?: Schema$GoogleAppsDriveLabelsV2LockStatus; /** @@ -1188,11 +1188,11 @@ export namespace drivelabels_v2 { */ properties?: Schema$GoogleAppsDriveLabelsV2LabelProperties; /** - * Output only. The user who published this label. This value has no meaning when the label is not published. + * Output only. The user who published this label. This value has no meaning when the label isn't published.\>\> */ publisher?: Schema$GoogleAppsDriveLabelsV2UserInfo; /** - * Output only. The time this label was published. This value has no meaning when the label is not published. + * Output only. The time this label was published. This value has no meaning when the label isn't published. */ publishTime?: string | null; /** @@ -1204,7 +1204,7 @@ export namespace drivelabels_v2 { */ revisionCreator?: Schema$GoogleAppsDriveLabelsV2UserInfo; /** - * Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+` + * Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`. */ revisionId?: string | null; /** @@ -1239,7 +1239,7 @@ export namespace drivelabels_v2 { copyMode?: string | null; } /** - * UI display hints for rendering the label. + * The UI display hints for rendering the label. */ export interface Schema$GoogleAppsDriveLabelsV2LabelDisplayHints { /** @@ -1251,7 +1251,7 @@ export namespace drivelabels_v2 { */ hiddenInSearch?: boolean | null; /** - * Order to display label in a list. + * The order to display labels in a list. */ priority?: string | null; /** @@ -1260,33 +1260,33 @@ export namespace drivelabels_v2 { shownInApply?: boolean | null; } /** - * Describes the Workspace apps in which the Label can be used. + * Describes the Google Workspace apps in which the label can be used. */ export interface Schema$GoogleAppsDriveLabelsV2LabelEnabledAppSettings { /** - * Optional. The list of Apps where the Label can be used. + * Optional. The list of apps where the label can be used. */ enabledApps?: Schema$GoogleAppsDriveLabelsV2LabelEnabledAppSettingsEnabledApp[]; } /** - * An App where the Label can be used. + * An app where the label can be used. */ export interface Schema$GoogleAppsDriveLabelsV2LabelEnabledAppSettingsEnabledApp { /** - * Optional. The name of the App. + * Optional. The name of the app. */ app?: string | null; } /** - * Label constraints governing the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title. + * Label constraints governing the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title. */ export interface Schema$GoogleAppsDriveLabelsV2LabelLimits { /** - * The limits for Fields. + * The limits for fields. */ fieldLimits?: Schema$GoogleAppsDriveLabelsV2FieldLimits; /** - * The maximum number of published Fields that can be deleted. + * The maximum number of published fields that can be deleted. */ maxDeletedFields?: number | null; /** @@ -1298,7 +1298,7 @@ export namespace drivelabels_v2 { */ maxDraftRevisions?: number | null; /** - * The maximum number of Fields allowed within the label. + * The maximum number of fields allowed within the label. */ maxFields?: number | null; /** @@ -1311,44 +1311,44 @@ export namespace drivelabels_v2 { name?: string | null; } /** - * A Lock that can be applied to a Label, Field, or Choice. + * A lock that can be applied to a label, field, or choice. */ export interface Schema$GoogleAppsDriveLabelsV2LabelLock { /** - * Output only. The user's capabilities on this LabelLock. + * Output only. The user's capabilities on this label lock. */ capabilities?: Schema$GoogleAppsDriveLabelsV2LabelLockCapabilities; /** - * The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present. + * The ID of the selection field choice that should be locked. If present, `field_id` must also be present. */ choiceId?: string | null; /** - * Output only. The time this LabelLock was created. + * Output only. The time this label lock was created. */ createTime?: string | null; /** - * Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock. + * Output only. The user whose credentials were used to create the label lock. Not present if no user was responsible for creating the label lock. */ creator?: Schema$GoogleAppsDriveLabelsV2UserInfo; /** - * Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state. + * Output only. A timestamp indicating when this label lock was scheduled for deletion. Present only if this label lock is in the `DELETING` state. */ deleteTime?: string | null; /** - * The ID of the Field that should be locked. Empty if the whole Label should be locked. + * The ID of the field that should be locked. Empty if the whole label should be locked. */ fieldId?: string | null; /** - * Output only. Resource name of this LabelLock. + * Output only. Resource name of this label lock. */ name?: string | null; /** - * Output only. This LabelLock's state. + * Output only. This label lock's state. */ state?: string | null; } /** - * A description of a user's capabilities on a LabelLock. + * A description of a user's capabilities on a label lock. */ export interface Schema$GoogleAppsDriveLabelsV2LabelLockCapabilities { /** @@ -1361,11 +1361,11 @@ export namespace drivelabels_v2 { */ export interface Schema$GoogleAppsDriveLabelsV2LabelPermission { /** - * Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label. + * Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the label. */ audience?: string | null; /** - * Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified. + * Specifies the email address for a user or group principal. Not populated for audience principals. User and group permissions may only be inserted using an email address. On update requests, if email address is specified, no principal should be specified. */ email?: string | null; /** @@ -1420,7 +1420,7 @@ export namespace drivelabels_v2 { canUpdate?: boolean | null; } /** - * The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -\> `PUBLISHED` * `UNPUBLISHED_DRAFT` -\> (Deleted) * `PUBLISHED` -\> `DISABLED` * `DISABLED` -\> `PUBLISHED` * `DISABLED` -\> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. + * The lifecycle state of an object, such as label, field, or choice. For more information, see [Label lifecycle](https://developers.google.com/workspace/drive/labels/guides/label-lifecycle). The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -\> `PUBLISHED` * `UNPUBLISHED_DRAFT` -\> (Deleted) * `PUBLISHED` -\> `DISABLED` * `DISABLED` -\> `PUBLISHED` * `DISABLED` -\> (Deleted) The published and disabled states have some distinct characteristics: * `Published`: Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes aren't permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * `Disabled`: When disabled, the configured `DisabledPolicy` takes effect. */ export interface Schema$GoogleAppsDriveLabelsV2Lifecycle { /** @@ -1450,11 +1450,11 @@ export namespace drivelabels_v2 { showInApply?: boolean | null; } /** - * The response to a ListLabelLocksRequest. + * The response to a `ListLabelLocksRequest`. */ export interface Schema$GoogleAppsDriveLabelsV2ListLabelLocksResponse { /** - * LabelLocks. + * Label locks. */ labelLocks?: Schema$GoogleAppsDriveLabelsV2LabelLock[]; /** @@ -1463,7 +1463,7 @@ export namespace drivelabels_v2 { nextPageToken?: string | null; } /** - * Response for listing the permissions on a Label. + * Response for listing the permissions on a label. */ export interface Schema$GoogleAppsDriveLabelsV2ListLabelPermissionsResponse { /** @@ -1476,7 +1476,7 @@ export namespace drivelabels_v2 { nextPageToken?: string | null; } /** - * Response for listing Labels. + * Response for listing labels. */ export interface Schema$GoogleAppsDriveLabelsV2ListLabelsResponse { /** @@ -1489,11 +1489,11 @@ export namespace drivelabels_v2 { nextPageToken?: string | null; } /** - * Limits for list-variant of a Field type. + * Limits for list-variant of a field type. */ export interface Schema$GoogleAppsDriveLabelsV2ListLimits { /** - * Maximum number of values allowed for the Field type. + * Maximum number of values allowed for the field type. */ maxEntries?: number | null; } @@ -1502,20 +1502,20 @@ export namespace drivelabels_v2 { */ export interface Schema$GoogleAppsDriveLabelsV2LockStatus { /** - * Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false. + * Output only. Indicates whether this label component is the (direct) target of a label lock. A label component can be implicitly locked even if it's not the direct target of a label lock, in which case this field is set to false. */ locked?: boolean | null; } /** - * Limits for long text Field type. + * Limits for long text field type. */ export interface Schema$GoogleAppsDriveLabelsV2LongTextLimits { /** - * Maximum length allowed for a long text Field type. + * Maximum length allowed for a long text field type. */ maxLength?: number | null; /** - * Minimum length allowed for a long text Field type. + * Minimum length allowed for a long text field type. */ minLength?: number | null; } @@ -1528,24 +1528,24 @@ export namespace drivelabels_v2 { */ languageCode?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** - * Provides control over how write requests are executed. Defaults to unset, which means last write wins. + * Provides control over how write requests are executed. Defaults to unset, which means the last write wins. */ writeControl?: Schema$GoogleAppsDriveLabelsV2WriteControl; } /** - * Limits for selection Field type. + * Limits for selection field type. */ export interface Schema$GoogleAppsDriveLabelsV2SelectionLimits { /** - * Limits for list-variant of a Field type. + * Limits for list-variant of a field type. */ listLimits?: Schema$GoogleAppsDriveLabelsV2ListLimits; /** - * The max number of choices. + * Maximum number of choices. */ maxChoices?: number | null; /** @@ -1557,29 +1557,29 @@ export namespace drivelabels_v2 { */ maxDisplayNameLength?: number | null; /** - * Maximum ID length for a selection options. + * Maximum ID length for a selection option. */ maxIdLength?: number | null; } /** - * Limits for text Field type. + * Limits for text field type. */ export interface Schema$GoogleAppsDriveLabelsV2TextLimits { /** - * Maximum length allowed for a text Field type. + * Maximum length allowed for a text field type. */ maxLength?: number | null; /** - * Minimum length allowed for a text Field type. + * Minimum length allowed for a text field type. */ minLength?: number | null; } /** - * Request to update the `CopyMode` of the given Label. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. \ + * Request to update the `CopyMode` of the given label. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately. \ */ export interface Schema$GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest { /** - * Required. Indicates how the applied Label, and Field values should be copied when a Drive item is copied. + * Required. Indicates how the applied label and field values should be copied when a Drive item is copied. */ copyMode?: string | null; /** @@ -1587,7 +1587,7 @@ export namespace drivelabels_v2 { */ languageCode?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** @@ -1596,11 +1596,11 @@ export namespace drivelabels_v2 { view?: string | null; } /** - * Request to update the `EnabledAppSettings` of the given Label. This change is not revisioned, does not require publishing, and takes effect immediately. \ + * Request to update the `EnabledAppSettings` of the given label. This change is not revisioned, doesn't require publishing, and takes effect immediately. \ */ export interface Schema$GoogleAppsDriveLabelsV2UpdateLabelEnabledAppSettingsRequest { /** - * Required. The new `EnabledAppSettings` value for the Label. + * Required. The new `EnabledAppSettings` value for the label. */ enabledAppSettings?: Schema$GoogleAppsDriveLabelsV2LabelEnabledAppSettings; /** @@ -1608,7 +1608,7 @@ export namespace drivelabels_v2 { */ languageCode?: string | null; /** - * Optional. Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Optional. Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** @@ -1617,19 +1617,19 @@ export namespace drivelabels_v2 { view?: string | null; } /** - * Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. */ export interface Schema$GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest { /** - * Required. The permission to create or update on the Label. + * Required. The permission to create or update on the label. */ labelPermission?: Schema$GoogleAppsDriveLabelsV2LabelPermission; /** - * Required. The parent Label resource name. + * Required. The parent label resource name. */ parent?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; } @@ -1646,11 +1646,11 @@ export namespace drivelabels_v2 { */ canAdministrateLabels?: boolean | null; /** - * Output only. Whether the user is allowed to create new admin labels. + * Output only. Whether the user is allowed to create admin labels. */ canCreateAdminLabels?: boolean | null; /** - * Output only. Whether the user is allowed to create new shared labels. + * Output only. Whether the user is allowed to create shared labels. */ canCreateSharedLabels?: boolean | null; /** @@ -1663,7 +1663,7 @@ export namespace drivelabels_v2 { */ export interface Schema$GoogleAppsDriveLabelsV2UserInfo { /** - * The identifier for this user that can be used with the People API to get more information. For example, people/12345678. + * The identifier for this user that can be used with the [People API](https://developers.google.com/people) to get more information. For example, `people/12345678`. */ person?: string | null; } @@ -1672,7 +1672,7 @@ export namespace drivelabels_v2 { */ export interface Schema$GoogleAppsDriveLabelsV2UserLimits { /** - * Limits for list-variant of a Field type. + * Limits for list-variant of a field type. */ listLimits?: Schema$GoogleAppsDriveLabelsV2ListLimits; } @@ -1681,7 +1681,7 @@ export namespace drivelabels_v2 { */ export interface Schema$GoogleAppsDriveLabelsV2WriteControl { /** - * The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. + * The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. */ requiredRevisionId?: string | null; } @@ -1741,7 +1741,7 @@ export namespace drivelabels_v2 { } /** - * Creates a new Label. + * Creates a label. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label). * @example * ```js * // Before running the sample: @@ -1774,7 +1774,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.create({ - * // The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used. + * // The BCP-47 language code to use for evaluating localized field labels in response. When not specified, values in the default configured language will be used. * languageCode: 'placeholder-value', * // Set to `true` in order to use the user's admin privileges. The server will verify the user is an admin before allowing access. * useAdminAccess: 'placeholder-value', @@ -1937,7 +1937,7 @@ export namespace drivelabels_v2 { } /** - * Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted. + * Permanently deletes a label and related metadata on Drive items. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). Once deleted, the label and related Drive item metadata will be deleted. Only draft labels and disabled labels may be deleted. * @example * ```js * // Before running the sample: @@ -1972,9 +1972,9 @@ export namespace drivelabels_v2 { * const res = await drivelabels.labels.delete({ * // Required. Label resource name. * name: 'labels/my-label', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', - * // The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. + * // The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. * 'writeControl.requiredRevisionId': 'placeholder-value', * }); * console.log(res.data); @@ -2075,7 +2075,7 @@ export namespace drivelabels_v2 { } /** - * Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items. + * Updates a single label by applying a set of update requests resulting in a new draft revision. For more information, see [Update a label](https://developers.google.com/workspace/drive/labels/guides/update-label). The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive items. * @example * ```js * // Before running the sample: @@ -2108,7 +2108,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.delta({ - * // Required. The resource name of the Label to update. + * // Required. The resource name of the label to update. * name: 'labels/my-label', * * // Request body metadata @@ -2234,7 +2234,7 @@ export namespace drivelabels_v2 { } /** - * Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`. + * Disable a published label. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). Disabling a label will result in a new disabled published revision based on the current published revision. If there's a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`. * @example * ```js * // Before running the sample: @@ -2413,7 +2413,7 @@ export namespace drivelabels_v2 { } /** - * Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled. + * Enable a disabled label and restore it to its published state. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). This will result in a new published revision based on the current disabled published revision. If there's an existing disabled draft revision, a new revision will be created based on that draft and will be enabled. * @example * ```js * // Before running the sample: @@ -2587,7 +2587,7 @@ export namespace drivelabels_v2 { } /** - * Get a label by its resource name. Resource name may be any of: * `labels/{id\}` - See `labels/{id\}@latest` * `labels/{id\}@latest` - Gets the latest revision of the label. * `labels/{id\}@published` - Gets the current published revision of the label. * `labels/{id\}@{revision_id\}` - Gets the label at the specified revision ID. + * Get a label by its resource name. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label). Resource name may be any of: * `labels/{id\}` - See `labels/{id\}@latest` * `labels/{id\}@latest` - Gets the latest revision of the label. * `labels/{id\}@published` - Gets the current published revision of the label. * `labels/{id\}@{revision_id\}` - Gets the label at the specified revision ID. * @example * ```js * // Before running the sample: @@ -2759,7 +2759,7 @@ export namespace drivelabels_v2 { } /** - * List labels. + * List labels. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label). * @example * ```js * // Before running the sample: @@ -2794,11 +2794,11 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.list({ - * // The customer to scope this list request to. For example: "customers/abcd1234". If unset, will return all labels within the current customer. + * // The customer to scope this list request to. For example: `customers/abcd1234`. If unset, will return all labels within the current customer. * customer: 'placeholder-value', * // The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used. * languageCode: 'placeholder-value', - * // Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`. + * // Specifies the level of access the user must have on the returned labels. The minimum role a user must have on a label. Defaults to `READER`. * minimumRole: 'placeholder-value', * // Maximum number of labels to return per page. Default: 50. Max: 200. * pageSize: 'placeholder-value', @@ -2806,7 +2806,7 @@ export namespace drivelabels_v2 { * pageToken: 'placeholder-value', * // Whether to include only published labels in the results. * When `true`, only the current published label revisions are returned. Disabled labels are included. Returned label resource names reference the published revision (`labels/{id\}/{revision_id\}`). * When `false`, the current label revisions are returned, which might not be published. Returned label resource names don't reference a specific revision (`labels/{id\}`). * publishedOnly: 'placeholder-value', - * // Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer. + * // Set to `true` in order to use the user's admin credentials. This will return all labels within the customer. * useAdminAccess: 'placeholder-value', * // When specified, only certain fields belonging to the indicated view are returned. * view: 'placeholder-value', @@ -2922,7 +2922,7 @@ export namespace drivelabels_v2 { } /** - * Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries. + * Publish all draft changes to the label. Once published, the label may not return to its draft state. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label). Publishing a label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. For more information, see [Label lifecycle](https://developers.google.com/workspace/drive/labels/guides/label-lifecycle). Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label will be rejected. For example, the following changes to a label will be rejected after the label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * `Field.FieldType` cannot be changed. * Changes to field validation options cannot reject something that was previously accepted. * Reducing the maximum entries. * @example * ```js * // Before running the sample: @@ -3099,7 +3099,7 @@ export namespace drivelabels_v2 { } /** - * Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. + * Updates a label's `CopyMode`. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately. * @example * ```js * // Before running the sample: @@ -3132,7 +3132,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.updateLabelCopyMode({ - * // Required. The resource name of the Label to update. + * // Required. The resource name of the label to update. * name: 'labels/my-label', * * // Request body metadata @@ -3278,7 +3278,7 @@ export namespace drivelabels_v2 { } /** - * Updates a Label's EabledAppSettings. Enabling a Label in a Workspace Application allows it to be used in that application. This change is not revisioned, does not require publishing, and takes effect immediately. + * Updates a label's `EnabledAppSettings`. Enabling a label in a Google Workspace app allows it to be used in that app. This change isn't revisioned, doesn't require publishing, and takes effect immediately. * @example * ```js * // Before running the sample: @@ -3308,7 +3308,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.updateLabelEnabledAppSettings({ - * // Required. The resource name of the Label to update. The resource name of the Label to update. + * // Required. The resource name of the label to update. The resource name of the label to update. * name: 'labels/my-label', * * // Request body metadata @@ -3453,7 +3453,7 @@ export namespace drivelabels_v2 { } /** - * Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -3486,9 +3486,9 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.updatePermissions({ - * // Required. The parent Label resource name. + * // Required. The parent label resource name. * parent: 'labels/my-label', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * * // Request body metadata @@ -3625,7 +3625,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Create extends StandardParameters { /** - * The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used. + * The BCP-47 language code to use for evaluating localized field labels in response. When not specified, values in the default configured language will be used. */ languageCode?: string; /** @@ -3644,17 +3644,17 @@ export namespace drivelabels_v2 { */ name?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; /** - * The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. + * The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. */ 'writeControl.requiredRevisionId'?: string; } export interface Params$Resource$Labels$Delta extends StandardParameters { /** - * Required. The resource name of the Label to update. + * Required. The resource name of the label to update. */ name?: string; @@ -3705,7 +3705,7 @@ export namespace drivelabels_v2 { } export interface Params$Resource$Labels$List extends StandardParameters { /** - * The customer to scope this list request to. For example: "customers/abcd1234". If unset, will return all labels within the current customer. + * The customer to scope this list request to. For example: `customers/abcd1234`. If unset, will return all labels within the current customer. */ customer?: string; /** @@ -3713,7 +3713,7 @@ export namespace drivelabels_v2 { */ languageCode?: string; /** - * Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`. + * Specifies the level of access the user must have on the returned labels. The minimum role a user must have on a label. Defaults to `READER`. */ minimumRole?: string; /** @@ -3729,7 +3729,7 @@ export namespace drivelabels_v2 { */ publishedOnly?: boolean; /** - * Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer. + * Set to `true` in order to use the user's admin credentials. This will return all labels within the customer. */ useAdminAccess?: boolean; /** @@ -3751,7 +3751,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Updatelabelcopymode extends StandardParameters { /** - * Required. The resource name of the Label to update. + * Required. The resource name of the label to update. */ name?: string; @@ -3763,7 +3763,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Updatelabelenabledappsettings extends StandardParameters { /** - * Required. The resource name of the Label to update. The resource name of the Label to update. + * Required. The resource name of the label to update. The resource name of the label to update. */ name?: string; @@ -3775,11 +3775,11 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Updatepermissions extends StandardParameters { /** - * Required. The parent Label resource name. + * Required. The parent label resource name. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; @@ -3796,7 +3796,7 @@ export namespace drivelabels_v2 { } /** - * Lists the LabelLocks on a Label. + * Lists the label locks on a label. * @example * ```js * // Before running the sample: @@ -3831,11 +3831,11 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.locks.list({ - * // Maximum number of Locks to return per page. Default: 100. Max: 200. + * // Maximum number of locks to return per page. Default: 100. Max: 200. * pageSize: 'placeholder-value', * // The token of the page to return. * pageToken: 'placeholder-value', - * // Required. Label on which Locks are applied. Format: labels/{label\} + * // Required. Label on which locks are applied. Format: `labels/{label\}`. * parent: 'labels/my-label', * }); * console.log(res.data); @@ -3956,7 +3956,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Locks$List extends StandardParameters { /** - * Maximum number of Locks to return per page. Default: 100. Max: 200. + * Maximum number of locks to return per page. Default: 100. Max: 200. */ pageSize?: number; /** @@ -3964,7 +3964,7 @@ export namespace drivelabels_v2 { */ pageToken?: string; /** - * Required. Label on which Locks are applied. Format: labels/{label\} + * Required. Label on which locks are applied. Format: `labels/{label\}`. */ parent?: string; } @@ -3976,7 +3976,7 @@ export namespace drivelabels_v2 { } /** - * Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4009,7 +4009,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.permissions.batchDelete({ - * // Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * // Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. * parent: 'labels/my-label', * * // Request body metadata @@ -4125,7 +4125,7 @@ export namespace drivelabels_v2 { } /** - * Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4158,7 +4158,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.permissions.batchUpdate({ - * // Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * // Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. * parent: 'labels/my-label', * * // Request body metadata @@ -4284,7 +4284,7 @@ export namespace drivelabels_v2 { } /** - * Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4317,9 +4317,9 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.permissions.create({ - * // Required. The parent Label resource name on the Label Permission is created. Format: labels/{label\} + * // Required. The parent label resource name on the label permission is created. Format: `labels/{label\}`. * parent: 'labels/my-label', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * * // Request body metadata @@ -4454,7 +4454,7 @@ export namespace drivelabels_v2 { } /** - * Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4487,9 +4487,9 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.permissions.delete({ - * // Required. Label Permission resource name. + * // Required. Label permission resource name. * name: 'labels/my-label/permissions/my-permission', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * }); * console.log(res.data); @@ -4591,7 +4591,7 @@ export namespace drivelabels_v2 { } /** - * Lists a Label's permissions. + * Lists a label's permissions. * @example * ```js * // Before running the sample: @@ -4630,9 +4630,9 @@ export namespace drivelabels_v2 { * pageSize: 'placeholder-value', * // The token of the page to return. * pageToken: 'placeholder-value', - * // Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label\} + * // Required. The parent label resource name on which label permissions are listed. Format: `labels/{label\}`. * parent: 'labels/my-label', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * }); * console.log(res.data); @@ -4753,7 +4753,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Permissions$Batchdelete extends StandardParameters { /** - * Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ parent?: string; @@ -4765,7 +4765,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Permissions$Batchupdate extends StandardParameters { /** - * Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ parent?: string; @@ -4777,11 +4777,11 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Permissions$Create extends StandardParameters { /** - * Required. The parent Label resource name on the Label Permission is created. Format: labels/{label\} + * Required. The parent label resource name on the label permission is created. Format: `labels/{label\}`. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; @@ -4793,11 +4793,11 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Permissions$Delete extends StandardParameters { /** - * Required. Label Permission resource name. + * Required. Label permission resource name. */ name?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; } @@ -4812,11 +4812,11 @@ export namespace drivelabels_v2 { */ pageToken?: string; /** - * Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label\} + * Required. The parent label resource name on which label permissions are listed. Format: `labels/{label\}`. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; } @@ -4834,7 +4834,7 @@ export namespace drivelabels_v2 { } /** - * Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4867,9 +4867,9 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.revisions.updatePermissions({ - * // Required. The parent Label resource name. + * // Required. The parent label resource name. * parent: 'labels/my-label/revisions/my-revision', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * * // Request body metadata @@ -5007,11 +5007,11 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Revisions$Updatepermissions extends StandardParameters { /** - * Required. The parent Label resource name. + * Required. The parent label resource name. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; @@ -5028,7 +5028,7 @@ export namespace drivelabels_v2 { } /** - * Lists the LabelLocks on a Label. + * Lists the label locks on a label. * @example * ```js * // Before running the sample: @@ -5063,11 +5063,11 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.revisions.locks.list({ - * // Maximum number of Locks to return per page. Default: 100. Max: 200. + * // Maximum number of locks to return per page. Default: 100. Max: 200. * pageSize: 'placeholder-value', * // The token of the page to return. * pageToken: 'placeholder-value', - * // Required. Label on which Locks are applied. Format: labels/{label\} + * // Required. Label on which locks are applied. Format: `labels/{label\}`. * parent: 'labels/my-label/revisions/my-revision', * }); * console.log(res.data); @@ -5188,7 +5188,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Revisions$Locks$List extends StandardParameters { /** - * Maximum number of Locks to return per page. Default: 100. Max: 200. + * Maximum number of locks to return per page. Default: 100. Max: 200. */ pageSize?: number; /** @@ -5196,7 +5196,7 @@ export namespace drivelabels_v2 { */ pageToken?: string; /** - * Required. Label on which Locks are applied. Format: labels/{label\} + * Required. Label on which locks are applied. Format: `labels/{label\}`. */ parent?: string; } @@ -5208,7 +5208,7 @@ export namespace drivelabels_v2 { } /** - * Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -5241,7 +5241,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.revisions.permissions.batchDelete({ - * // Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * // Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. * parent: 'labels/my-label/revisions/my-revision', * * // Request body metadata @@ -5357,7 +5357,7 @@ export namespace drivelabels_v2 { } /** - * Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -5390,7 +5390,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.revisions.permissions.batchUpdate({ - * // Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * // Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. * parent: 'labels/my-label/revisions/my-revision', * * // Request body metadata @@ -5516,7 +5516,7 @@ export namespace drivelabels_v2 { } /** - * Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -5549,9 +5549,9 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.revisions.permissions.create({ - * // Required. The parent Label resource name on the Label Permission is created. Format: labels/{label\} + * // Required. The parent label resource name on the label permission is created. Format: `labels/{label\}`. * parent: 'labels/my-label/revisions/my-revision', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * * // Request body metadata @@ -5686,7 +5686,7 @@ export namespace drivelabels_v2 { } /** - * Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -5719,9 +5719,9 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.labels.revisions.permissions.delete({ - * // Required. Label Permission resource name. + * // Required. Label permission resource name. * name: 'labels/my-label/revisions/my-revision/permissions/my-permission', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * }); * console.log(res.data); @@ -5823,7 +5823,7 @@ export namespace drivelabels_v2 { } /** - * Lists a Label's permissions. + * Lists a label's permissions. * @example * ```js * // Before running the sample: @@ -5862,9 +5862,9 @@ export namespace drivelabels_v2 { * pageSize: 'placeholder-value', * // The token of the page to return. * pageToken: 'placeholder-value', - * // Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label\} + * // Required. The parent label resource name on which label permissions are listed. Format: `labels/{label\}`. * parent: 'labels/my-label/revisions/my-revision', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * }); * console.log(res.data); @@ -5985,7 +5985,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Revisions$Permissions$Batchdelete extends StandardParameters { /** - * Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ parent?: string; @@ -5997,7 +5997,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Revisions$Permissions$Batchupdate extends StandardParameters { /** - * Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ parent?: string; @@ -6009,11 +6009,11 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Revisions$Permissions$Create extends StandardParameters { /** - * Required. The parent Label resource name on the Label Permission is created. Format: labels/{label\} + * Required. The parent label resource name on the label permission is created. Format: `labels/{label\}`. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; @@ -6025,11 +6025,11 @@ export namespace drivelabels_v2 { export interface Params$Resource$Labels$Revisions$Permissions$Delete extends StandardParameters { /** - * Required. Label Permission resource name. + * Required. Label permission resource name. */ name?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; } @@ -6044,11 +6044,11 @@ export namespace drivelabels_v2 { */ pageToken?: string; /** - * Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label\} + * Required. The parent label resource name on which label permissions are listed. Format: `labels/{label\}`. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; } @@ -6060,7 +6060,7 @@ export namespace drivelabels_v2 { } /** - * Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title. + * Get the constraints on the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title. * @example * ```js * // Before running the sample: @@ -6095,7 +6095,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.limits.getLabel({ - * // Required. Label revision resource name Must be: "limits/label" + * // Required. Label revision resource name must be: "limits/label". * name: 'placeholder-value', * }); * console.log(res.data); @@ -6216,7 +6216,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Limits$Getlabel extends StandardParameters { /** - * Required. Label revision resource name Must be: "limits/label" + * Required. Label revision resource name must be: "limits/label". */ name?: string; } @@ -6263,7 +6263,7 @@ export namespace drivelabels_v2 { * * // Do the magic * const res = await drivelabels.users.getCapabilities({ - * // The customer to scope this request to. For example: "customers/abcd1234". If unset, will return settings within the current customer. + * // The customer to scope this request to. For example: `customers/abcd1234`. If unset, it will return settings within the current customer. * customer: 'placeholder-value', * // Required. The resource name of the user. Only "users/me/capabilities" is supported. * name: 'users/my-user/capabilities', @@ -6386,7 +6386,7 @@ export namespace drivelabels_v2 { export interface Params$Resource$Users$Getcapabilities extends StandardParameters { /** - * The customer to scope this request to. For example: "customers/abcd1234". If unset, will return settings within the current customer. + * The customer to scope this request to. For example: `customers/abcd1234`. If unset, it will return settings within the current customer. */ customer?: string; /** diff --git a/src/apis/drivelabels/v2beta.ts b/src/apis/drivelabels/v2beta.ts index c8eab604b6..2b9420807b 100644 --- a/src/apis/drivelabels/v2beta.ts +++ b/src/apis/drivelabels/v2beta.ts @@ -159,7 +159,7 @@ export namespace drivelabels_v2beta { priorityOverride?: string | null; } /** - * Deletes one of more Label Permissions. + * Deletes one or more label permissions. */ export interface Schema$GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest { /** @@ -167,12 +167,12 @@ export namespace drivelabels_v2beta { */ requests?: Schema$GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest[]; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. If this is set, the `use_admin_access` field in the `DeleteLabelPermissionRequest` messages must either be empty or match this field. */ useAdminAccess?: boolean | null; } /** - * Updates one or more Label Permissions. + * Updates one or more label permissions. */ export interface Schema$GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest { /** @@ -180,12 +180,12 @@ export namespace drivelabels_v2beta { */ requests?: Schema$GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest[]; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. If this is set, the `use_admin_access` field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ useAdminAccess?: boolean | null; } /** - * Response for updating one or more Label Permissions. + * Response for updating one or more label permissions. */ export interface Schema$GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse { /** @@ -194,45 +194,45 @@ export namespace drivelabels_v2beta { permissions?: Schema$GoogleAppsDriveLabelsV2betaLabelPermission[]; } /** - * Limits for date Field type. + * Limits for date field type. */ export interface Schema$GoogleAppsDriveLabelsV2betaDateLimits { /** - * Maximum value for the date Field type. + * Maximum value for the date field type. */ maxValue?: Schema$GoogleTypeDate; /** - * Minimum value for the date Field type. + * Minimum value for the date field type. */ minValue?: Schema$GoogleTypeDate; } /** - * Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes a label permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest { /** - * Required. Label Permission resource name. + * Required. Label permission resource name. */ name?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; } /** - * The set of requests for updating aspects of a Label. If any request is not valid, no requests will be applied. + * The set of requests for updating aspects of a label. If any request isn't valid, no requests will be applied. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest { /** - * The BCP-47 language code to use for evaluating localized Field labels when `include_label_in_response` is `true`. + * The BCP-47 language code to use for evaluating localized field labels when `include_label_in_response` is `true`. */ languageCode?: string | null; /** - * A list of updates to apply to the Label. Requests will be applied in the order they are specified. + * A list of updates to apply to the label. Requests will be applied in the order they are specified. */ requests?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest[]; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** @@ -245,7 +245,7 @@ export namespace drivelabels_v2beta { writeControl?: Schema$GoogleAppsDriveLabelsV2betaWriteControl; } /** - * Request to create a Field within a Label. + * Request to create a field within a label. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest { /** @@ -254,33 +254,33 @@ export namespace drivelabels_v2beta { field?: Schema$GoogleAppsDriveLabelsV2betaField; } /** - * Request to create a Selection Choice. + * Request to create a selection choice. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest { /** - * Required. The Choice to create. + * Required. The choice to create. */ choice?: Schema$GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice; /** - * Required. The Selection Field in which a Choice will be created. + * Required. The selection field in which a choice will be created. */ fieldId?: string | null; } /** - * Request to delete the Field. + * Request to delete the field. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest { /** - * Required. ID of the Field to delete. + * Required. ID of the field to delete. */ id?: string | null; } /** - * Request to delete a Choice. + * Request to delete a choice. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest { /** - * Required. The Selection Field from which a Choice will be deleted. + * Required. The selection field from which a choice will be deleted. */ fieldId?: string | null; /** @@ -289,24 +289,24 @@ export namespace drivelabels_v2beta { id?: string | null; } /** - * Request to disable the Field. + * Request to disable the field. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest { /** - * Required. Field Disabled Policy. + * Required. Field disabled policy. */ disabledPolicy?: Schema$GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy; /** - * Required. Key of the Field to disable. + * Required. Key of the field to disable. */ id?: string | null; /** - * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Request to disable a Choice. + * Request to disable a choice. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest { /** @@ -314,7 +314,7 @@ export namespace drivelabels_v2beta { */ disabledPolicy?: Schema$GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy; /** - * Required. The Selection Field in which a Choice will be disabled. + * Required. The selection field in which a choice will be disabled. */ fieldId?: string | null; /** @@ -322,25 +322,25 @@ export namespace drivelabels_v2beta { */ id?: string | null; /** - * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Request to enable the Field. + * Request to enable the field. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest { /** - * Required. ID of the Field to enable. + * Required. ID of the field to enable. */ id?: string | null; } /** - * Request to enable a Choice. + * Request to enable a choice. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest { /** - * Required. The Selection Field in which a Choice will be enabled. + * Required. The selection field in which a choice will be enabled. */ fieldId?: string | null; /** @@ -349,77 +349,77 @@ export namespace drivelabels_v2beta { id?: string | null; } /** - * A single kind of update to apply to a Label. + * A single kind of update to apply to a label. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest { /** - * Creates a new Field. + * Creates a field. */ createField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest; /** - * Creates Choice within a Selection field. + * Create a choice within a selection field. */ createSelectionChoice?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest; /** - * Deletes a Field from the label. + * Deletes a field from the label. */ deleteField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest; /** - * Delete a Choice within a Selection Field. + * Delete a choice within a selection field. */ deleteSelectionChoice?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest; /** - * Disables the Field. + * Disables the field. */ disableField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest; /** - * Disable a Choice within a Selection Field. + * Disable a choice within a selection field. */ disableSelectionChoice?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest; /** - * Enables the Field. + * Enables the field. */ enableField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest; /** - * Enable a Choice within a Selection Field. + * Enable a choice within a selection field. */ enableSelectionChoice?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest; /** - * Updates basic properties of a Field. + * Updates basic properties of a field. */ updateField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest; /** - * Update Field type and/or type options. + * Update field type and/or type options. */ updateFieldType?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest; /** - * Updates the Label properties. + * Updates the label properties. */ updateLabel?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest; /** - * Update a Choice properties within a Selection Field. + * Update a choice property within a selection field. */ updateSelectionChoiceProperties?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest; } /** - * Request to update Field properties. + * Request to update field properties. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest { /** - * Required. The Field to update. + * Required. The field to update. */ id?: string | null; /** - * Required. Basic Field properties. + * Required. Basic field properties. */ properties?: Schema$GoogleAppsDriveLabelsV2betaFieldProperties; /** - * The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Request to change the type of a Field. + * Request to change the type of a field. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest { /** @@ -427,7 +427,7 @@ export namespace drivelabels_v2beta { */ dateOptions?: Schema$GoogleAppsDriveLabelsV2betaFieldDateOptions; /** - * Required. The Field to update. + * Required. The field to update. */ id?: string | null; /** @@ -443,7 +443,7 @@ export namespace drivelabels_v2beta { */ textOptions?: Schema$GoogleAppsDriveLabelsV2betaFieldTextOptions; /** - * The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; /** @@ -452,7 +452,7 @@ export namespace drivelabels_v2beta { userOptions?: Schema$GoogleAppsDriveLabelsV2betaFieldUserOptions; } /** - * Updates basic properties of a Label. + * Updates basic properties of a label. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest { /** @@ -460,33 +460,33 @@ export namespace drivelabels_v2beta { */ properties?: Schema$GoogleAppsDriveLabelsV2betaLabelProperties; /** - * The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Request to update a Choice properties. + * Request to update a choice property. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest { /** - * Required. The Selection Field to update. + * Required. The selection field to update. */ fieldId?: string | null; /** - * Required. The Choice to update. + * Required. The choice to update. */ id?: string | null; /** - * Required. The Choice properties to update. + * Required. The choice properties to update. */ properties?: Schema$GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties; /** - * The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; } /** - * Response for Label update. + * Response for label update. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse { /** @@ -494,12 +494,12 @@ export namespace drivelabels_v2beta { */ responses?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse[]; /** - * The label after updates were applied. This is only set if [BatchUpdateLabelResponse2.include_label_in_response] is `true` and there were no errors. + * The label after updates were applied. This is only set if `include_label_in_response` is `true` and there were no errors. */ updatedLabel?: Schema$GoogleAppsDriveLabelsV2betaLabel; } /** - * Response following Field create. + * Response following field create. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse { /** @@ -512,40 +512,40 @@ export namespace drivelabels_v2beta { priority?: number | null; } /** - * Response following Selection Choice create. + * Response following selection choice create. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse { /** - * The server-generated id of the field. + * The server-generated ID of the field. */ fieldId?: string | null; /** - * The server-generated ID of the created choice within the Field + * The server-generated ID of the created choice within the field. */ id?: string | null; } /** - * Response following Field delete. + * Response following field delete. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse {} /** - * Response following Choice delete. + * Response following choice delete. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse {} /** - * Response following Field disable. + * Response following field disable. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse {} /** - * Response following Choice disable. + * Response following choice disable. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse {} /** - * Response following Field enable. + * Response following field enable. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse {} /** - * Response following Choice enable. + * Response following choice enable. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse {} /** @@ -553,56 +553,56 @@ export namespace drivelabels_v2beta { */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse { /** - * Creates a new Field. + * Creates a field. */ createField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse; /** - * Creates a new selection list option to add to a Selection Field. + * Creates a selection list option to add to a selection field. */ createSelectionChoice?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse; /** - * Deletes a Field from the label. + * Deletes a field from the label. */ deleteField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse; /** - * Deletes a Choice from a Selection Field. + * Deletes a choice from a selection field. */ deleteSelectionChoice?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse; /** - * Disables Field. + * Disables field. */ disableField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse; /** - * Disables a Choice within a Selection Field. + * Disables a choice within a selection field. */ disableSelectionChoice?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse; /** - * Enables Field. + * Enables field. */ enableField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse; /** - * Enables a Choice within a Selection Field. + * Enables a choice within a selection field. */ enableSelectionChoice?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse; /** - * Updates basic properties of a Field. + * Updates basic properties of a field. */ updateField?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse; /** - * Update Field type and/or type options. + * Updates field type and/or type options. */ updateFieldType?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse; /** - * Updated basic properties of a Label. + * Updates basic properties of a label. */ updateLabel?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse; /** - * Updates a Choice within a Selection Field. + * Updates a choice within a selection field. */ updateSelectionChoiceProperties?: Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse; } /** - * Response following update to Field properties. + * Response following update to field properties. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse { /** @@ -611,15 +611,15 @@ export namespace drivelabels_v2beta { priority?: number | null; } /** - * Response following update to Field type. + * Response following update to field type. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse {} /** - * Response following update to Label properties. + * Response following update to label properties. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse {} /** - * Response following update to Selection Choice properties. + * Response following update to selection choice properties. */ export interface Schema$GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse { /** @@ -628,7 +628,7 @@ export namespace drivelabels_v2beta { priority?: number | null; } /** - * Request to deprecate a published Label. + * Request to deprecate a published label. */ export interface Schema$GoogleAppsDriveLabelsV2betaDisableLabelRequest { /** @@ -640,15 +640,15 @@ export namespace drivelabels_v2beta { */ languageCode?: string | null; /** - * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field. + * The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as a short-hand for updating every field. */ updateMask?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** - * Provides control over how write requests are executed. Defaults to unset, which means last write wins. + * Provides control over how write requests are executed. Defaults to unset, which means the last write wins. */ writeControl?: Schema$GoogleAppsDriveLabelsV2betaWriteControl; } @@ -661,11 +661,11 @@ export namespace drivelabels_v2beta { */ languageCode?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** - * Provides control over how write requests are executed. Defaults to unset, which means last write wins. + * Provides control over how write requests are executed. Defaults to unset, which means the last write wins. */ writeControl?: Schema$GoogleAppsDriveLabelsV2betaWriteControl; } @@ -702,7 +702,7 @@ export namespace drivelabels_v2beta { */ displayHints?: Schema$GoogleAppsDriveLabelsV2betaFieldDisplayHints; /** - * Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+` + * Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`. */ id?: string | null; /** @@ -714,7 +714,7 @@ export namespace drivelabels_v2beta { */ lifecycle?: Schema$GoogleAppsDriveLabelsV2betaLifecycle; /** - * Output only. The LockStatus of this field. + * Output only. The `LockStatus` of this field. */ lockStatus?: Schema$GoogleAppsDriveLabelsV2betaLockStatus; /** @@ -827,43 +827,43 @@ export namespace drivelabels_v2beta { minValue?: string | null; } /** - * Field constants governing the structure of a Field; such as, the maximum title length, minimum and maximum field values or length, etc. + * Field constants governing the structure of a field; such as, the maximum title length, minimum and maximum field values or length, etc. */ export interface Schema$GoogleAppsDriveLabelsV2betaFieldLimits { /** - * Date Field limits. + * Date field limits. */ dateLimits?: Schema$GoogleAppsDriveLabelsV2betaDateLimits; /** - * Integer Field limits. + * Integer field limits. */ integerLimits?: Schema$GoogleAppsDriveLabelsV2betaIntegerLimits; /** - * Long text Field limits. + * Long text field limits. */ longTextLimits?: Schema$GoogleAppsDriveLabelsV2betaLongTextLimits; /** - * Limits for Field description, also called help text. + * Limits for field description, also called help text. */ maxDescriptionLength?: number | null; /** - * Limits for Field title. + * Limits for field title. */ maxDisplayNameLength?: number | null; /** - * Max length for the id. + * Maximum length for the id. */ maxIdLength?: number | null; /** - * Selection Field limits. + * Selection field limits. */ selectionLimits?: Schema$GoogleAppsDriveLabelsV2betaSelectionLimits; /** - * The relevant limits for the specified Field.Type. Text Field limits. + * The relevant limits for the specified Field.Type. Text field limits. */ textLimits?: Schema$GoogleAppsDriveLabelsV2betaTextLimits; /** - * User Field limits. + * User field limits. */ userLimits?: Schema$GoogleAppsDriveLabelsV2betaUserLimits; } @@ -964,7 +964,7 @@ export namespace drivelabels_v2beta { */ lifecycle?: Schema$GoogleAppsDriveLabelsV2betaLifecycle; /** - * Output only. The LockStatus of this choice. + * Output only. The `LockStatus` of this choice. */ lockStatus?: Schema$GoogleAppsDriveLabelsV2betaLockStatus; /** @@ -1103,15 +1103,15 @@ export namespace drivelabels_v2beta { listOptions?: Schema$GoogleAppsDriveLabelsV2betaFieldListOptions; } /** - * Limits for integer Field type. + * Limits for integer field type. */ export interface Schema$GoogleAppsDriveLabelsV2betaIntegerLimits { /** - * Maximum value for an integer Field type. + * Maximum value for an integer field type. */ maxValue?: string | null; /** - * Minimum value for an integer Field type. + * Minimum value for an integer field type. */ minValue?: string | null; } @@ -1136,15 +1136,15 @@ export namespace drivelabels_v2beta { */ creator?: Schema$GoogleAppsDriveLabelsV2betaUserInfo; /** - * Output only. The customer this label belongs to. For example: "customers/123abc789." + * Output only. The customer this label belongs to. For example: `customers/123abc789`. */ customer?: string | null; /** - * Output only. The user who disabled this label. This value has no meaning when the label is not disabled. + * Output only. The user who disabled this label. This value has no meaning when the label isn't disabled. */ disabler?: Schema$GoogleAppsDriveLabelsV2betaUserInfo; /** - * Output only. The time this label was disabled. This value has no meaning when the label is not disabled. + * Output only. The time this label was disabled. This value has no meaning when the label isn't disabled. */ disableTime?: string | null; /** @@ -1152,7 +1152,7 @@ export namespace drivelabels_v2beta { */ displayHints?: Schema$GoogleAppsDriveLabelsV2betaLabelDisplayHints; /** - * Optional. The EnabledAppSettings for this Label. + * Optional. The `EnabledAppSettings` for this Label. */ enabledAppSettings?: Schema$GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings; /** @@ -1160,7 +1160,7 @@ export namespace drivelabels_v2beta { */ fields?: Schema$GoogleAppsDriveLabelsV2betaField[]; /** - * Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+` + * Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`. */ id?: string | null; /** @@ -1176,7 +1176,7 @@ export namespace drivelabels_v2beta { */ lifecycle?: Schema$GoogleAppsDriveLabelsV2betaLifecycle; /** - * Output only. The LockStatus of this label. + * Output only. The `LockStatus` of this label. */ lockStatus?: Schema$GoogleAppsDriveLabelsV2betaLockStatus; /** @@ -1188,11 +1188,11 @@ export namespace drivelabels_v2beta { */ properties?: Schema$GoogleAppsDriveLabelsV2betaLabelProperties; /** - * Output only. The user who published this label. This value has no meaning when the label is not published. + * Output only. The user who published this label. This value has no meaning when the label isn't published.\>\> */ publisher?: Schema$GoogleAppsDriveLabelsV2betaUserInfo; /** - * Output only. The time this label was published. This value has no meaning when the label is not published. + * Output only. The time this label was published. This value has no meaning when the label isn't published. */ publishTime?: string | null; /** @@ -1204,7 +1204,7 @@ export namespace drivelabels_v2beta { */ revisionCreator?: Schema$GoogleAppsDriveLabelsV2betaUserInfo; /** - * Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+` + * Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`. */ revisionId?: string | null; /** @@ -1239,7 +1239,7 @@ export namespace drivelabels_v2beta { copyMode?: string | null; } /** - * UI display hints for rendering the label. + * The UI display hints for rendering the label. */ export interface Schema$GoogleAppsDriveLabelsV2betaLabelDisplayHints { /** @@ -1251,7 +1251,7 @@ export namespace drivelabels_v2beta { */ hiddenInSearch?: boolean | null; /** - * Order to display label in a list. + * The order to display labels in a list. */ priority?: string | null; /** @@ -1260,33 +1260,33 @@ export namespace drivelabels_v2beta { shownInApply?: boolean | null; } /** - * Describes the Workspace apps in which the Label can be used. + * Describes the Google Workspace apps in which the label can be used. */ export interface Schema$GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings { /** - * Optional. The list of Apps where the Label can be used. + * Optional. The list of apps where the label can be used. */ enabledApps?: Schema$GoogleAppsDriveLabelsV2betaLabelEnabledAppSettingsEnabledApp[]; } /** - * An App where the Label can be used. + * An app where the label can be used. */ export interface Schema$GoogleAppsDriveLabelsV2betaLabelEnabledAppSettingsEnabledApp { /** - * Optional. The name of the App. + * Optional. The name of the app. */ app?: string | null; } /** - * Label constraints governing the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title. + * Label constraints governing the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title. */ export interface Schema$GoogleAppsDriveLabelsV2betaLabelLimits { /** - * The limits for Fields. + * The limits for fields. */ fieldLimits?: Schema$GoogleAppsDriveLabelsV2betaFieldLimits; /** - * The maximum number of published Fields that can be deleted. + * The maximum number of published fields that can be deleted. */ maxDeletedFields?: number | null; /** @@ -1298,7 +1298,7 @@ export namespace drivelabels_v2beta { */ maxDraftRevisions?: number | null; /** - * The maximum number of Fields allowed within the label. + * The maximum number of fields allowed within the label. */ maxFields?: number | null; /** @@ -1311,44 +1311,44 @@ export namespace drivelabels_v2beta { name?: string | null; } /** - * A Lock that can be applied to a Label, Field, or Choice. + * A lock that can be applied to a label, field, or choice. */ export interface Schema$GoogleAppsDriveLabelsV2betaLabelLock { /** - * Output only. The user's capabilities on this LabelLock. + * Output only. The user's capabilities on this label lock. */ capabilities?: Schema$GoogleAppsDriveLabelsV2betaLabelLockCapabilities; /** - * The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present. + * The ID of the selection field choice that should be locked. If present, `field_id` must also be present. */ choiceId?: string | null; /** - * Output only. The time this LabelLock was created. + * Output only. The time this label lock was created. */ createTime?: string | null; /** - * Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock. + * Output only. The user whose credentials were used to create the label lock. Not present if no user was responsible for creating the label lock. */ creator?: Schema$GoogleAppsDriveLabelsV2betaUserInfo; /** - * Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state. + * Output only. A timestamp indicating when this label lock was scheduled for deletion. Present only if this label lock is in the `DELETING` state. */ deleteTime?: string | null; /** - * The ID of the Field that should be locked. Empty if the whole Label should be locked. + * The ID of the field that should be locked. Empty if the whole label should be locked. */ fieldId?: string | null; /** - * Output only. Resource name of this LabelLock. + * Output only. Resource name of this label lock. */ name?: string | null; /** - * Output only. This LabelLock's state. + * Output only. This label lock's state. */ state?: string | null; } /** - * A description of a user's capabilities on a LabelLock. + * A description of a user's capabilities on a label lock. */ export interface Schema$GoogleAppsDriveLabelsV2betaLabelLockCapabilities { /** @@ -1361,11 +1361,11 @@ export namespace drivelabels_v2beta { */ export interface Schema$GoogleAppsDriveLabelsV2betaLabelPermission { /** - * Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label. + * Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the label. */ audience?: string | null; /** - * Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified. + * Specifies the email address for a user or group principal. Not populated for audience principals. User and group permissions may only be inserted using an email address. On update requests, if email address is specified, no principal should be specified. */ email?: string | null; /** @@ -1420,7 +1420,7 @@ export namespace drivelabels_v2beta { canUpdate?: boolean | null; } /** - * The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -\> `PUBLISHED` * `UNPUBLISHED_DRAFT` -\> (Deleted) * `PUBLISHED` -\> `DISABLED` * `DISABLED` -\> `PUBLISHED` * `DISABLED` -\> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. + * The lifecycle state of an object, such as label, field, or choice. For more information, see [Label lifecycle](https://developers.google.com/workspace/drive/labels/guides/label-lifecycle). The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -\> `PUBLISHED` * `UNPUBLISHED_DRAFT` -\> (Deleted) * `PUBLISHED` -\> `DISABLED` * `DISABLED` -\> `PUBLISHED` * `DISABLED` -\> (Deleted) The published and disabled states have some distinct characteristics: * `Published`: Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes aren't permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * `Disabled`: When disabled, the configured `DisabledPolicy` takes effect. */ export interface Schema$GoogleAppsDriveLabelsV2betaLifecycle { /** @@ -1450,11 +1450,11 @@ export namespace drivelabels_v2beta { showInApply?: boolean | null; } /** - * The response to a ListLabelLocksRequest. + * The response to a `ListLabelLocksRequest`. */ export interface Schema$GoogleAppsDriveLabelsV2betaListLabelLocksResponse { /** - * LabelLocks. + * Label locks. */ labelLocks?: Schema$GoogleAppsDriveLabelsV2betaLabelLock[]; /** @@ -1463,7 +1463,7 @@ export namespace drivelabels_v2beta { nextPageToken?: string | null; } /** - * Response for listing the permissions on a Label. + * Response for listing the permissions on a label. */ export interface Schema$GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse { /** @@ -1476,7 +1476,7 @@ export namespace drivelabels_v2beta { nextPageToken?: string | null; } /** - * Response for listing Labels. + * Response for listing labels. */ export interface Schema$GoogleAppsDriveLabelsV2betaListLabelsResponse { /** @@ -1489,11 +1489,11 @@ export namespace drivelabels_v2beta { nextPageToken?: string | null; } /** - * Limits for list-variant of a Field type. + * Limits for list-variant of a field type. */ export interface Schema$GoogleAppsDriveLabelsV2betaListLimits { /** - * Maximum number of values allowed for the Field type. + * Maximum number of values allowed for the field type. */ maxEntries?: number | null; } @@ -1502,20 +1502,20 @@ export namespace drivelabels_v2beta { */ export interface Schema$GoogleAppsDriveLabelsV2betaLockStatus { /** - * Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false. + * Output only. Indicates whether this label component is the (direct) target of a label lock. A label component can be implicitly locked even if it's not the direct target of a label lock, in which case this field is set to false. */ locked?: boolean | null; } /** - * Limits for long text Field type. + * Limits for long text field type. */ export interface Schema$GoogleAppsDriveLabelsV2betaLongTextLimits { /** - * Maximum length allowed for a long text Field type. + * Maximum length allowed for a long text field type. */ maxLength?: number | null; /** - * Minimum length allowed for a long text Field type. + * Minimum length allowed for a long text field type. */ minLength?: number | null; } @@ -1528,24 +1528,24 @@ export namespace drivelabels_v2beta { */ languageCode?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** - * Provides control over how write requests are executed. Defaults to unset, which means last write wins. + * Provides control over how write requests are executed. Defaults to unset, which means the last write wins. */ writeControl?: Schema$GoogleAppsDriveLabelsV2betaWriteControl; } /** - * Limits for selection Field type. + * Limits for selection field type. */ export interface Schema$GoogleAppsDriveLabelsV2betaSelectionLimits { /** - * Limits for list-variant of a Field type. + * Limits for list-variant of a field type. */ listLimits?: Schema$GoogleAppsDriveLabelsV2betaListLimits; /** - * The max number of choices. + * Maximum number of choices. */ maxChoices?: number | null; /** @@ -1557,29 +1557,29 @@ export namespace drivelabels_v2beta { */ maxDisplayNameLength?: number | null; /** - * Maximum ID length for a selection options. + * Maximum ID length for a selection option. */ maxIdLength?: number | null; } /** - * Limits for text Field type. + * Limits for text field type. */ export interface Schema$GoogleAppsDriveLabelsV2betaTextLimits { /** - * Maximum length allowed for a text Field type. + * Maximum length allowed for a text field type. */ maxLength?: number | null; /** - * Minimum length allowed for a text Field type. + * Minimum length allowed for a text field type. */ minLength?: number | null; } /** - * Request to update the `CopyMode` of the given Label. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. \ + * Request to update the `CopyMode` of the given label. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately. \ */ export interface Schema$GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest { /** - * Required. Indicates how the applied Label, and Field values should be copied when a Drive item is copied. + * Required. Indicates how the applied label and field values should be copied when a Drive item is copied. */ copyMode?: string | null; /** @@ -1587,7 +1587,7 @@ export namespace drivelabels_v2beta { */ languageCode?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** @@ -1596,11 +1596,11 @@ export namespace drivelabels_v2beta { view?: string | null; } /** - * Request to update the `EnabledAppSettings` of the given Label. This change is not revisioned, does not require publishing, and takes effect immediately. \ + * Request to update the `EnabledAppSettings` of the given label. This change is not revisioned, doesn't require publishing, and takes effect immediately. \ */ export interface Schema$GoogleAppsDriveLabelsV2betaUpdateLabelEnabledAppSettingsRequest { /** - * Required. The new `EnabledAppSettings` value for the Label. + * Required. The new `EnabledAppSettings` value for the label. */ enabledAppSettings?: Schema$GoogleAppsDriveLabelsV2betaLabelEnabledAppSettings; /** @@ -1608,7 +1608,7 @@ export namespace drivelabels_v2beta { */ languageCode?: string | null; /** - * Optional. Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Optional. Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; /** @@ -1617,19 +1617,19 @@ export namespace drivelabels_v2beta { view?: string | null; } /** - * Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. */ export interface Schema$GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest { /** - * Required. The permission to create or update on the Label. + * Required. The permission to create or update on the label. */ labelPermission?: Schema$GoogleAppsDriveLabelsV2betaLabelPermission; /** - * Required. The parent Label resource name. + * Required. The parent label resource name. */ parent?: string | null; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean | null; } @@ -1646,11 +1646,11 @@ export namespace drivelabels_v2beta { */ canAdministrateLabels?: boolean | null; /** - * Output only. Whether the user is allowed to create new admin labels. + * Output only. Whether the user is allowed to create admin labels. */ canCreateAdminLabels?: boolean | null; /** - * Output only. Whether the user is allowed to create new shared labels. + * Output only. Whether the user is allowed to create shared labels. */ canCreateSharedLabels?: boolean | null; /** @@ -1663,7 +1663,7 @@ export namespace drivelabels_v2beta { */ export interface Schema$GoogleAppsDriveLabelsV2betaUserInfo { /** - * The identifier for this user that can be used with the People API to get more information. For example, people/12345678. + * The identifier for this user that can be used with the [People API](https://developers.google.com/people) to get more information. For example, `people/12345678`. */ person?: string | null; } @@ -1672,7 +1672,7 @@ export namespace drivelabels_v2beta { */ export interface Schema$GoogleAppsDriveLabelsV2betaUserLimits { /** - * Limits for list-variant of a Field type. + * Limits for list-variant of a field type. */ listLimits?: Schema$GoogleAppsDriveLabelsV2betaListLimits; } @@ -1681,7 +1681,7 @@ export namespace drivelabels_v2beta { */ export interface Schema$GoogleAppsDriveLabelsV2betaWriteControl { /** - * The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. + * The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. */ requiredRevisionId?: string | null; } @@ -1741,7 +1741,7 @@ export namespace drivelabels_v2beta { } /** - * Creates a new Label. + * Creates a label. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label). * @example * ```js * // Before running the sample: @@ -1774,7 +1774,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.create({ - * // The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used. + * // The BCP-47 language code to use for evaluating localized field labels in response. When not specified, values in the default configured language will be used. * languageCode: 'placeholder-value', * // Set to `true` in order to use the user's admin privileges. The server will verify the user is an admin before allowing access. * useAdminAccess: 'placeholder-value', @@ -1941,7 +1941,7 @@ export namespace drivelabels_v2beta { } /** - * Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted. + * Permanently deletes a label and related metadata on Drive items. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). Once deleted, the label and related Drive item metadata will be deleted. Only draft labels and disabled labels may be deleted. * @example * ```js * // Before running the sample: @@ -1976,9 +1976,9 @@ export namespace drivelabels_v2beta { * const res = await drivelabels.labels.delete({ * // Required. Label resource name. * name: 'labels/my-label', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', - * // The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. + * // The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. * 'writeControl.requiredRevisionId': 'placeholder-value', * }); * console.log(res.data); @@ -2079,7 +2079,7 @@ export namespace drivelabels_v2beta { } /** - * Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items. + * Updates a single label by applying a set of update requests resulting in a new draft revision. For more information, see [Update a label](https://developers.google.com/workspace/drive/labels/guides/update-label). The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive items. * @example * ```js * // Before running the sample: @@ -2112,7 +2112,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.delta({ - * // Required. The resource name of the Label to update. + * // Required. The resource name of the label to update. * name: 'labels/my-label', * * // Request body metadata @@ -2241,7 +2241,7 @@ export namespace drivelabels_v2beta { } /** - * Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`. + * Disable a published label. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). Disabling a label will result in a new disabled published revision based on the current published revision. If there's a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`. * @example * ```js * // Before running the sample: @@ -2424,7 +2424,7 @@ export namespace drivelabels_v2beta { } /** - * Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled. + * Enable a disabled label and restore it to its published state. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-delete-label). This will result in a new published revision based on the current disabled published revision. If there's an existing disabled draft revision, a new revision will be created based on that draft and will be enabled. * @example * ```js * // Before running the sample: @@ -2605,7 +2605,7 @@ export namespace drivelabels_v2beta { } /** - * Get a label by its resource name. Resource name may be any of: * `labels/{id\}` - See `labels/{id\}@latest` * `labels/{id\}@latest` - Gets the latest revision of the label. * `labels/{id\}@published` - Gets the current published revision of the label. * `labels/{id\}@{revision_id\}` - Gets the label at the specified revision ID. + * Get a label by its resource name. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label). Resource name may be any of: * `labels/{id\}` - See `labels/{id\}@latest` * `labels/{id\}@latest` - Gets the latest revision of the label. * `labels/{id\}@published` - Gets the current published revision of the label. * `labels/{id\}@{revision_id\}` - Gets the label at the specified revision ID. * @example * ```js * // Before running the sample: @@ -2781,7 +2781,7 @@ export namespace drivelabels_v2beta { } /** - * List labels. + * List labels. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label). * @example * ```js * // Before running the sample: @@ -2816,11 +2816,11 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.list({ - * // The customer to scope this list request to. For example: "customers/abcd1234". If unset, will return all labels within the current customer. + * // The customer to scope this list request to. For example: `customers/abcd1234`. If unset, will return all labels within the current customer. * customer: 'placeholder-value', * // The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used. * languageCode: 'placeholder-value', - * // Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`. + * // Specifies the level of access the user must have on the returned labels. The minimum role a user must have on a label. Defaults to `READER`. * minimumRole: 'placeholder-value', * // Maximum number of labels to return per page. Default: 50. Max: 200. * pageSize: 'placeholder-value', @@ -2828,7 +2828,7 @@ export namespace drivelabels_v2beta { * pageToken: 'placeholder-value', * // Whether to include only published labels in the results. * When `true`, only the current published label revisions are returned. Disabled labels are included. Returned label resource names reference the published revision (`labels/{id\}/{revision_id\}`). * When `false`, the current label revisions are returned, which might not be published. Returned label resource names don't reference a specific revision (`labels/{id\}`). * publishedOnly: 'placeholder-value', - * // Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer. + * // Set to `true` in order to use the user's admin credentials. This will return all labels within the customer. * useAdminAccess: 'placeholder-value', * // When specified, only certain fields belonging to the indicated view are returned. * view: 'placeholder-value', @@ -2944,7 +2944,7 @@ export namespace drivelabels_v2beta { } /** - * Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries. + * Publish all draft changes to the label. Once published, the label may not return to its draft state. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label). Publishing a label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. For more information, see [Label lifecycle](https://developers.google.com/workspace/drive/labels/guides/label-lifecycle). Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label will be rejected. For example, the following changes to a label will be rejected after the label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * `Field.FieldType` cannot be changed. * Changes to field validation options cannot reject something that was previously accepted. * Reducing the maximum entries. * @example * ```js * // Before running the sample: @@ -3125,7 +3125,7 @@ export namespace drivelabels_v2beta { } /** - * Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. + * Updates a label's `CopyMode`. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately. * @example * ```js * // Before running the sample: @@ -3158,7 +3158,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.updateLabelCopyMode({ - * // Required. The resource name of the Label to update. + * // Required. The resource name of the label to update. * name: 'labels/my-label', * * // Request body metadata @@ -3308,7 +3308,7 @@ export namespace drivelabels_v2beta { } /** - * Updates a Label's EabledAppSettings. Enabling a Label in a Workspace Application allows it to be used in that application. This change is not revisioned, does not require publishing, and takes effect immediately. + * Updates a label's `EnabledAppSettings`. Enabling a label in a Google Workspace app allows it to be used in that app. This change isn't revisioned, doesn't require publishing, and takes effect immediately. * @example * ```js * // Before running the sample: @@ -3338,7 +3338,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.updateLabelEnabledAppSettings({ - * // Required. The resource name of the Label to update. The resource name of the Label to update. + * // Required. The resource name of the label to update. The resource name of the label to update. * name: 'labels/my-label', * * // Request body metadata @@ -3487,7 +3487,7 @@ export namespace drivelabels_v2beta { } /** - * Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -3520,9 +3520,9 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.updatePermissions({ - * // Required. The parent Label resource name. + * // Required. The parent label resource name. * parent: 'labels/my-label', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * * // Request body metadata @@ -3659,7 +3659,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Create extends StandardParameters { /** - * The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used. + * The BCP-47 language code to use for evaluating localized field labels in response. When not specified, values in the default configured language will be used. */ languageCode?: string; /** @@ -3678,17 +3678,17 @@ export namespace drivelabels_v2beta { */ name?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; /** - * The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. + * The revision ID of the label that the write request will be applied to. If this isn't the latest revision of the label, the request will not be processed and will return a 400 Bad Request error. */ 'writeControl.requiredRevisionId'?: string; } export interface Params$Resource$Labels$Delta extends StandardParameters { /** - * Required. The resource name of the Label to update. + * Required. The resource name of the label to update. */ name?: string; @@ -3739,7 +3739,7 @@ export namespace drivelabels_v2beta { } export interface Params$Resource$Labels$List extends StandardParameters { /** - * The customer to scope this list request to. For example: "customers/abcd1234". If unset, will return all labels within the current customer. + * The customer to scope this list request to. For example: `customers/abcd1234`. If unset, will return all labels within the current customer. */ customer?: string; /** @@ -3747,7 +3747,7 @@ export namespace drivelabels_v2beta { */ languageCode?: string; /** - * Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`. + * Specifies the level of access the user must have on the returned labels. The minimum role a user must have on a label. Defaults to `READER`. */ minimumRole?: string; /** @@ -3763,7 +3763,7 @@ export namespace drivelabels_v2beta { */ publishedOnly?: boolean; /** - * Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer. + * Set to `true` in order to use the user's admin credentials. This will return all labels within the customer. */ useAdminAccess?: boolean; /** @@ -3785,7 +3785,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Updatelabelcopymode extends StandardParameters { /** - * Required. The resource name of the Label to update. + * Required. The resource name of the label to update. */ name?: string; @@ -3797,7 +3797,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Updatelabelenabledappsettings extends StandardParameters { /** - * Required. The resource name of the Label to update. The resource name of the Label to update. + * Required. The resource name of the label to update. The resource name of the label to update. */ name?: string; @@ -3809,11 +3809,11 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Updatepermissions extends StandardParameters { /** - * Required. The parent Label resource name. + * Required. The parent label resource name. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; @@ -3830,7 +3830,7 @@ export namespace drivelabels_v2beta { } /** - * Lists the LabelLocks on a Label. + * Lists the label locks on a label. * @example * ```js * // Before running the sample: @@ -3865,11 +3865,11 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.locks.list({ - * // Maximum number of Locks to return per page. Default: 100. Max: 200. + * // Maximum number of locks to return per page. Default: 100. Max: 200. * pageSize: 'placeholder-value', * // The token of the page to return. * pageToken: 'placeholder-value', - * // Required. Label on which Locks are applied. Format: labels/{label\} + * // Required. Label on which locks are applied. Format: `labels/{label\}`. * parent: 'labels/my-label', * }); * console.log(res.data); @@ -3990,7 +3990,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Locks$List extends StandardParameters { /** - * Maximum number of Locks to return per page. Default: 100. Max: 200. + * Maximum number of locks to return per page. Default: 100. Max: 200. */ pageSize?: number; /** @@ -3998,7 +3998,7 @@ export namespace drivelabels_v2beta { */ pageToken?: string; /** - * Required. Label on which Locks are applied. Format: labels/{label\} + * Required. Label on which locks are applied. Format: `labels/{label\}`. */ parent?: string; } @@ -4010,7 +4010,7 @@ export namespace drivelabels_v2beta { } /** - * Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4043,7 +4043,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.permissions.batchDelete({ - * // Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * // Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. * parent: 'labels/my-label', * * // Request body metadata @@ -4158,7 +4158,7 @@ export namespace drivelabels_v2beta { } /** - * Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4191,7 +4191,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.permissions.batchUpdate({ - * // Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * // Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. * parent: 'labels/my-label', * * // Request body metadata @@ -4316,7 +4316,7 @@ export namespace drivelabels_v2beta { } /** - * Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4349,9 +4349,9 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.permissions.create({ - * // Required. The parent Label resource name on the Label Permission is created. Format: labels/{label\} + * // Required. The parent label resource name on the label permission is created. Format: `labels/{label\}`. * parent: 'labels/my-label', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * * // Request body metadata @@ -4486,7 +4486,7 @@ export namespace drivelabels_v2beta { } /** - * Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4519,9 +4519,9 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.permissions.delete({ - * // Required. Label Permission resource name. + * // Required. Label permission resource name. * name: 'labels/my-label/permissions/my-permission', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * }); * console.log(res.data); @@ -4623,7 +4623,7 @@ export namespace drivelabels_v2beta { } /** - * Lists a Label's permissions. + * Lists a label's permissions. * @example * ```js * // Before running the sample: @@ -4662,9 +4662,9 @@ export namespace drivelabels_v2beta { * pageSize: 'placeholder-value', * // The token of the page to return. * pageToken: 'placeholder-value', - * // Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label\} + * // Required. The parent label resource name on which label permissions are listed. Format: `labels/{label\}`. * parent: 'labels/my-label', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * }); * console.log(res.data); @@ -4785,7 +4785,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Permissions$Batchdelete extends StandardParameters { /** - * Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ parent?: string; @@ -4797,7 +4797,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Permissions$Batchupdate extends StandardParameters { /** - * Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ parent?: string; @@ -4809,11 +4809,11 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Permissions$Create extends StandardParameters { /** - * Required. The parent Label resource name on the Label Permission is created. Format: labels/{label\} + * Required. The parent label resource name on the label permission is created. Format: `labels/{label\}`. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; @@ -4825,11 +4825,11 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Permissions$Delete extends StandardParameters { /** - * Required. Label Permission resource name. + * Required. Label permission resource name. */ name?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; } @@ -4844,11 +4844,11 @@ export namespace drivelabels_v2beta { */ pageToken?: string; /** - * Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label\} + * Required. The parent label resource name on which label permissions are listed. Format: `labels/{label\}`. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; } @@ -4866,7 +4866,7 @@ export namespace drivelabels_v2beta { } /** - * Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -4899,9 +4899,9 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.revisions.updatePermissions({ - * // Required. The parent Label resource name. + * // Required. The parent label resource name. * parent: 'labels/my-label/revisions/my-revision', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * * // Request body metadata @@ -5039,11 +5039,11 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Revisions$Updatepermissions extends StandardParameters { /** - * Required. The parent Label resource name. + * Required. The parent label resource name. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; @@ -5060,7 +5060,7 @@ export namespace drivelabels_v2beta { } /** - * Lists the LabelLocks on a Label. + * Lists the label locks on a label. * @example * ```js * // Before running the sample: @@ -5095,11 +5095,11 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.revisions.locks.list({ - * // Maximum number of Locks to return per page. Default: 100. Max: 200. + * // Maximum number of locks to return per page. Default: 100. Max: 200. * pageSize: 'placeholder-value', * // The token of the page to return. * pageToken: 'placeholder-value', - * // Required. Label on which Locks are applied. Format: labels/{label\} + * // Required. Label on which locks are applied. Format: `labels/{label\}`. * parent: 'labels/my-label/revisions/my-revision', * }); * console.log(res.data); @@ -5220,7 +5220,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Revisions$Locks$List extends StandardParameters { /** - * Maximum number of Locks to return per page. Default: 100. Max: 200. + * Maximum number of locks to return per page. Default: 100. Max: 200. */ pageSize?: number; /** @@ -5228,7 +5228,7 @@ export namespace drivelabels_v2beta { */ pageToken?: string; /** - * Required. Label on which Locks are applied. Format: labels/{label\} + * Required. Label on which locks are applied. Format: `labels/{label\}`. */ parent?: string; } @@ -5240,7 +5240,7 @@ export namespace drivelabels_v2beta { } /** - * Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -5273,7 +5273,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.revisions.permissions.batchDelete({ - * // Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * // Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. * parent: 'labels/my-label/revisions/my-revision', * * // Request body metadata @@ -5388,7 +5388,7 @@ export namespace drivelabels_v2beta { } /** - * Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -5421,7 +5421,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.revisions.permissions.batchUpdate({ - * // Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * // Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. * parent: 'labels/my-label/revisions/my-revision', * * // Request body metadata @@ -5546,7 +5546,7 @@ export namespace drivelabels_v2beta { } /** - * Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is updated. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -5579,9 +5579,9 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.revisions.permissions.create({ - * // Required. The parent Label resource name on the Label Permission is created. Format: labels/{label\} + * // Required. The parent label resource name on the label permission is created. Format: `labels/{label\}`. * parent: 'labels/my-label/revisions/my-revision', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * * // Request body metadata @@ -5716,7 +5716,7 @@ export namespace drivelabels_v2beta { } /** - * Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing. + * Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing. * @example * ```js * // Before running the sample: @@ -5749,9 +5749,9 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.labels.revisions.permissions.delete({ - * // Required. Label Permission resource name. + * // Required. Label permission resource name. * name: 'labels/my-label/revisions/my-revision/permissions/my-permission', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * }); * console.log(res.data); @@ -5853,7 +5853,7 @@ export namespace drivelabels_v2beta { } /** - * Lists a Label's permissions. + * Lists a label's permissions. * @example * ```js * // Before running the sample: @@ -5892,9 +5892,9 @@ export namespace drivelabels_v2beta { * pageSize: 'placeholder-value', * // The token of the page to return. * pageToken: 'placeholder-value', - * // Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label\} + * // Required. The parent label resource name on which label permissions are listed. Format: `labels/{label\}`. * parent: 'labels/my-label/revisions/my-revision', - * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * // Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. * useAdminAccess: 'placeholder-value', * }); * console.log(res.data); @@ -6015,7 +6015,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Revisions$Permissions$Batchdelete extends StandardParameters { /** - * Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Required. The parent label resource name shared by all permissions being deleted. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ parent?: string; @@ -6027,7 +6027,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Revisions$Permissions$Batchupdate extends StandardParameters { /** - * Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label\} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. + * Required. The parent label resource name shared by all permissions being updated. Format: `labels/{label\}`. If this is set, the parent field in the `UpdateLabelPermissionRequest` messages must either be empty or match this field. */ parent?: string; @@ -6039,11 +6039,11 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Revisions$Permissions$Create extends StandardParameters { /** - * Required. The parent Label resource name on the Label Permission is created. Format: labels/{label\} + * Required. The parent label resource name on the label permission is created. Format: `labels/{label\}`. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; @@ -6055,11 +6055,11 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Labels$Revisions$Permissions$Delete extends StandardParameters { /** - * Required. Label Permission resource name. + * Required. Label permission resource name. */ name?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; } @@ -6074,11 +6074,11 @@ export namespace drivelabels_v2beta { */ pageToken?: string; /** - * Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label\} + * Required. The parent label resource name on which label permissions are listed. Format: `labels/{label\}`. */ parent?: string; /** - * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. + * Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access. */ useAdminAccess?: boolean; } @@ -6090,7 +6090,7 @@ export namespace drivelabels_v2beta { } /** - * Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title. + * Get the constraints on the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title. * @example * ```js * // Before running the sample: @@ -6125,7 +6125,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.limits.getLabel({ - * // Required. Label revision resource name Must be: "limits/label" + * // Required. Label revision resource name must be: "limits/label". * name: 'placeholder-value', * }); * console.log(res.data); @@ -6249,7 +6249,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Limits$Getlabel extends StandardParameters { /** - * Required. Label revision resource name Must be: "limits/label" + * Required. Label revision resource name must be: "limits/label". */ name?: string; } @@ -6296,7 +6296,7 @@ export namespace drivelabels_v2beta { * * // Do the magic * const res = await drivelabels.users.getCapabilities({ - * // The customer to scope this request to. For example: "customers/abcd1234". If unset, will return settings within the current customer. + * // The customer to scope this request to. For example: `customers/abcd1234`. If unset, it will return settings within the current customer. * customer: 'placeholder-value', * // Required. The resource name of the user. Only "users/me/capabilities" is supported. * name: 'users/my-user/capabilities', @@ -6419,7 +6419,7 @@ export namespace drivelabels_v2beta { export interface Params$Resource$Users$Getcapabilities extends StandardParameters { /** - * The customer to scope this request to. For example: "customers/abcd1234". If unset, will return settings within the current customer. + * The customer to scope this request to. For example: `customers/abcd1234`. If unset, it will return settings within the current customer. */ customer?: string; /** From e4b52e9f5a863529b3e21c7dc443df7b7354c4c5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:12 +0000 Subject: [PATCH 24/43] fix(eventarc): update the API #### eventarc:v1 The following keys were changed: - schemas.Channel.properties.cryptoKeyName.description --- discovery/eventarc-v1.json | 4 ++-- src/apis/eventarc/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/eventarc-v1.json b/discovery/eventarc-v1.json index c10bb8b75c..55593580a4 100644 --- a/discovery/eventarc-v1.json +++ b/discovery/eventarc-v1.json @@ -2466,7 +2466,7 @@ } } }, - "revision": "20250624", + "revision": "20250801", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { @@ -2555,7 +2555,7 @@ "type": "string" }, "cryptoKeyName": { - "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "description": "Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", "type": "string" }, "labels": { diff --git a/src/apis/eventarc/v1.ts b/src/apis/eventarc/v1.ts index 2c771e6a51..ba90783a4b 100644 --- a/src/apis/eventarc/v1.ts +++ b/src/apis/eventarc/v1.ts @@ -180,7 +180,7 @@ export namespace eventarc_v1 { */ createTime?: string | null; /** - * Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/x/locations/x/keyRings/x/cryptoKeys/x`. + * Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/x/locations/x/keyRings/x/cryptoKeys/x`. */ cryptoKeyName?: string | null; /** From ce9b3ae3d4c8e992603f183fe1a42446b7bbaa57 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 25/43] feat(file): update the API #### file:v1beta1 The following keys were added: - schemas.Instance.properties.backendType.description - schemas.Instance.properties.backendType.enum - schemas.Instance.properties.backendType.enumDescriptions - schemas.Instance.properties.backendType.type The following keys were changed: - schemas.ReplicaConfig.properties.state.enum - schemas.ReplicaConfig.properties.state.enumDescriptions #### file:v1 The following keys were changed: - schemas.ReplicaConfig.properties.state.enum - schemas.ReplicaConfig.properties.state.enumDescriptions --- discovery/file-v1.json | 8 +++++--- discovery/file-v1beta1.json | 22 +++++++++++++++++++--- src/apis/file/v1beta1.ts | 7 +++++++ 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/discovery/file-v1.json b/discovery/file-v1.json index 26f5241e50..415a27556e 100644 --- a/discovery/file-v1.json +++ b/discovery/file-v1.json @@ -908,7 +908,7 @@ } } }, - "revision": "20250716", + "revision": "20250731", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -2114,14 +2114,16 @@ "CREATING", "READY", "REMOVING", - "FAILED" + "FAILED", + "PROMOTING" ], "enumDescriptions": [ "State not set.", "The replica is being created.", "The replica is ready.", "The replica is being removed.", - "The replica is experiencing an issue and might be unusable. You can get further details from the `stateReasons` field of the `ReplicaConfig` object." + "The replica is experiencing an issue and might be unusable. You can get further details from the `stateReasons` field of the `ReplicaConfig` object.", + "The replica is being promoted." ], "readOnly": true, "type": "string" diff --git a/discovery/file-v1beta1.json b/discovery/file-v1beta1.json index 5e312293bc..edc89beea5 100644 --- a/discovery/file-v1beta1.json +++ b/discovery/file-v1beta1.json @@ -1075,7 +1075,7 @@ } } }, - "revision": "20250716", + "revision": "20250731", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -1635,6 +1635,20 @@ "description": "A Filestore instance.", "id": "Instance", "properties": { + "backendType": { + "description": "Optional. Immutable. Designates the backend type of this instance. Intended to be used by internal tests and allowed customers.", + "enum": [ + "BACKEND_TYPE_UNSPECIFIED", + "COMPUTE_BASED_BACKEND", + "FILESTORE_BACKEND" + ], + "enumDescriptions": [ + "Backend type not set.", + "Instance is backed by Compute.", + "Instance is backed by Filestore." + ], + "type": "string" + }, "capacityGb": { "description": "The storage capacity of the instance in gigabytes (GB = 1024^3 bytes). This capacity can be increased up to `max_capacity_gb` GB in multipliers of `capacity_step_size_gb` GB.", "format": "int64", @@ -2433,14 +2447,16 @@ "CREATING", "READY", "REMOVING", - "FAILED" + "FAILED", + "PROMOTING" ], "enumDescriptions": [ "State not set.", "The replica is being created.", "The replica is ready.", "The replica is being removed.", - "The replica is experiencing an issue and might be unusable. You can get further details from the `stateReasons` field of the `ReplicaConfig` object." + "The replica is experiencing an issue and might be unusable. You can get further details from the `stateReasons` field of the `ReplicaConfig` object.", + "The replica is being promoted." ], "type": "string" }, diff --git a/src/apis/file/v1beta1.ts b/src/apis/file/v1beta1.ts index 46f13d6d49..7a641cd4d9 100644 --- a/src/apis/file/v1beta1.ts +++ b/src/apis/file/v1beta1.ts @@ -504,6 +504,10 @@ export namespace file_v1beta1 { * A Filestore instance. */ export interface Schema$Instance { + /** + * Optional. Immutable. Designates the backend type of this instance. Intended to be used by internal tests and allowed customers. + */ + backendType?: string | null; /** * The storage capacity of the instance in gigabytes (GB = 1024^3 bytes). This capacity can be increased up to `max_capacity_gb` GB in multipliers of `capacity_step_size_gb` GB. */ @@ -2456,6 +2460,7 @@ export namespace file_v1beta1 { * requestBody: { * // request body parameters * // { + * // "backendType": "my_backendType", * // "capacityGb": "my_capacityGb", * // "capacityStepSizeGb": "my_capacityStepSizeGb", * // "createTime": "my_createTime", @@ -2772,6 +2777,7 @@ export namespace file_v1beta1 { * * // Example response * // { + * // "backendType": "my_backendType", * // "capacityGb": "my_capacityGb", * // "capacityStepSizeGb": "my_capacityStepSizeGb", * // "createTime": "my_createTime", @@ -3084,6 +3090,7 @@ export namespace file_v1beta1 { * requestBody: { * // request body parameters * // { + * // "backendType": "my_backendType", * // "capacityGb": "my_capacityGb", * // "capacityStepSizeGb": "my_capacityStepSizeGb", * // "createTime": "my_createTime", From 27782899e89e157b1cbe3cd3583b18ace888d5b8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 26/43] feat(firebaseappdistribution): update the API #### firebaseappdistribution:v1alpha The following keys were added: - schemas.GoogleFirebaseAppdistroV1alphaTestCase.properties.dependentTestCases.description - schemas.GoogleFirebaseAppdistroV1alphaTestCase.properties.dependentTestCases.items.type - schemas.GoogleFirebaseAppdistroV1alphaTestCase.properties.dependentTestCases.readOnly - schemas.GoogleFirebaseAppdistroV1alphaTestCase.properties.dependentTestCases.type - schemas.GoogleFirebaseAppdistroV1alphaTestCase.properties.prerequisiteTestCase.description - schemas.GoogleFirebaseAppdistroV1alphaTestCase.properties.prerequisiteTestCase.type The following keys were changed: - resources.apps.methods.getJwt.parameters.mobilesdkAppId.description - resources.apps.resources.release_by_hash.methods.get.parameters.mobilesdkAppId.description - resources.apps.resources.release_by_hash.methods.get.parameters.uploadHash.description - resources.apps.resources.releases.methods.enable_access.parameters.mobilesdkAppId.description - resources.apps.resources.releases.methods.enable_access.parameters.releaseId.description - resources.apps.resources.releases.resources.notes.methods.create.parameters.mobilesdkAppId.description - resources.apps.resources.releases.resources.notes.methods.create.parameters.releaseId.description - resources.apps.resources.upload_status.methods.get.parameters.mobilesdkAppId.description - resources.apps.resources.upload_status.methods.get.parameters.uploadToken.description #### firebaseappdistribution:v1 The following keys were changed: - resources.media.methods.upload.parameters.app.description - resources.projects.resources.apps.resources.releases.methods.list.parameters.filter.description - resources.projects.resources.apps.resources.releases.methods.list.parameters.orderBy.description - resources.projects.resources.apps.resources.releases.methods.list.parameters.pageSize.description - resources.projects.resources.apps.resources.releases.methods.list.parameters.pageToken.description - resources.projects.resources.apps.resources.releases.methods.patch.parameters.updateMask.description - resources.projects.resources.apps.resources.releases.resources.feedbackReports.methods.list.parameters.pageSize.description - resources.projects.resources.apps.resources.releases.resources.feedbackReports.methods.list.parameters.pageToken.description - resources.projects.resources.groups.methods.patch.parameters.updateMask.description - resources.projects.resources.testers.methods.patch.parameters.updateMask.description - schemas.GoogleFirebaseAppdistroV1DistributeReleaseRequest.properties.groupAliases.description - schemas.GoogleFirebaseAppdistroV1DistributeReleaseRequest.properties.testerEmails.description --- discovery/firebaseappdistribution-v1.json | 26 ++++---- .../firebaseappdistribution-v1alpha.json | 32 +++++++--- src/apis/firebaseappdistribution/v1.ts | 44 ++++++------- src/apis/firebaseappdistribution/v1alpha.ts | 64 ++++++++++++------- 4 files changed, 98 insertions(+), 68 deletions(-) diff --git a/discovery/firebaseappdistribution-v1.json b/discovery/firebaseappdistribution-v1.json index 0be8483925..36264c74a9 100644 --- a/discovery/firebaseappdistribution-v1.json +++ b/discovery/firebaseappdistribution-v1.json @@ -128,7 +128,7 @@ ], "parameters": { "app": { - "description": "The name of the app resource. Format: `projects/{project_number}/apps/{app_id}`", + "description": "Required. The name of the app resource. Format: `projects/{project_number}/apps/{app_id}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+$", "required": true, @@ -273,23 +273,23 @@ ], "parameters": { "filter": { - "description": "The expression to filter releases listed in the response. To learn more about filtering, refer to [Google's AIP-160 standard](http://aip.dev/160). Supported fields: - `releaseNotes.text` supports `=` (can contain a wildcard character (`*`) at the beginning or end of the string) - `createTime` supports `<`, `<=`, `>` and `>=`, and expects an RFC-3339 formatted string Examples: - `createTime <= \"2021-09-08T00:00:00+04:00\"` - `releaseNotes.text=\"fixes\" AND createTime >= \"2021-09-08T00:00:00.0Z\"` - `releaseNotes.text=\"*v1.0.0-rc*\"`", + "description": "Optional. The expression to filter releases listed in the response. To learn more about filtering, refer to [Google's AIP-160 standard](http://aip.dev/160). Supported fields: - `releaseNotes.text` supports `=` (can contain a wildcard character (`*`) at the beginning or end of the string) - `createTime` supports `<`, `<=`, `>` and `>=`, and expects an RFC-3339 formatted string Examples: - `createTime <= \"2021-09-08T00:00:00+04:00\"` - `releaseNotes.text=\"fixes\" AND createTime >= \"2021-09-08T00:00:00.0Z\"` - `releaseNotes.text=\"*v1.0.0-rc*\"`", "location": "query", "type": "string" }, "orderBy": { - "description": "The fields used to order releases. Supported fields: - `createTime` To specify descending order for a field, append a \"desc\" suffix, for example, `createTime desc`. If this parameter is not set, releases are ordered by `createTime` in descending order.", + "description": "Optional. The fields used to order releases. Supported fields: - `createTime` To specify descending order for a field, append a \"desc\" suffix, for example, `createTime desc`. If this parameter is not set, releases are ordered by `createTime` in descending order.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of releases to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 releases are returned. Values above 100 are coerced to 100.", + "description": "Optional. The maximum number of releases to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 releases are returned. Values above 100 are coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleases` must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleases` must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -326,7 +326,7 @@ "type": "string" }, "updateMask": { - "description": "The list of fields to update.", + "description": "Optional. The list of fields to update.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -407,13 +407,13 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of feedback reports to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 feedback reports are returned. Values above 100 are coerced to 100.", + "description": "Output only. The maximum number of feedback reports to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 feedback reports are returned. Values above 100 are coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A page token, received from a previous `ListFeedbackReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFeedbackReports` must match the call that provided the page token.", + "description": "Output only. A page token, received from a previous `ListFeedbackReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFeedbackReports` must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -784,7 +784,7 @@ "type": "string" }, "updateMask": { - "description": "The list of fields to update.", + "description": "Optional. The list of fields to update.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -919,7 +919,7 @@ "type": "string" }, "updateMask": { - "description": "The list of fields to update.", + "description": "Optional. The list of fields to update.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -941,7 +941,7 @@ } } }, - "revision": "20241115", + "revision": "20250808", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "GdataBlobstore2Info": { @@ -1518,14 +1518,14 @@ "id": "GoogleFirebaseAppdistroV1DistributeReleaseRequest", "properties": { "groupAliases": { - "description": "A list of group aliases (IDs) to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request.", + "description": "Optional. A list of group aliases (IDs) to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request.", "items": { "type": "string" }, "type": "array" }, "testerEmails": { - "description": "A list of tester email addresses to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request.", + "description": "Optional. A list of tester email addresses to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request.", "items": { "type": "string" }, diff --git a/discovery/firebaseappdistribution-v1alpha.json b/discovery/firebaseappdistribution-v1alpha.json index c541ab4b85..7fad5221b6 100644 --- a/discovery/firebaseappdistribution-v1alpha.json +++ b/discovery/firebaseappdistribution-v1alpha.json @@ -156,7 +156,7 @@ ], "parameters": { "mobilesdkAppId": { - "description": "Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", + "description": "Required. Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", "location": "path", "required": true, "type": "string" @@ -185,13 +185,13 @@ ], "parameters": { "mobilesdkAppId": { - "description": "Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", + "description": "Required. Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", "location": "path", "required": true, "type": "string" }, "uploadHash": { - "description": "The hash for the upload", + "description": "Required. The hash for the upload", "location": "path", "required": true, "type": "string" @@ -220,13 +220,13 @@ ], "parameters": { "mobilesdkAppId": { - "description": "Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", + "description": "Required. Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", "location": "path", "required": true, "type": "string" }, "releaseId": { - "description": "Release identifier", + "description": "Required. Release identifier", "location": "path", "required": true, "type": "string" @@ -258,13 +258,13 @@ ], "parameters": { "mobilesdkAppId": { - "description": "Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", + "description": "Required. Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", "location": "path", "required": true, "type": "string" }, "releaseId": { - "description": "Release identifier", + "description": "Required. Release identifier", "location": "path", "required": true, "type": "string" @@ -331,13 +331,13 @@ ], "parameters": { "mobilesdkAppId": { - "description": "Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", + "description": "Required. Unique id for a Firebase app of the format: {version}:{project_number}:{platform}:{hash(bundle_id)} Example: 1:581234567376:android:aa0a3c7b135e90289", "location": "path", "required": true, "type": "string" }, "uploadToken": { - "description": "The token for the upload", + "description": "Required. The token for the upload", "location": "path", "required": true, "type": "string" @@ -807,7 +807,7 @@ } } }, - "revision": "20250612", + "revision": "20250808", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "AndroidxCrawlerOutputPoint": { @@ -1927,6 +1927,14 @@ "readOnly": true, "type": "string" }, + "dependentTestCases": { + "description": "Output only. Other test cases that depend on this test cse as a prerequisite.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "displayName": { "description": "Required. Display name of the test case.", "type": "string" @@ -1934,6 +1942,10 @@ "name": { "description": "Identifier. The name of the test case resource. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", "type": "string" + }, + "prerequisiteTestCase": { + "description": "Optional. Test case that must be run before this test case.", + "type": "string" } }, "type": "object" diff --git a/src/apis/firebaseappdistribution/v1.ts b/src/apis/firebaseappdistribution/v1.ts index 386aa2eceb..5b493c5502 100644 --- a/src/apis/firebaseappdistribution/v1.ts +++ b/src/apis/firebaseappdistribution/v1.ts @@ -546,11 +546,11 @@ export namespace firebaseappdistribution_v1 { */ export interface Schema$GoogleFirebaseAppdistroV1DistributeReleaseRequest { /** - * A list of group aliases (IDs) to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request. + * Optional. A list of group aliases (IDs) to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request. */ groupAliases?: string[] | null; /** - * A list of tester email addresses to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request. + * Optional. A list of tester email addresses to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request. */ testerEmails?: string[] | null; } @@ -884,7 +884,7 @@ export namespace firebaseappdistribution_v1 { * * // Do the magic * const res = await firebaseappdistribution.media.upload({ - * // The name of the app resource. Format: `projects/{project_number\}/apps/{app_id\}` + * // Required. The name of the app resource. Format: `projects/{project_number\}/apps/{app_id\}` * app: 'projects/my-project/apps/my-app', * * // Request body metadata @@ -1017,7 +1017,7 @@ export namespace firebaseappdistribution_v1 { export interface Params$Resource$Media$Upload extends StandardParameters { /** - * The name of the app resource. Format: `projects/{project_number\}/apps/{app_id\}` + * Required. The name of the app resource. Format: `projects/{project_number\}/apps/{app_id\}` */ app?: string; @@ -1716,13 +1716,13 @@ export namespace firebaseappdistribution_v1 { * * // Do the magic * const res = await firebaseappdistribution.projects.apps.releases.list({ - * // The expression to filter releases listed in the response. To learn more about filtering, refer to [Google's AIP-160 standard](http://aip.dev/160). Supported fields: - `releaseNotes.text` supports `=` (can contain a wildcard character (`*`) at the beginning or end of the string) - `createTime` supports `<`, `<=`, `\>` and `\>=`, and expects an RFC-3339 formatted string Examples: - `createTime <= "2021-09-08T00:00:00+04:00"` - `releaseNotes.text="fixes" AND createTime \>= "2021-09-08T00:00:00.0Z"` - `releaseNotes.text="*v1.0.0-rc*"` + * // Optional. The expression to filter releases listed in the response. To learn more about filtering, refer to [Google's AIP-160 standard](http://aip.dev/160). Supported fields: - `releaseNotes.text` supports `=` (can contain a wildcard character (`*`) at the beginning or end of the string) - `createTime` supports `<`, `<=`, `\>` and `\>=`, and expects an RFC-3339 formatted string Examples: - `createTime <= "2021-09-08T00:00:00+04:00"` - `releaseNotes.text="fixes" AND createTime \>= "2021-09-08T00:00:00.0Z"` - `releaseNotes.text="*v1.0.0-rc*"` * filter: 'placeholder-value', - * // The fields used to order releases. Supported fields: - `createTime` To specify descending order for a field, append a "desc" suffix, for example, `createTime desc`. If this parameter is not set, releases are ordered by `createTime` in descending order. + * // Optional. The fields used to order releases. Supported fields: - `createTime` To specify descending order for a field, append a "desc" suffix, for example, `createTime desc`. If this parameter is not set, releases are ordered by `createTime` in descending order. * orderBy: 'placeholder-value', - * // The maximum number of releases to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 releases are returned. Values above 100 are coerced to 100. + * // Optional. The maximum number of releases to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 releases are returned. Values above 100 are coerced to 100. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleases` must match the call that provided the page token. + * // Optional. A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleases` must match the call that provided the page token. * pageToken: 'placeholder-value', * // Required. The name of the app resource, which is the parent of the release resources. Format: `projects/{project_number\}/apps/{app_id\}` * parent: 'projects/my-project/apps/my-app', @@ -1875,7 +1875,7 @@ export namespace firebaseappdistribution_v1 { * const res = await firebaseappdistribution.projects.apps.releases.patch({ * // The name of the release resource. Format: `projects/{project_number\}/apps/{app_id\}/releases/{release_id\}` * name: 'projects/my-project/apps/my-app/releases/my-release', - * // The list of fields to update. + * // Optional. The list of fields to update. * updateMask: 'placeholder-value', * * // Request body metadata @@ -2046,19 +2046,19 @@ export namespace firebaseappdistribution_v1 { export interface Params$Resource$Projects$Apps$Releases$List extends StandardParameters { /** - * The expression to filter releases listed in the response. To learn more about filtering, refer to [Google's AIP-160 standard](http://aip.dev/160). Supported fields: - `releaseNotes.text` supports `=` (can contain a wildcard character (`*`) at the beginning or end of the string) - `createTime` supports `<`, `<=`, `\>` and `\>=`, and expects an RFC-3339 formatted string Examples: - `createTime <= "2021-09-08T00:00:00+04:00"` - `releaseNotes.text="fixes" AND createTime \>= "2021-09-08T00:00:00.0Z"` - `releaseNotes.text="*v1.0.0-rc*"` + * Optional. The expression to filter releases listed in the response. To learn more about filtering, refer to [Google's AIP-160 standard](http://aip.dev/160). Supported fields: - `releaseNotes.text` supports `=` (can contain a wildcard character (`*`) at the beginning or end of the string) - `createTime` supports `<`, `<=`, `\>` and `\>=`, and expects an RFC-3339 formatted string Examples: - `createTime <= "2021-09-08T00:00:00+04:00"` - `releaseNotes.text="fixes" AND createTime \>= "2021-09-08T00:00:00.0Z"` - `releaseNotes.text="*v1.0.0-rc*"` */ filter?: string; /** - * The fields used to order releases. Supported fields: - `createTime` To specify descending order for a field, append a "desc" suffix, for example, `createTime desc`. If this parameter is not set, releases are ordered by `createTime` in descending order. + * Optional. The fields used to order releases. Supported fields: - `createTime` To specify descending order for a field, append a "desc" suffix, for example, `createTime desc`. If this parameter is not set, releases are ordered by `createTime` in descending order. */ orderBy?: string; /** - * The maximum number of releases to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 releases are returned. Values above 100 are coerced to 100. + * Optional. The maximum number of releases to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 releases are returned. Values above 100 are coerced to 100. */ pageSize?: number; /** - * A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleases` must match the call that provided the page token. + * Optional. A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleases` must match the call that provided the page token. */ pageToken?: string; /** @@ -2073,7 +2073,7 @@ export namespace firebaseappdistribution_v1 { */ name?: string; /** - * The list of fields to update. + * Optional. The list of fields to update. */ updateMask?: string; @@ -2410,9 +2410,9 @@ export namespace firebaseappdistribution_v1 { * // Do the magic * const res = * await firebaseappdistribution.projects.apps.releases.feedbackReports.list({ - * // The maximum number of feedback reports to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 feedback reports are returned. Values above 100 are coerced to 100. + * // Output only. The maximum number of feedback reports to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 feedback reports are returned. Values above 100 are coerced to 100. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListFeedbackReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFeedbackReports` must match the call that provided the page token. + * // Output only. A page token, received from a previous `ListFeedbackReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFeedbackReports` must match the call that provided the page token. * pageToken: 'placeholder-value', * // Required. The name of the release resource, which is the parent of the feedback report resources. Format: `projects/{project_number\}/apps/{app\}/releases/{release\}` * parent: 'projects/my-project/apps/my-app/releases/my-release', @@ -2551,11 +2551,11 @@ export namespace firebaseappdistribution_v1 { export interface Params$Resource$Projects$Apps$Releases$Feedbackreports$List extends StandardParameters { /** - * The maximum number of feedback reports to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 feedback reports are returned. Values above 100 are coerced to 100. + * Output only. The maximum number of feedback reports to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 feedback reports are returned. Values above 100 are coerced to 100. */ pageSize?: number; /** - * A page token, received from a previous `ListFeedbackReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFeedbackReports` must match the call that provided the page token. + * Output only. A page token, received from a previous `ListFeedbackReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFeedbackReports` must match the call that provided the page token. */ pageToken?: string; /** @@ -4278,7 +4278,7 @@ export namespace firebaseappdistribution_v1 { * const res = await firebaseappdistribution.projects.groups.patch({ * // The name of the group resource. Format: `projects/{project_number\}/groups/{group_alias\}` * name: 'projects/my-project/groups/my-group', - * // The list of fields to update. + * // Optional. The list of fields to update. * updateMask: 'placeholder-value', * * // Request body metadata @@ -4481,7 +4481,7 @@ export namespace firebaseappdistribution_v1 { */ name?: string; /** - * The list of fields to update. + * Optional. The list of fields to update. */ updateMask?: string; @@ -4997,7 +4997,7 @@ export namespace firebaseappdistribution_v1 { * const res = await firebaseappdistribution.projects.testers.patch({ * // The name of the tester resource. Format: `projects/{project_number\}/testers/{email_address\}` * name: 'projects/my-project/testers/my-tester', - * // The list of fields to update. + * // Optional. The list of fields to update. * updateMask: 'placeholder-value', * * // Request body metadata @@ -5172,7 +5172,7 @@ export namespace firebaseappdistribution_v1 { */ name?: string; /** - * The list of fields to update. + * Optional. The list of fields to update. */ updateMask?: string; diff --git a/src/apis/firebaseappdistribution/v1alpha.ts b/src/apis/firebaseappdistribution/v1alpha.ts index 99bc39543a..caa48cdf65 100644 --- a/src/apis/firebaseappdistribution/v1alpha.ts +++ b/src/apis/firebaseappdistribution/v1alpha.ts @@ -773,6 +773,10 @@ export namespace firebaseappdistribution_v1alpha { * Output only. Timestamp when the test case was created */ createTime?: string | null; + /** + * Output only. Other test cases that depend on this test cse as a prerequisite. + */ + dependentTestCases?: string[] | null; /** * Required. Display name of the test case. */ @@ -781,6 +785,10 @@ export namespace firebaseappdistribution_v1alpha { * Identifier. The name of the test case resource. Format: `projects/{project_number\}/apps/{app_id\}/testCases/{test_case_id\}` */ name?: string | null; + /** + * Optional. Test case that must be run before this test case. + */ + prerequisiteTestCase?: string | null; } /** * Configuration for automated tests @@ -1126,7 +1134,7 @@ export namespace firebaseappdistribution_v1alpha { * * // Do the magic * const res = await firebaseappdistribution.apps.getJwt({ - * // Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * // Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 * mobilesdkAppId: 'placeholder-value', * }); * console.log(res.data); @@ -1255,7 +1263,7 @@ export namespace firebaseappdistribution_v1alpha { } export interface Params$Resource$Apps$Getjwt extends StandardParameters { /** - * Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 */ mobilesdkAppId?: string; } @@ -1299,9 +1307,9 @@ export namespace firebaseappdistribution_v1alpha { * * // Do the magic * const res = await firebaseappdistribution.apps.releases.enable_access({ - * // Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * // Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 * mobilesdkAppId: 'placeholder-value', - * // Release identifier + * // Required. Release identifier * releaseId: 'placeholder-value', * * // Request body metadata @@ -1431,11 +1439,11 @@ export namespace firebaseappdistribution_v1alpha { export interface Params$Resource$Apps$Releases$Enable_access extends StandardParameters { /** - * Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 */ mobilesdkAppId?: string; /** - * Release identifier + * Required. Release identifier */ releaseId?: string; @@ -1482,9 +1490,9 @@ export namespace firebaseappdistribution_v1alpha { * * // Do the magic * const res = await firebaseappdistribution.apps.releases.notes.create({ - * // Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * // Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 * mobilesdkAppId: 'placeholder-value', - * // Release identifier + * // Required. Release identifier * releaseId: 'placeholder-value', * * // Request body metadata @@ -1611,11 +1619,11 @@ export namespace firebaseappdistribution_v1alpha { export interface Params$Resource$Apps$Releases$Notes$Create extends StandardParameters { /** - * Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 */ mobilesdkAppId?: string; /** - * Release identifier + * Required. Release identifier */ releaseId?: string; @@ -1662,9 +1670,9 @@ export namespace firebaseappdistribution_v1alpha { * * // Do the magic * const res = await firebaseappdistribution.apps.release_by_hash.get({ - * // Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * // Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 * mobilesdkAppId: 'placeholder-value', - * // The hash for the upload + * // Required. The hash for the upload * uploadHash: 'placeholder-value', * }); * console.log(res.data); @@ -1785,11 +1793,11 @@ export namespace firebaseappdistribution_v1alpha { export interface Params$Resource$Apps$Release_by_hash$Get extends StandardParameters { /** - * Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 */ mobilesdkAppId?: string; /** - * The hash for the upload + * Required. The hash for the upload */ uploadHash?: string; } @@ -1999,9 +2007,9 @@ export namespace firebaseappdistribution_v1alpha { * * // Do the magic * const res = await firebaseappdistribution.apps.upload_status.get({ - * // Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * // Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 * mobilesdkAppId: 'placeholder-value', - * // The token for the upload + * // Required. The token for the upload * uploadToken: 'placeholder-value', * }); * console.log(res.data); @@ -2125,11 +2133,11 @@ export namespace firebaseappdistribution_v1alpha { export interface Params$Resource$Apps$Upload_status$Get extends StandardParameters { /** - * Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 + * Required. Unique id for a Firebase app of the format: {version\}:{project_number\}:{platform\}:{hash(bundle_id)\} Example: 1:581234567376:android:aa0a3c7b135e90289 */ mobilesdkAppId?: string; /** - * The token for the upload + * Required. The token for the upload */ uploadToken?: string; } @@ -3535,8 +3543,10 @@ export namespace firebaseappdistribution_v1alpha { * // { * // "aiInstructions": {}, * // "createTime": "my_createTime", + * // "dependentTestCases": [], * // "displayName": "my_displayName", - * // "name": "my_name" + * // "name": "my_name", + * // "prerequisiteTestCase": "my_prerequisiteTestCase" * // } * }, * }); @@ -3546,8 +3556,10 @@ export namespace firebaseappdistribution_v1alpha { * // { * // "aiInstructions": {}, * // "createTime": "my_createTime", + * // "dependentTestCases": [], * // "displayName": "my_displayName", - * // "name": "my_name" + * // "name": "my_name", + * // "prerequisiteTestCase": "my_prerequisiteTestCase" * // } * } * @@ -3830,8 +3842,10 @@ export namespace firebaseappdistribution_v1alpha { * // { * // "aiInstructions": {}, * // "createTime": "my_createTime", + * // "dependentTestCases": [], * // "displayName": "my_displayName", - * // "name": "my_name" + * // "name": "my_name", + * // "prerequisiteTestCase": "my_prerequisiteTestCase" * // } * } * @@ -4131,8 +4145,10 @@ export namespace firebaseappdistribution_v1alpha { * // { * // "aiInstructions": {}, * // "createTime": "my_createTime", + * // "dependentTestCases": [], * // "displayName": "my_displayName", - * // "name": "my_name" + * // "name": "my_name", + * // "prerequisiteTestCase": "my_prerequisiteTestCase" * // } * }, * }); @@ -4142,8 +4158,10 @@ export namespace firebaseappdistribution_v1alpha { * // { * // "aiInstructions": {}, * // "createTime": "my_createTime", + * // "dependentTestCases": [], * // "displayName": "my_displayName", - * // "name": "my_name" + * // "name": "my_name", + * // "prerequisiteTestCase": "my_prerequisiteTestCase" * // } * } * From a21fa692e5142759a39762a41bf02c54478ead71 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 27/43] feat(firebasedataconnect): update the API #### firebasedataconnect:v1beta The following keys were added: - schemas.PostgreSql.properties.ephemeral.description - schemas.PostgreSql.properties.ephemeral.readOnly - schemas.PostgreSql.properties.ephemeral.type - schemas.PostgreSql.properties.unlinked.deprecated #### firebasedataconnect:v1 The following keys were added: - schemas.PostgreSql.properties.ephemeral.description - schemas.PostgreSql.properties.ephemeral.readOnly - schemas.PostgreSql.properties.ephemeral.type - schemas.PostgreSql.properties.unlinked.deprecated --- discovery/firebasedataconnect-v1.json | 8 +++++++- discovery/firebasedataconnect-v1beta.json | 8 +++++++- src/apis/firebasedataconnect/v1.ts | 4 ++++ src/apis/firebasedataconnect/v1beta.ts | 4 ++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/discovery/firebasedataconnect-v1.json b/discovery/firebasedataconnect-v1.json index da4a3a68ac..50fed91a98 100644 --- a/discovery/firebasedataconnect-v1.json +++ b/discovery/firebasedataconnect-v1.json @@ -1076,7 +1076,7 @@ } } }, - "revision": "20250706", + "revision": "20250803", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1679,6 +1679,11 @@ "description": "Required. Name of the PostgreSQL database.", "type": "string" }, + "ephemeral": { + "description": "Output only. Ephemeral is true if this data connect service is served from in-memory emulation of Postgres. Data Connect service will transfer the data on a best-effort basis to the Cloud SQL instance once it's provisioned and linked. WARNING: When `ephemeral=true`, mutations to the database are not guaranteed to be durably persisted, even if an OK status code is returned. All or parts of the data may be lost or reverted to earlier versions.", + "readOnly": true, + "type": "boolean" + }, "schemaMigration": { "description": "Optional. Configure how to perform Postgresql schema migration.", "enum": [ @@ -1708,6 +1713,7 @@ "type": "string" }, "unlinked": { + "deprecated": true, "description": "No Postgres data source is linked. If set, don't allow `database` and `schema_validation` to be configured.", "type": "boolean" } diff --git a/discovery/firebasedataconnect-v1beta.json b/discovery/firebasedataconnect-v1beta.json index 21fadff961..3ac2b9bc1a 100644 --- a/discovery/firebasedataconnect-v1beta.json +++ b/discovery/firebasedataconnect-v1beta.json @@ -1076,7 +1076,7 @@ } } }, - "revision": "20250706", + "revision": "20250803", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1679,6 +1679,11 @@ "description": "Required. Name of the PostgreSQL database.", "type": "string" }, + "ephemeral": { + "description": "Output only. Ephemeral is true if this data connect service is served from in-memory emulation of Postgres. Data Connect service will transfer the data on a best-effort basis to the Cloud SQL instance once it's provisioned and linked. WARNING: When `ephemeral=true`, mutations to the database are not guaranteed to be durably persisted, even if an OK status code is returned. All or parts of the data may be lost or reverted to earlier versions.", + "readOnly": true, + "type": "boolean" + }, "schemaMigration": { "description": "Optional. Configure how to perform Postgresql schema migration.", "enum": [ @@ -1708,6 +1713,7 @@ "type": "string" }, "unlinked": { + "deprecated": true, "description": "No Postgres data source is linked. If set, don't allow `database` and `schema_validation` to be configured.", "type": "boolean" } diff --git a/src/apis/firebasedataconnect/v1.ts b/src/apis/firebasedataconnect/v1.ts index 30f3d69177..5a473923a6 100644 --- a/src/apis/firebasedataconnect/v1.ts +++ b/src/apis/firebasedataconnect/v1.ts @@ -534,6 +534,10 @@ export namespace firebasedataconnect_v1 { * Required. Name of the PostgreSQL database. */ database?: string | null; + /** + * Output only. Ephemeral is true if this data connect service is served from in-memory emulation of Postgres. Data Connect service will transfer the data on a best-effort basis to the Cloud SQL instance once it's provisioned and linked. WARNING: When `ephemeral=true`, mutations to the database are not guaranteed to be durably persisted, even if an OK status code is returned. All or parts of the data may be lost or reverted to earlier versions. + */ + ephemeral?: boolean | null; /** * Optional. Configure how to perform Postgresql schema migration. */ diff --git a/src/apis/firebasedataconnect/v1beta.ts b/src/apis/firebasedataconnect/v1beta.ts index f72c094e2a..e80d72ac2b 100644 --- a/src/apis/firebasedataconnect/v1beta.ts +++ b/src/apis/firebasedataconnect/v1beta.ts @@ -534,6 +534,10 @@ export namespace firebasedataconnect_v1beta { * Required. Name of the PostgreSQL database. */ database?: string | null; + /** + * Output only. Ephemeral is true if this data connect service is served from in-memory emulation of Postgres. Data Connect service will transfer the data on a best-effort basis to the Cloud SQL instance once it's provisioned and linked. WARNING: When `ephemeral=true`, mutations to the database are not guaranteed to be durably persisted, even if an OK status code is returned. All or parts of the data may be lost or reverted to earlier versions. + */ + ephemeral?: boolean | null; /** * Optional. Configure how to perform Postgresql schema migration. */ From 399ad849efea183ba6767dc5468affaa399ad957 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 28/43] feat(firebaseml): update the API #### firebaseml:v2beta The following keys were added: - schemas.GoogleCloudAiplatformV1beta1GenerateContentRequest.properties.modelArmorConfig.$ref - schemas.GoogleCloudAiplatformV1beta1GenerateContentRequest.properties.modelArmorConfig.description - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.description - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.id - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.properties.promptTemplateName.description - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.properties.promptTemplateName.type - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.properties.responseTemplateName.description - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.properties.responseTemplateName.type - schemas.GoogleCloudAiplatformV1beta1ModelArmorConfig.type The following keys were changed: - schemas.GoogleCloudAiplatformV1beta1Candidate.properties.finishReason.enum - schemas.GoogleCloudAiplatformV1beta1Candidate.properties.finishReason.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback.properties.blockReason.enum - schemas.GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback.properties.blockReason.enumDescriptions --- discovery/firebaseml-v2beta.json | 25 ++++++++++++++++++++++++- src/apis/firebaseml/v2beta.ts | 19 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/discovery/firebaseml-v2beta.json b/discovery/firebaseml-v2beta.json index 6957101d85..73145a8391 100644 --- a/discovery/firebaseml-v2beta.json +++ b/discovery/firebaseml-v2beta.json @@ -206,7 +206,7 @@ } } }, - "revision": "20250727", + "revision": "20250731", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -455,6 +455,7 @@ "PROHIBITED_CONTENT", "SPII", "MALFORMED_FUNCTION_CALL", + "MODEL_ARMOR", "IMAGE_SAFETY", "IMAGE_PROHIBITED_CONTENT", "IMAGE_RECITATION", @@ -472,6 +473,7 @@ "Token generation stopped for potentially containing prohibited content.", "Token generation stopped because the content potentially contains Sensitive Personally Identifiable Information (SPII).", "The function call generated by the model is invalid.", + "The model response was blocked by Model Armor.", "Token generation stopped because generated images has safety violations.", "Image generation stopped because generated images has other prohibited content.", "Image generation stopped due to recitation.", @@ -958,6 +960,10 @@ "description": "Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", "type": "object" }, + "modelArmorConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ModelArmorConfig", + "description": "Optional. Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied." + }, "safetySettings": { "description": "Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", "items": { @@ -1035,6 +1041,7 @@ "OTHER", "BLOCKLIST", "PROHIBITED_CONTENT", + "MODEL_ARMOR", "IMAGE_SAFETY" ], "enumDescriptions": [ @@ -1043,6 +1050,7 @@ "Candidates blocked due to other reason.", "Candidates blocked due to the terms which are included from the terminology blocklist.", "Candidates blocked due to prohibited content.", + "The user prompt was blocked by Model Armor.", "Candidates blocked due to unsafe image generation content." ], "readOnly": true, @@ -1716,6 +1724,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ModelArmorConfig": { + "description": "Configuration for Model Armor integrations of prompt and responses.", + "id": "GoogleCloudAiplatformV1beta1ModelArmorConfig", + "properties": { + "promptTemplateName": { + "description": "Optional. The name of the Model Armor template to use for prompt sanitization.", + "type": "string" + }, + "responseTemplateName": { + "description": "Optional. The name of the Model Armor template to use for response sanitization.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Part": { "description": "A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", "id": "GoogleCloudAiplatformV1beta1Part", diff --git a/src/apis/firebaseml/v2beta.ts b/src/apis/firebaseml/v2beta.ts index ff47dc15ea..fec81c9758 100644 --- a/src/apis/firebaseml/v2beta.ts +++ b/src/apis/firebaseml/v2beta.ts @@ -627,6 +627,10 @@ export namespace firebaseml_v2beta { * Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter. */ labels?: {[key: string]: string} | null; + /** + * Optional. Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied. + */ + modelArmorConfig?: Schema$GoogleCloudAiplatformV1beta1ModelArmorConfig; /** * Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. */ @@ -1144,6 +1148,19 @@ export namespace firebaseml_v2beta { */ tokenCount?: number | null; } + /** + * Configuration for Model Armor integrations of prompt and responses. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ModelArmorConfig { + /** + * Optional. The name of the Model Armor template to use for prompt sanitization. + */ + promptTemplateName?: string | null; + /** + * Optional. The name of the Model Armor template to use for response sanitization. + */ + responseTemplateName?: string | null; + } /** * A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. */ @@ -2015,6 +2032,7 @@ export namespace firebaseml_v2beta { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, @@ -2186,6 +2204,7 @@ export namespace firebaseml_v2beta { * // "contents": [], * // "generationConfig": {}, * // "labels": {}, + * // "modelArmorConfig": {}, * // "safetySettings": [], * // "systemInstruction": {}, * // "toolConfig": {}, From 6b56211f0c14106f280daeea9f82e73b778f3a2b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 29/43] feat(managedkafka): update the API #### managedkafka:v1 The following keys were added: - resources.projects.resources.locations.resources.schemaRegistries.methods.list.parameters.view.description - resources.projects.resources.locations.resources.schemaRegistries.methods.list.parameters.view.enum - resources.projects.resources.locations.resources.schemaRegistries.methods.list.parameters.view.enumDescriptions - resources.projects.resources.locations.resources.schemaRegistries.methods.list.parameters.view.location - resources.projects.resources.locations.resources.schemaRegistries.methods.list.parameters.view.type --- discovery/managedkafka-v1.json | 17 ++++++++++++++++- src/apis/managedkafka/v1.ts | 6 ++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/discovery/managedkafka-v1.json b/discovery/managedkafka-v1.json index dea5d93cf0..ad8d701cbd 100644 --- a/discovery/managedkafka-v1.json +++ b/discovery/managedkafka-v1.json @@ -1532,6 +1532,21 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. Specifies the view to return for the schema registry instances. If not specified, the default view is SCHEMA_REGISTRY_VIEW_BASIC.", + "enum": [ + "SCHEMA_REGISTRY_VIEW_UNSPECIFIED", + "SCHEMA_REGISTRY_VIEW_BASIC", + "SCHEMA_REGISTRY_VIEW_FULL" + ], + "enumDescriptions": [ + "The unset value. The API will default to SCHEMA_REGISTRY_VIEW_BASIC.", + "If SchemaRegistryView is not specified, this is the default value. Returns only the name of the schema registry. The contexts associated with it are not included.", + "Returns the name of the schema registry and all the contexts associated with it." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/schemaRegistries", @@ -2919,7 +2934,7 @@ } } }, - "revision": "20250701", + "revision": "20250731", "rootUrl": "https://managedkafka.googleapis.com/", "schemas": { "AccessConfig": { diff --git a/src/apis/managedkafka/v1.ts b/src/apis/managedkafka/v1.ts index e7532a7da4..233aa8938f 100644 --- a/src/apis/managedkafka/v1.ts +++ b/src/apis/managedkafka/v1.ts @@ -8123,6 +8123,8 @@ export namespace managedkafka_v1 { * const res = await managedkafka.projects.locations.schemaRegistries.list({ * // Required. The parent whose schema registry instances are to be listed. Structured like: `projects/{project\}/locations/{location\}` * parent: 'projects/my-project/locations/my-location', + * // Optional. Specifies the view to return for the schema registry instances. If not specified, the default view is SCHEMA_REGISTRY_VIEW_BASIC. + * view: 'placeholder-value', * }); * console.log(res.data); * @@ -8266,6 +8268,10 @@ export namespace managedkafka_v1 { * Required. The parent whose schema registry instances are to be listed. Structured like: `projects/{project\}/locations/{location\}` */ parent?: string; + /** + * Optional. Specifies the view to return for the schema registry instances. If not specified, the default view is SCHEMA_REGISTRY_VIEW_BASIC. + */ + view?: string; } export class Resource$Projects$Locations$Schemaregistries$Compatibility { From 38ea1785ece2f8f291909a1fd9e0d7aa0ff22abd Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 30/43] feat(merchantapi): update the API #### merchantapi:accounts_v1beta The following keys were changed: - schemas.About.description - schemas.InventoryVerification.description - schemas.OnDisplayToOrder.description #### merchantapi:lfp_v1beta The following keys were changed: - schemas.LfpStore.properties.gcidCategory.description #### merchantapi:ordertracking_v1beta The following keys were added: - schemas.LineItemDetails.properties.gtin.deprecated - schemas.LineItemDetails.properties.gtins.description - schemas.LineItemDetails.properties.gtins.items.type - schemas.LineItemDetails.properties.gtins.type #### merchantapi:promotions_v1beta The following keys were changed: - resources.accounts.resources.promotions.methods.list.parameters.pageSize.description - resources.accounts.resources.promotions.methods.list.parameters.pageToken.description #### merchantapi:reports_v1beta The following keys were changed: - schemas.SearchRequest.properties.query.description --- discovery/merchantapi-accounts_v1.json | 5402 ++++++ discovery/merchantapi-accounts_v1beta.json | 8 +- discovery/merchantapi-conversions_v1.json | 650 + discovery/merchantapi-datasources_v1.json | 1037 ++ discovery/merchantapi-inventories_v1.json | 713 + discovery/merchantapi-issueresolution_v1.json | 1248 ++ discovery/merchantapi-lfp_v1beta.json | 4 +- discovery/merchantapi-notifications_v1.json | 483 + discovery/merchantapi-ordertracking_v1.json | 569 + .../merchantapi-ordertracking_v1beta.json | 10 +- discovery/merchantapi-products_v1.json | 2125 +++ discovery/merchantapi-promotions_v1.json | 1034 ++ discovery/merchantapi-promotions_v1beta.json | 6 +- discovery/merchantapi-quota_v1.json | 393 + discovery/merchantapi-reports_v1.json | 1550 ++ discovery/merchantapi-reports_v1beta.json | 4 +- src/apis/merchantapi/accounts_v1.ts | 13566 ++++++++++++++++ src/apis/merchantapi/accounts_v1beta.ts | 6 +- src/apis/merchantapi/conversions_v1.ts | 1284 ++ src/apis/merchantapi/datasources_v1.ts | 1690 ++ src/apis/merchantapi/index.ts | 132 + src/apis/merchantapi/inventories_v1.ts | 1321 ++ src/apis/merchantapi/issueresolution_v1.ts | 1425 ++ src/apis/merchantapi/lfp_v1beta.ts | 2 +- src/apis/merchantapi/notifications_v1.ts | 1052 ++ src/apis/merchantapi/ordertracking_v1.ts | 599 + src/apis/merchantapi/ordertracking_v1beta.ts | 4 + src/apis/merchantapi/products_v1.ts | 2013 +++ src/apis/merchantapi/promotions_v1.ts | 995 ++ src/apis/merchantapi/promotions_v1beta.ts | 8 +- src/apis/merchantapi/quota_v1.ts | 424 + src/apis/merchantapi/reports_v1.ts | 1205 ++ src/apis/merchantapi/reports_v1beta.ts | 2 +- 33 files changed, 40943 insertions(+), 21 deletions(-) create mode 100644 discovery/merchantapi-accounts_v1.json create mode 100644 discovery/merchantapi-conversions_v1.json create mode 100644 discovery/merchantapi-datasources_v1.json create mode 100644 discovery/merchantapi-inventories_v1.json create mode 100644 discovery/merchantapi-issueresolution_v1.json create mode 100644 discovery/merchantapi-notifications_v1.json create mode 100644 discovery/merchantapi-ordertracking_v1.json create mode 100644 discovery/merchantapi-products_v1.json create mode 100644 discovery/merchantapi-promotions_v1.json create mode 100644 discovery/merchantapi-quota_v1.json create mode 100644 discovery/merchantapi-reports_v1.json create mode 100644 src/apis/merchantapi/accounts_v1.ts create mode 100644 src/apis/merchantapi/conversions_v1.ts create mode 100644 src/apis/merchantapi/datasources_v1.ts create mode 100644 src/apis/merchantapi/inventories_v1.ts create mode 100644 src/apis/merchantapi/issueresolution_v1.ts create mode 100644 src/apis/merchantapi/notifications_v1.ts create mode 100644 src/apis/merchantapi/ordertracking_v1.ts create mode 100644 src/apis/merchantapi/products_v1.ts create mode 100644 src/apis/merchantapi/promotions_v1.ts create mode 100644 src/apis/merchantapi/quota_v1.ts create mode 100644 src/apis/merchantapi/reports_v1.ts diff --git a/discovery/merchantapi-accounts_v1.json b/discovery/merchantapi-accounts_v1.json new file mode 100644 index 0000000000..eefc5d5da7 --- /dev/null +++ b/discovery/merchantapi-accounts_v1.json @@ -0,0 +1,5402 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:accounts_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "methods": { + "createAndConfigure": { + "description": "Creates a Merchant Center account with additional configuration. Adds the user that makes the request as an admin for the new account.", + "flatPath": "accounts/v1/accounts:createAndConfigure", + "httpMethod": "POST", + "id": "merchantapi.accounts.createAndConfigure", + "parameterOrder": [], + "parameters": {}, + "path": "accounts/v1/accounts:createAndConfigure", + "request": { + "$ref": "CreateAndConfigureAccountRequest" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "delete": { + "description": "Deletes the specified account regardless of its type: standalone, advanced account or sub-account. Deleting an advanced account leads to the deletion of all of its sub-accounts. Executing this method requires admin access. The deletion succeeds only if the account does not provide services to any other account and has no processed offers. You can use the `force` parameter to override this.", + "flatPath": "accounts/v1/accounts/{accountsId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Optional. If set to `true`, the account is deleted even if it provides services to other accounts or has processed offers.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the account to delete. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Retrieves an account from your Merchant Center account. After inserting, updating, or deleting an account, it may take several minutes before changes take effect.", + "flatPath": "accounts/v1/accounts/{accountsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the account to retrieve. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Note: For the `accounts.list` method, quota and limits usage are charged for each user, and not for the Merchant Center ID or the advanced account ID. To list several sub-accounts, you should use the `accounts.listSubaccounts` method, which is more suitable for advanced accounts use case.", + "flatPath": "accounts/v1/accounts", + "httpMethod": "GET", + "id": "merchantapi.accounts.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Optional. Returns only accounts that match the [filter](https://developers.google.com/merchant/api/guides/accounts/filter). For more details, see the [filter syntax reference](https://developers.google.com/merchant/api/guides/accounts/filter-syntax).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 250 accounts are returned. The maximum value is 500; values above 500 are coerced to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `accounts.list` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided in the `accounts.list` request must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/accounts", + "response": { + "$ref": "ListAccountsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "listSubaccounts": { + "description": "List all sub-accounts for a given advanced account. This is a convenience wrapper for the more powerful `accounts.list` method. This method will produce the same results as calling `ListsAccounts` with the following filter: `relationship(providerId={parent} AND service(type=\"ACCOUNT_AGGREGATION\"))`", + "flatPath": "accounts/v1/accounts/{accountsId}:listSubaccounts", + "httpMethod": "GET", + "id": "merchantapi.accounts.listSubaccounts", + "parameterOrder": [ + "provider" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 250 accounts are returned. The maximum value is 500; values above 500 are coerced to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `accounts.list` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided in the `accounts.list` request must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "provider": { + "description": "Required. The aggregation service provider. Format: `accounts/{accountId}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+provider}:listSubaccounts", + "response": { + "$ref": "ListSubAccountsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Updates an account regardless of its type: standalone, advanced account or sub-account. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the account. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_name` - `adult_content` - `language_code` - `time_zone`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "Account" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + }, + "resources": { + "autofeedSettings": { + "methods": { + "getAutofeedSettings": { + "description": "Retrieves the autofeed settings of an account.", + "flatPath": "accounts/v1/accounts/{accountsId}/autofeedSettings", + "httpMethod": "GET", + "id": "merchantapi.accounts.autofeedSettings.getAutofeedSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the autofeed settings. Format: `accounts/{account}/autofeedSettings`", + "location": "path", + "pattern": "^accounts/[^/]+/autofeedSettings$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "AutofeedSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateAutofeedSettings": { + "description": "Updates the autofeed settings of an account.", + "flatPath": "accounts/v1/accounts/{accountsId}/autofeedSettings", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.autofeedSettings.updateAutofeedSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the autofeed settings. Format: `accounts/{account}/autofeedSettings`.", + "location": "path", + "pattern": "^accounts/[^/]+/autofeedSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. List of fields being updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "AutofeedSettings" + }, + "response": { + "$ref": "AutofeedSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "automaticImprovements": { + "methods": { + "getAutomaticImprovements": { + "description": "Retrieves the automatic improvements of an account.", + "flatPath": "accounts/v1/accounts/{accountsId}/automaticImprovements", + "httpMethod": "GET", + "id": "merchantapi.accounts.automaticImprovements.getAutomaticImprovements", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the automatic improvements. Format: `accounts/{account}/automaticImprovements`", + "location": "path", + "pattern": "^accounts/[^/]+/automaticImprovements$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "AutomaticImprovements" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateAutomaticImprovements": { + "description": "Updates the automatic improvements of an account.", + "flatPath": "accounts/v1/accounts/{accountsId}/automaticImprovements", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.automaticImprovements.updateAutomaticImprovements", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the automatic improvements. Format: `accounts/{account}/automaticImprovements`.", + "location": "path", + "pattern": "^accounts/[^/]+/automaticImprovements$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `item_updates` - `item_updates.account_level_settings` - `image_improvements` - `image_improvements.account_level_settings` - `shipping_improvements` - `shipping_improvements.allow_shipping_improvements`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "AutomaticImprovements" + }, + "response": { + "$ref": "AutomaticImprovements" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "businessIdentity": { + "methods": { + "getBusinessIdentity": { + "description": "Retrieves the business identity of an account.", + "flatPath": "accounts/v1/accounts/{accountsId}/businessIdentity", + "httpMethod": "GET", + "id": "merchantapi.accounts.businessIdentity.getBusinessIdentity", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the business identity. Format: `accounts/{account}/businessIdentity`. For example, `accounts/123456/businessIdentity`.", + "location": "path", + "pattern": "^accounts/[^/]+/businessIdentity$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "BusinessIdentity" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateBusinessIdentity": { + "description": "Updates the business identity of an account. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/businessIdentity", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.businessIdentity.updateBusinessIdentity", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the business identity. Format: `accounts/{account}/businessIdentity`", + "location": "path", + "pattern": "^accounts/[^/]+/businessIdentity$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `black_owned` - `latino_owned` - `promotions_consent` - `small_business` - `veteran_owned` - `women_owned`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "BusinessIdentity" + }, + "response": { + "$ref": "BusinessIdentity" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "businessInfo": { + "methods": { + "getBusinessInfo": { + "description": "Retrieves the business info of an account.", + "flatPath": "accounts/v1/accounts/{accountsId}/businessInfo", + "httpMethod": "GET", + "id": "merchantapi.accounts.businessInfo.getBusinessInfo", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the business info. Format: `accounts/{account}/businessInfo`. For example, `accounts/123456/businessInfo`.", + "location": "path", + "pattern": "^accounts/[^/]+/businessInfo$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "BusinessInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateBusinessInfo": { + "description": "Updates the business info of an account. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/businessInfo", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.businessInfo.updateBusinessInfo", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the business info. Format: `accounts/{account}/businessInfo`", + "location": "path", + "pattern": "^accounts/[^/]+/businessInfo$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `address` - `customer_service` - `korean_business_registration_number`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "BusinessInfo" + }, + "response": { + "$ref": "BusinessInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "developerRegistration": { + "methods": { + "getDeveloperRegistration": { + "description": "Retrieves a developer registration for a merchant.", + "flatPath": "accounts/v1/accounts/{accountsId}/developerRegistration", + "httpMethod": "GET", + "id": "merchantapi.accounts.developerRegistration.getDeveloperRegistration", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The `name` (ID) of the developer registration.", + "location": "path", + "pattern": "^accounts/[^/]+/developerRegistration$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "DeveloperRegistration" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "registerGcp": { + "description": "Registers the GCP used for the API call to the shopping account passed in the request. Will create a user with an \"API developer\" and add the \"developer_email\" as a contact with \"API notifications\" email preference on.", + "flatPath": "accounts/v1/accounts/{accountsId}/developerRegistration:registerGcp", + "httpMethod": "POST", + "id": "merchantapi.accounts.developerRegistration.registerGcp", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the developer registration to be created for the merchant account that the GCP will be registered with. Format: `accounts/{account}/developerRegistration`", + "location": "path", + "pattern": "^accounts/[^/]+/developerRegistration$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:registerGcp", + "request": { + "$ref": "RegisterGcpRequest" + }, + "response": { + "$ref": "DeveloperRegistration" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "unregisterGcp": { + "description": "Unregister the calling GCP from the calling shopping account. Note that the GCP will still be able to access the API for at most 1 day from the unregister succussful call.", + "flatPath": "accounts/v1/accounts/{accountsId}/developerRegistration:unregisterGcp", + "httpMethod": "POST", + "id": "merchantapi.accounts.developerRegistration.unregisterGcp", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the developer registration to be created for the merchant account that the GCP will be registered with. Format: `accounts/{account}/developerRegistration`", + "location": "path", + "pattern": "^accounts/[^/]+/developerRegistration$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:unregisterGcp", + "request": { + "$ref": "UnregisterGcpRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "emailPreferences": { + "methods": { + "getEmailPreferences": { + "description": "Returns the email preferences for a Merchant Center account user. This service only permits retrieving and updating email preferences for the authenticated user. Use the name=accounts/*/users/me/emailPreferences alias to get preferences for the authenticated user.", + "flatPath": "accounts/v1/accounts/{accountsId}/users/{usersId}/emailPreferences", + "httpMethod": "GET", + "id": "merchantapi.accounts.emailPreferences.getEmailPreferences", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `EmailPreferences` resource. Format: `accounts/{account}/users/{email}/emailPreferences`", + "location": "path", + "pattern": "^accounts/[^/]+/users/[^/]+/emailPreferences$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "EmailPreferences" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateEmailPreferences": { + "description": "Updates the email preferences for a Merchant Center account user. Advanced account users should specify the advanced account rather than a sub-account of the advanced account. Preferences which are not explicitly selected in the update mask will not be updated. It is invalid for updates to specify an UNCONFIRMED opt-in status value. Use the name=accounts/*/users/me/emailPreferences alias to update preferences for the authenticated user.", + "flatPath": "accounts/v1/accounts/{accountsId}/users/{usersId}/emailPreferences", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.emailPreferences.updateEmailPreferences", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The name of the EmailPreferences. The endpoint is only supported for the authenticated user.", + "location": "path", + "pattern": "^accounts/[^/]+/users/[^/]+/emailPreferences$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `news_and_tips`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "EmailPreferences" + }, + "response": { + "$ref": "EmailPreferences" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "gbpAccounts": { + "methods": { + "linkGbpAccount": { + "description": "Link the specified merchant to a GBP account for all countries. To run this method, you must have admin access to the Merchant Center account. If you don't have admin access, the request fails with the error message `User is not an administrator of account {ACCOUNT_ID}`.", + "flatPath": "accounts/v1/accounts/{accountsId}/gbpAccounts:linkGbpAccount", + "httpMethod": "POST", + "id": "merchantapi.accounts.gbpAccounts.linkGbpAccount", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the parent resource to which the GBP account is linked. Format: `accounts/{account}`.", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/gbpAccounts:linkGbpAccount", + "request": { + "$ref": "LinkGbpAccountRequest" + }, + "response": { + "$ref": "LinkGbpAccountResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "List the GBP accounts for a given merchant.", + "flatPath": "accounts/v1/accounts/{accountsId}/gbpAccounts", + "httpMethod": "GET", + "id": "merchantapi.accounts.gbpAccounts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of `GbpAccount` resources to return. The service returns fewer than this value if the number of gbp accounts is less that than the `pageSize`. The default value is 50. The maximum value is 1000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListGbpAccounts` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListGbpAccounts` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the parent resource under which the GBP accounts are listed. Format: `accounts/{account}`.", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/gbpAccounts", + "response": { + "$ref": "ListGbpAccountsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "homepage": { + "methods": { + "claim": { + "description": "Claims a store's homepage. Executing this method requires admin access. If the homepage is already claimed, this will recheck the verification (unless the business is exempted from claiming, which also exempts from verification) and return a successful response. If ownership can no longer be verified, it will return an error, but it won't clear the claim. In case of failure, a canonical error message is returned: * PERMISSION_DENIED: User doesn't have the necessary permissions on this Merchant Center account. * FAILED_PRECONDITION: - The account is not a Merchant Center account. - Merchant Center account doesn't have a homepage. - Claiming failed (in this case the error message contains more details).", + "flatPath": "accounts/v1/accounts/{accountsId}/homepage:claim", + "httpMethod": "POST", + "id": "merchantapi.accounts.homepage.claim", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the homepage to claim. Format: `accounts/{account}/homepage`", + "location": "path", + "pattern": "^accounts/[^/]+/homepage$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:claim", + "request": { + "$ref": "ClaimHomepageRequest" + }, + "response": { + "$ref": "Homepage" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "getHomepage": { + "description": "Retrieves a store's homepage.", + "flatPath": "accounts/v1/accounts/{accountsId}/homepage", + "httpMethod": "GET", + "id": "merchantapi.accounts.homepage.getHomepage", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the homepage to retrieve. Format: `accounts/{account}/homepage`", + "location": "path", + "pattern": "^accounts/[^/]+/homepage$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Homepage" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "unclaim": { + "description": "Unclaims a store's homepage. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/homepage:unclaim", + "httpMethod": "POST", + "id": "merchantapi.accounts.homepage.unclaim", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the homepage to unclaim. Format: `accounts/{account}/homepage`", + "location": "path", + "pattern": "^accounts/[^/]+/homepage$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:unclaim", + "request": { + "$ref": "UnclaimHomepageRequest" + }, + "response": { + "$ref": "Homepage" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateHomepage": { + "description": "Updates a store's homepage. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/homepage", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.homepage.updateHomepage", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the store's homepage. Format: `accounts/{account}/homepage`", + "location": "path", + "pattern": "^accounts/[^/]+/homepage$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `uri`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "Homepage" + }, + "response": { + "$ref": "Homepage" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "issues": { + "methods": { + "list": { + "description": "Lists all account issues of a Merchant Center account. When called on a multi-client account, this method only returns issues belonging to that account, not its sub-accounts. To retrieve issues for sub-accounts, you must first call the accounts.listSubaccounts method to obtain a list of sub-accounts, and then call `accounts.issues.list` for each sub-account individually.", + "flatPath": "accounts/v1/accounts/{accountsId}/issues", + "httpMethod": "GET", + "id": "merchantapi.accounts.issues.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "languageCode": { + "description": "Optional. The issues in the response will have human-readable fields in the given language. The format is [BCP-47](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`. If not value is provided, `en-US` will be used.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of issues to return. The service may return fewer than this value. If unspecified, at most 50 issues will be returned. The maximum value is 100; values above 100 will be coerced to 100", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListAccountIssues` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountIssues` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of issues. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "timeZone": { + "description": "Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in human-readable fields. For example 'America/Los_Angeles'. If not set, 'America/Los_Angeles' will be used.", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/issues", + "response": { + "$ref": "ListAccountIssuesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "omnichannelSettings": { + "methods": { + "create": { + "description": "Create the omnichannel settings for a given merchant.", + "flatPath": "accounts/v1/accounts/{accountsId}/omnichannelSettings", + "httpMethod": "POST", + "id": "merchantapi.accounts.omnichannelSettings.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this omnichannel setting will be created. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/omnichannelSettings", + "request": { + "$ref": "OmnichannelSetting" + }, + "response": { + "$ref": "OmnichannelSetting" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Get the omnichannel settings for a given merchant.", + "flatPath": "accounts/v1/accounts/{accountsId}/omnichannelSettings/{omnichannelSettingsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.omnichannelSettings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the omnichannel setting to retrieve. Format: `accounts/{account}/omnichannelSettings/{omnichannel_setting}`", + "location": "path", + "pattern": "^accounts/[^/]+/omnichannelSettings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "OmnichannelSetting" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "List all the omnichannel settings for a given merchant.", + "flatPath": "accounts/v1/accounts/{accountsId}/omnichannelSettings", + "httpMethod": "GET", + "id": "merchantapi.accounts.omnichannelSettings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of omnichannel settings to return. The service may return fewer than this value. If unspecified, at most 50 omnichannel settings 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 `ListOmnichannelSettings` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListOmnichannelSettings` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of omnichannel settings. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/omnichannelSettings", + "response": { + "$ref": "ListOmnichannelSettingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Update the omnichannel setting for a given merchant in a given country.", + "flatPath": "accounts/v1/accounts/{accountsId}/omnichannelSettings/{omnichannelSettingsId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.omnichannelSettings.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the omnichannel setting. Format: `accounts/{account}/omnichannelSettings/{omnichannel_setting}`", + "location": "path", + "pattern": "^accounts/[^/]+/omnichannelSettings/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated. The following fields are supported in snake_case only: - `lsf_type` - `in_stock` - `pickup` - `odo` - `about` - `inventory_verification` Full replacement with wildcard `*`is supported, while empty/implied update mask is not.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "OmnichannelSetting" + }, + "response": { + "$ref": "OmnichannelSetting" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "requestInventoryVerification": { + "description": "Requests inventory verification for a given merchant in a given country.", + "flatPath": "accounts/v1/accounts/{accountsId}/omnichannelSettings/{omnichannelSettingsId}:requestInventoryVerification", + "httpMethod": "POST", + "id": "merchantapi.accounts.omnichannelSettings.requestInventoryVerification", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the omnichannel setting to request inventory verification. Format: `accounts/{account}/omnichannelSettings/{omnichannel_setting}`", + "location": "path", + "pattern": "^accounts/[^/]+/omnichannelSettings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:requestInventoryVerification", + "request": { + "$ref": "RequestInventoryVerificationRequest" + }, + "response": { + "$ref": "RequestInventoryVerificationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + }, + "resources": { + "lfpProviders": { + "methods": { + "find": { + "description": "Find the LFP provider candidates in a given country.", + "flatPath": "accounts/v1/accounts/{accountsId}/omnichannelSettings/{omnichannelSettingsId}/lfpProviders:find", + "httpMethod": "GET", + "id": "merchantapi.accounts.omnichannelSettings.lfpProviders.find", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of `LfpProvider` resources to return. The service returns fewer than this value if the number of lfp providers is less that than the `pageSize`. The default value is 50. The maximum value is 1000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `FindLfpProviders` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `FindLfpProviders` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the parent resource under which the LFP providers are found. Format: `accounts/{account}/omnichannelSettings/{omnichannel_setting}`.", + "location": "path", + "pattern": "^accounts/[^/]+/omnichannelSettings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/lfpProviders:find", + "response": { + "$ref": "FindLfpProvidersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "linkLfpProvider": { + "description": "Link the specified merchant to a LFP provider for the specified country.", + "flatPath": "accounts/v1/accounts/{accountsId}/omnichannelSettings/{omnichannelSettingsId}/lfpProviders/{lfpProvidersId}:linkLfpProvider", + "httpMethod": "POST", + "id": "merchantapi.accounts.omnichannelSettings.lfpProviders.linkLfpProvider", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the LFP provider resource to link. Format: `accounts/{account}/omnichannelSettings/{omnichannel_setting}/lfpProviders/{lfp_provider}`. The `lfp_provider` is the LFP provider ID.", + "location": "path", + "pattern": "^accounts/[^/]+/omnichannelSettings/[^/]+/lfpProviders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:linkLfpProvider", + "request": { + "$ref": "LinkLfpProviderRequest" + }, + "response": { + "$ref": "LinkLfpProviderResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + }, + "onlineReturnPolicies": { + "methods": { + "create": { + "description": "Creates a new return policy for a given business.", + "flatPath": "accounts/v1/accounts/{accountsId}/onlineReturnPolicies", + "httpMethod": "POST", + "id": "merchantapi.accounts.onlineReturnPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The Merchant Center account for which the return policy will be created. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/onlineReturnPolicies", + "request": { + "$ref": "OnlineReturnPolicy" + }, + "response": { + "$ref": "OnlineReturnPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "delete": { + "description": "Deletes an existing return policy.", + "flatPath": "accounts/v1/accounts/{accountsId}/onlineReturnPolicies/{onlineReturnPoliciesId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.onlineReturnPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the return policy to delete. Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`", + "location": "path", + "pattern": "^accounts/[^/]+/onlineReturnPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Gets an existing return policy for a given business.", + "flatPath": "accounts/v1/accounts/{accountsId}/onlineReturnPolicies/{onlineReturnPoliciesId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.onlineReturnPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the return policy to retrieve. Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`", + "location": "path", + "pattern": "^accounts/[^/]+/onlineReturnPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "OnlineReturnPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists all existing return policies for a given business.", + "flatPath": "accounts/v1/accounts/{accountsId}/onlineReturnPolicies", + "httpMethod": "GET", + "id": "merchantapi.accounts.onlineReturnPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of `OnlineReturnPolicy` resources to return. The service returns fewer than this value if the number of return policies for the given business is less that than the `pageSize`. The default value is 10. The maximum value is 100; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListOnlineReturnPolicies` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListOnlineReturnPolicies` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The Merchant Center account for which to list return policies. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/onlineReturnPolicies", + "response": { + "$ref": "ListOnlineReturnPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "programs": { + "methods": { + "disable": { + "description": "Disable participation in the specified program for the account.", + "flatPath": "accounts/v1/accounts/{accountsId}/programs/{programsId}:disable", + "httpMethod": "POST", + "id": "merchantapi.accounts.programs.disable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the program for which to disable participation for the given account. Format: `accounts/{account}/programs/{program}`. For example, `accounts/123456/programs/free-listings`.", + "location": "path", + "pattern": "^accounts/[^/]+/programs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:disable", + "request": { + "$ref": "DisableProgramRequest" + }, + "response": { + "$ref": "Program" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "enable": { + "description": "Enable participation in the specified program for the account.", + "flatPath": "accounts/v1/accounts/{accountsId}/programs/{programsId}:enable", + "httpMethod": "POST", + "id": "merchantapi.accounts.programs.enable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the program for which to enable participation for the given account. Format: `accounts/{account}/programs/{program}`. For example, `accounts/123456/programs/free-listings`.", + "location": "path", + "pattern": "^accounts/[^/]+/programs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:enable", + "request": { + "$ref": "EnableProgramRequest" + }, + "response": { + "$ref": "Program" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Retrieves the specified program for the account.", + "flatPath": "accounts/v1/accounts/{accountsId}/programs/{programsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.programs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the program to retrieve. Format: `accounts/{account}/programs/{program}`. For example, `accounts/123456/programs/free-listings`.", + "location": "path", + "pattern": "^accounts/[^/]+/programs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Program" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Retrieves all programs for the account.", + "flatPath": "accounts/v1/accounts/{accountsId}/programs", + "httpMethod": "GET", + "id": "merchantapi.accounts.programs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of programs to return in a single response. If unspecified (or 0), a default size of 1000 is used. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A continuation token, received from a previous `ListPrograms` call. Provide this to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the account for which to retrieve all programs. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/programs", + "response": { + "$ref": "ListProgramsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + }, + "resources": { + "checkoutSettings": { + "methods": { + "create": { + "description": "Creates `CheckoutSettings` for the given merchant.", + "flatPath": "accounts/v1/accounts/{accountsId}/programs/{programsId}/checkoutSettings", + "httpMethod": "POST", + "id": "merchantapi.accounts.programs.checkoutSettings.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The merchant account for which the `CheckoutSettings` will be created.", + "location": "path", + "pattern": "^accounts/[^/]+/programs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/checkoutSettings", + "request": { + "$ref": "CheckoutSettings" + }, + "response": { + "$ref": "CheckoutSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "deleteCheckoutSettings": { + "description": "Deletes `CheckoutSettings` and unenrolls merchant from `Checkout` program.", + "flatPath": "accounts/v1/accounts/{accountsId}/programs/{programsId}/checkoutSettings", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.programs.checkoutSettings.deleteCheckoutSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name/identifier of the merchant account. Format: `accounts/{account}/programs/{program}/checkoutSettings`", + "location": "path", + "pattern": "^accounts/[^/]+/programs/[^/]+/checkoutSettings$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "getCheckoutSettings": { + "description": "Gets `CheckoutSettings` for the given merchant. This includes information about review state, enrollment state and URL settings.", + "flatPath": "accounts/v1/accounts/{accountsId}/programs/{programsId}/checkoutSettings", + "httpMethod": "GET", + "id": "merchantapi.accounts.programs.checkoutSettings.getCheckoutSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name/identifier of the merchant account. Format: `accounts/{account}/programs/{program}/checkoutSettings`", + "location": "path", + "pattern": "^accounts/[^/]+/programs/[^/]+/checkoutSettings$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "CheckoutSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateCheckoutSettings": { + "description": "Updates `CheckoutSettings` for the given merchant.", + "flatPath": "accounts/v1/accounts/{accountsId}/programs/{programsId}/checkoutSettings", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.programs.checkoutSettings.updateCheckoutSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the program configuration settings. Format: `accounts/{account}/programs/{program}/checkoutSettings`", + "location": "path", + "pattern": "^accounts/[^/]+/programs/[^/]+/checkoutSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `eligible_destinations` - `uri_settings`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "CheckoutSettings" + }, + "response": { + "$ref": "CheckoutSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + }, + "regions": { + "methods": { + "create": { + "description": "Creates a region definition in your Merchant Center account. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/regions", + "httpMethod": "POST", + "id": "merchantapi.accounts.regions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account to create a region for. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "regionId": { + "description": "Required. The identifier for the region, unique over all regions of the same account.", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/regions", + "request": { + "$ref": "Region" + }, + "response": { + "$ref": "Region" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "delete": { + "description": "Deletes a region definition from your Merchant Center account. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/regions/{regionsId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.regions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the region to delete. Format: `accounts/{account}/regions/{region}`", + "location": "path", + "pattern": "^accounts/[^/]+/regions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Retrieves a region defined in your Merchant Center account.", + "flatPath": "accounts/v1/accounts/{accountsId}/regions/{regionsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.regions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the region to retrieve. Format: `accounts/{account}/regions/{region}`", + "location": "path", + "pattern": "^accounts/[^/]+/regions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Region" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists the regions in your Merchant Center account.", + "flatPath": "accounts/v1/accounts/{accountsId}/regions", + "httpMethod": "GET", + "id": "merchantapi.accounts.regions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of regions to return. The service may return fewer than this value. If unspecified, at most 50 regions 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 `ListRegions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegions` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list regions for. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/regions", + "response": { + "$ref": "ListRegionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Updates a region definition in your Merchant Center account. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/regions/{regionsId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.regions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the region. Format: `accounts/{account}/regions/{region}`", + "location": "path", + "pattern": "^accounts/[^/]+/regions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The comma-separated field mask indicating the fields to update. Example: `\"displayName,postalCodeArea.regionCode\"`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "Region" + }, + "response": { + "$ref": "Region" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "relationships": { + "methods": { + "get": { + "description": "Retrieve an account relationship.", + "flatPath": "accounts/v1/accounts/{accountsId}/relationships/{relationshipsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.relationships.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the account relationship to get. Format: `accounts/{account}/relationships/{relationship}`. For example, `accounts/123456/relationships/567890`.", + "location": "path", + "pattern": "^accounts/[^/]+/relationships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "AccountRelationship" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "List account relationships for the specified account.", + "flatPath": "accounts/v1/accounts/{accountsId}/relationships", + "httpMethod": "GET", + "id": "merchantapi.accounts.relationships.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of elements to return in the response. Use for paging. If no `page_size` is specified, `100` is used as the default value. The maximum allowed value is `1000`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The token returned by the previous `list` request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent account of the account relationship to filter by. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/relationships", + "response": { + "$ref": "ListAccountRelationshipsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Updates the account relationship. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/relationships/{relationshipsId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.relationships.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the account relationship. Format: `accounts/{account}/relationships/{relationship}`. For example, `accounts/123456/relationships/567890`.", + "location": "path", + "pattern": "^accounts/[^/]+/relationships/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_id_alias`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "AccountRelationship" + }, + "response": { + "$ref": "AccountRelationship" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "services": { + "methods": { + "approve": { + "description": "Approve an account service proposal.", + "flatPath": "accounts/v1/accounts/{accountsId}/services/{servicesId}:approve", + "httpMethod": "POST", + "id": "merchantapi.accounts.services.approve", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the account service to approve. Format: `accounts/{account}/services/{service}`", + "location": "path", + "pattern": "^accounts/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:approve", + "request": { + "$ref": "ApproveAccountServiceRequest" + }, + "response": { + "$ref": "AccountService" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Retrieve an account service.", + "flatPath": "accounts/v1/accounts/{accountsId}/services/{servicesId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the account service to get. Format: `accounts/{account}/services/{service}`", + "location": "path", + "pattern": "^accounts/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "AccountService" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "List account services for the specified accounts. Supports filtering.", + "flatPath": "accounts/v1/accounts/{accountsId}/services", + "httpMethod": "GET", + "id": "merchantapi.accounts.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of elements to return in the response. Use for paging. If no `page_size` is specified, `100` is used as the default value. The maximum allowed value is `1000`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The token returned by the previous `list` request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent account of the account service to filter by. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/services", + "response": { + "$ref": "ListAccountServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "propose": { + "description": "Propose an account service.", + "flatPath": "accounts/v1/accounts/{accountsId}/services:propose", + "httpMethod": "POST", + "id": "merchantapi.accounts.services.propose", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the parent account for the service. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/services:propose", + "request": { + "$ref": "ProposeAccountServiceRequest" + }, + "response": { + "$ref": "AccountService" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "reject": { + "description": "Reject an account service (both proposed and approve services can be rejected).", + "flatPath": "accounts/v1/accounts/{accountsId}/services/{servicesId}:reject", + "httpMethod": "POST", + "id": "merchantapi.accounts.services.reject", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the account service to reject. Format: `accounts/{account}/services/{service}`", + "location": "path", + "pattern": "^accounts/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}:reject", + "request": { + "$ref": "RejectAccountServiceRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "shippingSettings": { + "methods": { + "getShippingSettings": { + "description": "Retrieve shipping setting information.", + "flatPath": "accounts/v1/accounts/{accountsId}/shippingSettings", + "httpMethod": "GET", + "id": "merchantapi.accounts.shippingSettings.getShippingSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the shipping setting to retrieve. Format: `accounts/{account}/shippingsettings`", + "location": "path", + "pattern": "^accounts/[^/]+/shippingSettings$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "ShippingSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "Replace the shipping setting of a business with the request shipping setting. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/shippingSettings:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.shippingSettings.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account for which this shipping setting will be inserted. If you are using an advanced account, you must specify the unique identifier of the sub-account for which you want to insert the shipping setting. Format: `accounts/{ACCOUNT_ID}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/shippingSettings:insert", + "request": { + "$ref": "ShippingSettings" + }, + "response": { + "$ref": "ShippingSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "termsOfServiceAgreementStates": { + "methods": { + "get": { + "description": "Returns the state of a terms of service agreement.", + "flatPath": "accounts/v1/accounts/{accountsId}/termsOfServiceAgreementStates/{termsOfServiceAgreementStatesId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.termsOfServiceAgreementStates.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the terms of service version. Format: `accounts/{account}/termsOfServiceAgreementStates/{identifier}` The identifier format is: `{TermsOfServiceKind}-{country}`", + "location": "path", + "pattern": "^accounts/[^/]+/termsOfServiceAgreementStates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "TermsOfServiceAgreementState" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "retrieveForApplication": { + "description": "Retrieves the state of the agreement for the application terms of service. Application terms of service covers permissions related to the usage of data provided through Merchant Center, CSS Center, Manufacturer Center, and more.", + "flatPath": "accounts/v1/accounts/{accountsId}/termsOfServiceAgreementStates:retrieveForApplication", + "httpMethod": "GET", + "id": "merchantapi.accounts.termsOfServiceAgreementStates.retrieveForApplication", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account for which to get a TermsOfServiceAgreementState Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/termsOfServiceAgreementStates:retrieveForApplication", + "response": { + "$ref": "TermsOfServiceAgreementState" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "users": { + "methods": { + "create": { + "description": "Creates a Merchant Center account user. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/users", + "httpMethod": "POST", + "id": "merchantapi.accounts.users.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the account for which a user will be created. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "userId": { + "description": "Required. The email address of the user (for example, `john.doe@gmail.com`).", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/users", + "request": { + "$ref": "User" + }, + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "delete": { + "description": "Deletes a Merchant Center account user. Executing this method requires admin access. The user to be deleted can't be the last admin user of that account. Also a user is protected from deletion if it is managed by Business Manager\"", + "flatPath": "accounts/v1/accounts/{accountsId}/users/{usersId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.users.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the user to delete. Format: `accounts/{account}/users/{email}` It is also possible to delete the user corresponding to the caller by using `me` rather than an email address as in `accounts/{account}/users/me`.", + "location": "path", + "pattern": "^accounts/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Retrieves a Merchant Center account user.", + "flatPath": "accounts/v1/accounts/{accountsId}/users/{usersId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.users.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the user to retrieve. Format: `accounts/{account}/users/{email}` It is also possible to retrieve the user corresponding to the caller by using `me` rather than an email address as in `accounts/{account}/users/me`.", + "location": "path", + "pattern": "^accounts/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists all users of a Merchant Center account.", + "flatPath": "accounts/v1/accounts/{accountsId}/users", + "httpMethod": "GET", + "id": "merchantapi.accounts.users.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of users to return. The service may return fewer than this value. If unspecified, at most 50 users will be returned. The maximum value is 100; values above 100 will be coerced to 100", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUsers` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of users. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+parent}/users", + "response": { + "$ref": "ListUsersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Updates a Merchant Center account user. Executing this method requires admin access.", + "flatPath": "accounts/v1/accounts/{accountsId}/users/{usersId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.users.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the user. Format: `accounts/{account}/user/{email}` Use `me` to refer to your own email address, for example `accounts/{account}/users/me`.", + "location": "path", + "pattern": "^accounts/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `access_rights`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "request": { + "$ref": "User" + }, + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + }, + "termsOfService": { + "methods": { + "accept": { + "description": "Accepts a `TermsOfService`. Executing this method requires admin access.", + "flatPath": "accounts/v1/termsOfService/{termsOfServiceId}:accept", + "httpMethod": "POST", + "id": "merchantapi.termsOfService.accept", + "parameterOrder": [ + "name" + ], + "parameters": { + "account": { + "description": "Required. The account for which to accept the ToS. Format: `accounts/{account}`", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the terms of service version. Format: `termsOfService/{version}`", + "location": "path", + "pattern": "^termsOfService/[^/]+$", + "required": true, + "type": "string" + }, + "regionCode": { + "description": "Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country when the ToS applies specifically to that country or 001 when it applies globally.", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/{+name}:accept", + "response": { + "$ref": "AcceptTermsOfServiceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Retrieves the `TermsOfService` associated with the provided version.", + "flatPath": "accounts/v1/termsOfService/{termsOfServiceId}", + "httpMethod": "GET", + "id": "merchantapi.termsOfService.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the terms of service version. Format: `termsOfService/{version}`", + "location": "path", + "pattern": "^termsOfService/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "accounts/v1/{+name}", + "response": { + "$ref": "TermsOfService" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "retrieveLatest": { + "description": "Retrieves the latest version of the `TermsOfService` for a given `kind` and `region_code`.", + "flatPath": "accounts/v1/termsOfService:retrieveLatest", + "httpMethod": "GET", + "id": "merchantapi.termsOfService.retrieveLatest", + "parameterOrder": [], + "parameters": { + "kind": { + "description": "Required. The Kind this terms of service version applies to.", + "enum": [ + "TERMS_OF_SERVICE_KIND_UNSPECIFIED", + "MERCHANT_CENTER" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Merchant Center application." + ], + "location": "query", + "type": "string" + }, + "regionCode": { + "description": "Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country when the ToS applies specifically to that country or 001 when it applies globally.", + "location": "query", + "type": "string" + } + }, + "path": "accounts/v1/termsOfService:retrieveLatest", + "response": { + "$ref": "TermsOfService" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "About": { + "description": "Collection of information related to the about page ([impressum](https://support.google.com/merchants/answer/14675634?ref_topic=15145634&sjid=6892280366904591178-NC)).", + "id": "About", + "properties": { + "state": { + "description": "Output only. The state of the URI.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "FAILED", + "RUNNING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The review process has concluded successfully. The reviewed item is active.", + "The review process failed.", + "The review process is running.", + "The review process is waiting for the merchant to take action." + ], + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Required. The about page URI.", + "type": "string" + } + }, + "type": "object" + }, + "AcceptTermsOfServiceResponse": { + "description": "Response message for the `AcceptTermsOfService` method.", + "id": "AcceptTermsOfServiceResponse", + "properties": { + "termsOfServiceAgreementState": { + "$ref": "TermsOfServiceAgreementState", + "description": "The agreement state after accepting the ToS." + } + }, + "type": "object" + }, + "Accepted": { + "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": { + "description": "Required. The account where the acceptance was recorded. This can be the account itself or, in the case of subaccounts, the advanced account.", + "type": "string" + }, + "termsOfService": { + "description": "Required. The accepted termsOfService.", + "type": "string" + }, + "validUntil": { + "$ref": "Date", + "description": "Optional. When set, it states that the accepted `TermsOfService` is only valid until the end of this date (in UTC). A new one must be accepted before then. The information of the required `TermsOfService` is found in the `Required` message." + } + }, + "type": "object" + }, + "Account": { + "description": "The `Account` message represents a business's account within Shopping Ads. It's the primary entity for managing product data, settings, and interactions with Google's services and external providers. Accounts can operate as standalone entities or be part of a advanced account structure. In an advanced account setup the parent account manages multiple sub-accounts. Establishing an account involves configuring attributes like the account name, time zone, and language preferences. The `Account` message is the parent entity for many other resources, for example, `AccountRelationship`, `Homepage`, `BusinessInfo` and so on.", + "id": "Account", + "properties": { + "accountId": { + "description": "Output only. The ID of the account.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "accountName": { + "description": "Required. A human-readable name of the account. See [store name](https://support.google.com/merchants/answer/160556) and [business name](https://support.google.com/merchants/answer/12159159) for more information.", + "type": "string" + }, + "adultContent": { + "description": "Optional. Whether this account contains adult content.", + "type": "boolean" + }, + "languageCode": { + "description": "Required. The account's [BCP-47 language code](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the account. Format: `accounts/{account}`", + "type": "string" + }, + "testAccount": { + "description": "Output only. Whether this is a test account.", + "readOnly": true, + "type": "boolean" + }, + "timeZone": { + "$ref": "TimeZone", + "description": "Required. The time zone of the account. On writes, `time_zone` sets both the `reporting_time_zone` and the `display_time_zone`. For reads, `time_zone` always returns the `display_time_zone`. If `display_time_zone` doesn't exist for your account, `time_zone` is empty. The `version` field is not supported, won't be set in responses and will be silently ignored if specified in requests." + } + }, + "type": "object" + }, + "AccountAggregation": { + "description": "`AccountAggregation` payload.", + "id": "AccountAggregation", + "properties": {}, + "type": "object" + }, + "AccountIssue": { + "description": "Issues with your Merchant Center account that can impact all your products. For more information, see [Account-level issues in Merchant Center](https://support.google.com/merchants/answer/12153802?sjid=17798438912526418908-EU#account).", + "id": "AccountIssue", + "properties": { + "detail": { + "description": "Further localized details about the issue.", + "type": "string" + }, + "documentationUri": { + "description": "Link to Merchant Center Help Center providing further information about the issue and how to fix it.", + "type": "string" + }, + "impactedDestinations": { + "description": "The impact this issue has on various destinations.", + "items": { + "$ref": "ImpactedDestination" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The resource name of the account issue. Format: `accounts/{account}/issues/{id}`. For example, `accounts/123456/issues/misrepresentation-of-self-or-products-unacceptable-business-practice-policy`.", + "type": "string" + }, + "severity": { + "description": "The overall severity of the issue.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "ERROR", + "SUGGESTION" + ], + "enumDescriptions": [ + "The severity is unknown.", + "The issue causes offers to not serve.", + "The issue might affect offers (in the future) or might be an indicator of issues with offers.", + "The issue is a suggestion for improvement." + ], + "type": "string" + }, + "title": { + "description": "The localized title of the issue.", + "type": "string" + } + }, + "type": "object" + }, + "AccountManagement": { + "description": "`AccountManagement` payload.", + "id": "AccountManagement", + "properties": {}, + "type": "object" + }, + "AccountRelationship": { + "description": "The `AccountRelationship` message defines a formal connection between a merchant's account and a service provider's account. This relationship enables the provider to offer specific services to the business, such as product management or campaign management. It specifies the access rights and permissions to the business's data relevant to those services. Establishing an account relationship involves linking the merchant's account with a provider's account. The provider could be another Google account (like Google Ads or Google My Business) or a third-party platform (such as Shopify or WooCommerce).", + "id": "AccountRelationship", + "properties": { + "accountIdAlias": { + "description": "Optional. An optional alias you can assign to this account relationship. This alias acts as a convenient identifier for your own reference and management. It must be unique among all your account relationships with the same provider. For example, you might use `account_id_alias` to assign a friendly name to this relationship for easier identification in your systems.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the account relationship. Format: `accounts/{account}/relationships/{relationship}`. For example, `accounts/123456/relationships/567890`.", + "type": "string" + }, + "provider": { + "description": "Immutable. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`).", + "type": "string" + }, + "providerDisplayName": { + "description": "Output only. The human-readable display name of the provider account.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AccountService": { + "description": "The `AccountService` message represents a specific service that a provider account offers to a Merchant Center account. `AccountService` defines the permissions and capabilities granted to the provider, allowing for operations such as product management or campaign management. The lifecycle of an `AccountService` involves a proposal phase, where one party suggests the service, and an approval phase, where the other party accepts or rejects it. This handshake mechanism ensures mutual consent before any access is granted. This mechanism safeguards both parties by ensuring that access rights are granted appropriately and that both the business and provider are aware of the services enabled. In scenarios where a user is an admin of both accounts, the approval can happen automatically. The mutability of a service is also managed through `AccountService`. Some services might be immutable, for example, if they were established through other systems or APIs, and you cannot alter them through this API.", + "id": "AccountService", + "properties": { + "accountAggregation": { + "$ref": "AccountAggregation", + "description": "Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many Merchant Center accounts." + }, + "accountManagement": { + "$ref": "AccountManagement", + "description": "Service type for account management. Enables the provider to perform administrative actions on the business's account, such as configuring account settings, managing users, or updating business information." + }, + "campaignsManagement": { + "$ref": "CampaignsManagement", + "description": "Service type for managing advertising campaigns. Grants the provider access to create and manage the business's ad campaigns, including setting up campaigns, adjusting bids, and optimizing performance." + }, + "externalAccountId": { + "description": "Immutable. An optional, immutable identifier that Google uses to refer to this account when communicating with the provider. This should be the unique account ID within the provider's system (for example, your shop ID in Shopify). If you have multiple accounts with the same provider - for instance, different accounts for various regions — the `external_account_id` differentiates between them, ensuring accurate linking and integration between Google and the provider.", + "type": "string" + }, + "handshake": { + "$ref": "Handshake", + "description": "Output only. Information about the state of the service in terms of establishing it (e.g. is it pending approval or approved).", + "readOnly": true + }, + "localListingManagement": { + "$ref": "LocalListingManagement", + "description": "Service type for local listings management. The business group associated with the external account id will be used to provide local inventory to this Merchant Center account." + }, + "mutability": { + "description": "Output only. Whether the service is mutable (e.g. through Approve / Reject RPCs). A service that was created through another system or API might be immutable.", + "enum": [ + "MUTABILITY_UNSPECIFIED", + "MUTABLE", + "IMMUTABLE" + ], + "enumDescriptions": [ + "Unused default value", + "The service can be mutated without restrictions.", + "The service is read-only and must not be mutated." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the account service. Format: `accounts/{account}/services/{service}`", + "type": "string" + }, + "productsManagement": { + "$ref": "ProductsManagement", + "description": "Service type for managing products. This allows the provider to handle product data on behalf of the business, including reading and writing product listings. It's commonly used when the provider offers inventory management or catalog synchronization services to keep the business's product information up-to-date across platforms." + }, + "provider": { + "description": "Output only. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`).", + "readOnly": true, + "type": "string" + }, + "providerDisplayName": { + "description": "Output only. The human-readable display name of the provider account.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AddAccountService": { + "description": "Additional instructions to add account services during creation of the account.", + "id": "AddAccountService", + "properties": { + "accountAggregation": { + "$ref": "AccountAggregation", + "description": "The provider is an [aggregator](https://support.google.com/merchants/answer/188487) for the account. Payload for service type Account Aggregation." + }, + "provider": { + "description": "Required. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`).", + "type": "string" + } + }, + "type": "object" + }, + "AddUser": { + "description": "Instruction for adding a user to the account during creation.", + "id": "AddUser", + "properties": { + "user": { + "$ref": "User", + "description": "Optional. Details about the user to be added. At the moment, only access rights may be specified." + }, + "userId": { + "description": "Required. The email address of the user (for example, `john.doe@gmail.com`).", + "type": "string" + } + }, + "type": "object" + }, + "Address": { + "description": "Shipping address of the warehouse.", + "id": "Address", + "properties": { + "administrativeArea": { + "description": "Required. Top-level administrative subdivision of the country. For example, a state like California (\"CA\") or a province like Quebec (\"QC\").", + "type": "string" + }, + "city": { + "description": "Required. City, town or commune. May also include dependent localities or sublocalities (For example neighborhoods or suburbs).", + "type": "string" + }, + "postalCode": { + "description": "Required. Postal code or ZIP (For example \"94043\").", + "type": "string" + }, + "regionCode": { + "description": "Required. [CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) (For example \"US\").", + "type": "string" + }, + "streetAddress": { + "description": "Street-level part of the address. For example: `111w 31st Street`.", + "type": "string" + } + }, + "type": "object" + }, + "ApproveAccountServiceRequest": { + "description": "Request to approve an account service.", + "id": "ApproveAccountServiceRequest", + "properties": {}, + "type": "object" + }, + "AutofeedSettings": { + "description": "Collection of information related to the [autofeed](https://support.google.com/merchants/answer/7538732) settings.", + "id": "AutofeedSettings", + "properties": { + "eligible": { + "description": "Output only. Determines whether the business is eligible for being enrolled into an autofeed.", + "readOnly": true, + "type": "boolean" + }, + "enableProducts": { + "description": "Required. Enables or disables product crawling through the autofeed for the given account. Autofeed accounts must meet [certain conditions](https://support.google.com/merchants/answer/7538732#Configure_automated_feeds_Standard_Experience), which can be checked through the `eligible` field. The account must **not** be a marketplace. When the autofeed is enabled for the first time, the products usually appear instantly. When re-enabling, it might take up to 24 hours for products to appear.", + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of the autofeed settings. Format: `accounts/{account}/autofeedSettings`.", + "type": "string" + } + }, + "type": "object" + }, + "AutomaticImageImprovements": { + "description": "This improvement will attempt to automatically correct submitted images if they don't meet the [image requirements](https://support.google.com/merchants/answer/6324350), for example, removing overlays. If successful, the image will be replaced and approved. This improvement is only applied to images of disapproved offers. For more information see: [Automatic image improvements](https://support.google.com/merchants/answer/9242973)", + "id": "AutomaticImageImprovements", + "properties": { + "accountImageImprovementsSettings": { + "$ref": "ImageImprovementsAccountLevelSettings", + "description": "Optional. Determines how the images should be automatically updated. If this field is not present and provided in the update mask, then the settings will be deleted. If there are no settings for subaccount, they are inherited from aggregator." + }, + "effectiveAllowAutomaticImageImprovements": { + "description": "Output only. The effective value of allow_automatic_image_improvements. If account_image_improvements_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. Read-only.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "AutomaticImprovements": { + "description": "Collection of information related to the [automatic improvements](https://developers.google.com/shopping-content/guides/automatic-improvements) of an account.", + "id": "AutomaticImprovements", + "properties": { + "imageImprovements": { + "$ref": "AutomaticImageImprovements", + "description": "This improvement will attempt to automatically correct submitted images if they don't meet the [image requirements](https://support.google.com/merchants/answer/6324350), for example, removing overlays. If successful, the image will be replaced and approved. This improvement is only applied to images of disapproved offers. For more information see: [Automatic image improvements](https://support.google.com/merchants/answer/9242973) This field is only updated (cleared) if provided in the update mask." + }, + "itemUpdates": { + "$ref": "AutomaticItemUpdates", + "description": "Turning on [item updates](https://support.google.com/merchants/answer/3246284) allows Google to automatically update items for you. When item updates are on, Google uses the structured data markup on the website and advanced data extractors to update the price and availability of the items. When the item updates are off, items with mismatched data aren't shown. This field is only updated (cleared) if provided in the update mask." + }, + "name": { + "description": "Identifier. The resource name of the automatic improvements. Format: `accounts/{account}/automaticImprovements`.", + "type": "string" + }, + "shippingImprovements": { + "$ref": "AutomaticShippingImprovements", + "description": "Not available for [advanced accounts](https://support.google.com/merchants/answer/188487). By turning on [automatic shipping improvements](https://support.google.com/merchants/answer/10027038), you are allowing Google to improve the accuracy of your delivery times shown to shoppers using Google. More accurate delivery times, especially when faster, typically lead to better conversion rates. Google will improve your estimated delivery times based on various factors: * Delivery address of an order * Current handling time and shipping time settings * Estimated weekdays or business days * Parcel tracking data This field is only updated (cleared) if provided in the update mask." + } + }, + "type": "object" + }, + "AutomaticItemUpdates": { + "description": "Turning on [item updates](https://support.google.com/merchants/answer/3246284) allows Google to automatically update items for you. When item updates are on, Google uses the structured data markup on the website and advanced data extractors to update the price and availability of the items. When the item updates are off, items with mismatched data aren't shown.", + "id": "AutomaticItemUpdates", + "properties": { + "accountItemUpdatesSettings": { + "$ref": "ItemUpdatesAccountLevelSettings", + "description": "Optional. Determines which attributes of the items should be automatically updated. If this field is not present and provided in the update mask, then the settings will be deleted. If there are no settings for subaccount, they are inherited from aggregator." + }, + "effectiveAllowAvailabilityUpdates": { + "description": "Output only. The effective value of allow_availability_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. The default value is true if no settings are present. Read-only.", + "readOnly": true, + "type": "boolean" + }, + "effectiveAllowConditionUpdates": { + "description": "Output only. The effective value of allow_condition_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. The default value is true if no settings are present. Read-only.", + "readOnly": true, + "type": "boolean" + }, + "effectiveAllowPriceUpdates": { + "description": "Output only. The effective value of allow_price_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. The default value is true if no settings are present. Read-only.", + "readOnly": true, + "type": "boolean" + }, + "effectiveAllowStrictAvailabilityUpdates": { + "description": "Output only. The effective value of allow_strict_availability_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. The default value is true if no settings are present. Read-only.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "AutomaticShippingImprovements": { + "description": "Not available for [advanced accounts](https://support.google.com/merchants/answer/188487). By turning on [automatic shipping improvements](https://support.google.com/merchants/answer/10027038), you are allowing Google to improve the accuracy of your delivery times shown to shoppers using Google. More accurate delivery times, especially when faster, typically lead to better conversion rates. Google will improve your estimated delivery times based on various factors: * Delivery address of an order * Current handling time and shipping time settings * Estimated weekdays or business days * Parcel tracking data", + "id": "AutomaticShippingImprovements", + "properties": { + "allowShippingImprovements": { + "description": "Enables automatic shipping improvements.", + "type": "boolean" + } + }, + "type": "object" + }, + "BusinessDayConfig": { + "description": "Business days of the warehouse.", + "id": "BusinessDayConfig", + "properties": { + "businessDays": { + "description": "Required. Regular business days. May not be empty.", + "items": { + "enum": [ + "WEEKDAY_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BusinessIdentity": { + "description": "Collection of information related to the [identity of a business](https://support.google.com/merchants/answer/12564247).", + "id": "BusinessIdentity", + "properties": { + "blackOwned": { + "$ref": "IdentityAttribute", + "description": "Optional. Specifies whether the business identifies itself as being black-owned. This optional field will only be available for businesses with the business country set to `US`. It is also not applicable for marketplaces or marketplace sellers." + }, + "latinoOwned": { + "$ref": "IdentityAttribute", + "description": "Optional. Specifies whether the business identifies itself as being latino-owned. This optional field will only be available for businesses with the business country set to `US`. It is also not applicable for marketplaces or marketplace sellers." + }, + "name": { + "description": "Identifier. The resource name of the business identity. Format: `accounts/{account}/businessIdentity`", + "type": "string" + }, + "promotionsConsent": { + "description": "Required. Whether the identity attributes may be used for promotions.", + "enum": [ + "PROMOTIONS_CONSENT_UNSPECIFIED", + "PROMOTIONS_CONSENT_GIVEN", + "PROMOTIONS_CONSENT_DENIED" + ], + "enumDescriptions": [ + "Default value indicating that no selection was made.", + "Indicates that the account consented to having their business identity used for promotions.", + "Indicates that the account did not consent to having their business identity used for promotions." + ], + "type": "string" + }, + "smallBusiness": { + "$ref": "IdentityAttribute", + "description": "Optional. Specifies whether the business identifies itself as a small business. This optional field will only be available for businesses with a business country set to `US`. It is also not applicable for marketplaces." + }, + "veteranOwned": { + "$ref": "IdentityAttribute", + "description": "Optional. Specifies whether the business identifies itself as being veteran-owned. This optional field will only be available for businesses with a business country set to `US`. It is also not applicable for marketplaces or marketplace sellers." + }, + "womenOwned": { + "$ref": "IdentityAttribute", + "description": "Optional. Specifies whether the business identifies itself as being women-owned. This optional field will only be available for businesses with a business country set to `US`. It is also not applicable for marketplaces or marketplace sellers." + } + }, + "type": "object" + }, + "BusinessInfo": { + "description": "The `BusinessInfo` message contains essential information about a business. This message captures key business details such as physical address, customer service contacts, and region-specific identifiers.", + "id": "BusinessInfo", + "properties": { + "address": { + "$ref": "PostalAddress", + "description": "Optional. The address of the business. Only `region_code`, `address_lines`, `postal_code`, `administrative_area` and `locality` fields are supported. All other fields are ignored." + }, + "customerService": { + "$ref": "CustomerService", + "description": "Optional. The customer service of the business." + }, + "koreanBusinessRegistrationNumber": { + "description": "Optional. The 10-digit [Korean business registration number](https://support.google.com/merchants/answer/9037766) separated with dashes in the format: XXX-XX-XXXXX.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the business info. Format: `accounts/{account}/businessInfo`", + "type": "string" + }, + "phone": { + "$ref": "PhoneNumber", + "description": "Output only. The phone number of the business.", + "readOnly": true + }, + "phoneVerificationState": { + "description": "Output only. The phone verification state of the business.", + "enum": [ + "PHONE_VERIFICATION_STATE_UNSPECIFIED", + "PHONE_VERIFICATION_STATE_VERIFIED", + "PHONE_VERIFICATION_STATE_UNVERIFIED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The phone is verified.", + "The phone is unverified." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CampaignsManagement": { + "description": "`CampaignManagement` payload.", + "id": "CampaignsManagement", + "properties": {}, + "type": "object" + }, + "CarrierRate": { + "description": "A list of carrier rates that can be referred to by `main_table` or `single_value`. Supported carrier services are defined in https://support.google.com/merchants/answer/12577710?ref_topic=12570808&sjid=10662598224319463032-NC#zippy=%2Cdelivery-cost-rate-type%2Ccarrier-rate-au-de-uk-and-us-only.", + "id": "CarrierRate", + "properties": { + "carrier": { + "description": "Required. Carrier service, such as `\"UPS\"` or `\"Fedex\"`.", + "type": "string" + }, + "carrierService": { + "description": "Required. Carrier service, such as `\"ground\"` or `\"2 days\"`.", + "type": "string" + }, + "flatAdjustment": { + "$ref": "Price", + "description": "Optional. Additive shipping rate modifier. Can be negative. For example `{ \"amount_micros\": 1, \"currency_code\" : \"USD\" }` adds $1 to the rate, `{ \"amount_micros\": -3, \"currency_code\" : \"USD\" }` removes $3 from the rate." + }, + "name": { + "description": "Required. Name of the carrier rate. Must be unique per rate group.", + "type": "string" + }, + "originPostalCode": { + "description": "Required. Shipping origin for this carrier rate.", + "type": "string" + }, + "percentageAdjustment": { + "description": "Optional. Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example `\"5.4\"` increases the rate by 5.4%, `\"-3\"` decreases the rate by 3%.", + "type": "string" + } + }, + "type": "object" + }, + "CheckoutSettings": { + "description": "[CheckoutSettings](https://support.google.com/merchants/answer/13945960) for a specific merchant.", + "id": "CheckoutSettings", + "properties": { + "effectiveEnrollmentState": { + "description": "Output only. The effective value of enrollment_state for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account (for only marketplace sellers).", + "enum": [ + "CHECKOUT_ENROLLMENT_STATE_UNSPECIFIED", + "INACTIVE", + "ENROLLED", + "OPTED_OUT" + ], + "enumDescriptions": [ + "Default enrollment state when enrollment state is not specified.", + "Merchant has not enrolled into the program.", + "Merchant has enrolled into the program by providing either an account level URL or checkout URLs as part of their feed.", + "Merchant has previously enrolled but opted out of the program." + ], + "readOnly": true, + "type": "string" + }, + "effectiveReviewState": { + "description": "Output only. The effective value of `review_state` for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account (for only marketplace sellers).", + "enum": [ + "CHECKOUT_REVIEW_STATE_UNSPECIFIED", + "IN_REVIEW", + "APPROVED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Default review state when review state is not specified.", + "Merchant provided URLs are being reviewed for data quality issues.", + "Merchant account has been approved. Indicates the data quality checks have passed.", + "Merchant account has been disapproved due to data quality issues." + ], + "readOnly": true, + "type": "string" + }, + "effectiveUriSettings": { + "$ref": "UriSettings", + "description": "Output only. The effective value of `uri_settings` for a given merchant. If account level settings are present then this value will be a copy of url settings. Otherwise, it will have the value of the parent account (for only marketplace sellers).", + "readOnly": true + }, + "eligibleDestinations": { + "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", + "SHOPPING_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "YOUTUBE_SHOPPING", + "YOUTUBE_SHOPPING_CHECKOUT", + "YOUTUBE_AFFILIATE", + "FREE_VEHICLE_LISTINGS", + "VEHICLE_ADS", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL" + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/google-ads/answer/2454022).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3057972).", + "[Free listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[YouTube Shopping](https://support.google.com/merchants/answer/12362804).", + "Youtube shopping checkout.", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", + "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail)." + ], + "type": "string" + }, + "type": "array" + }, + "enrollmentState": { + "description": "Output only. Reflects the merchant enrollment state in `Checkout` program.", + "enum": [ + "CHECKOUT_ENROLLMENT_STATE_UNSPECIFIED", + "INACTIVE", + "ENROLLED", + "OPTED_OUT" + ], + "enumDescriptions": [ + "Default enrollment state when enrollment state is not specified.", + "Merchant has not enrolled into the program.", + "Merchant has enrolled into the program by providing either an account level URL or checkout URLs as part of their feed.", + "Merchant has previously enrolled but opted out of the program." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the program configuration settings. Format: `accounts/{account}/programs/{program}/checkoutSettings`", + "type": "string" + }, + "reviewState": { + "description": "Output only. Reflects the merchant review state in `Checkout` program. This is set based on the data quality reviews of the URL provided by the merchant. A merchant with enrollment state as `ENROLLED` can be in the following review states: `IN_REVIEW`, `APPROVED` or `DISAPPROVED`. A merchant must be in an `enrollment_state` of `ENROLLED` before a review can begin for the merchant.For more details, check the help center doc.", + "enum": [ + "CHECKOUT_REVIEW_STATE_UNSPECIFIED", + "IN_REVIEW", + "APPROVED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Default review state when review state is not specified.", + "Merchant provided URLs are being reviewed for data quality issues.", + "Merchant account has been approved. Indicates the data quality checks have passed.", + "Merchant account has been disapproved due to data quality issues." + ], + "readOnly": true, + "type": "string" + }, + "uriSettings": { + "$ref": "UriSettings", + "description": "URI settings for cart or checkout URL." + } + }, + "type": "object" + }, + "ClaimHomepageRequest": { + "description": "Request message for the `ClaimHomepage` method.", + "id": "ClaimHomepageRequest", + "properties": { + "overwrite": { + "description": "Optional. When set to `true`, this option removes any existing claim on the requested website from any other account to the account making the request, effectively replacing the previous claim.", + "type": "boolean" + } + }, + "type": "object" + }, + "CreateAndConfigureAccountRequest": { + "description": "Request message for the `CreateAndConfigureAccount` method.", + "id": "CreateAndConfigureAccountRequest", + "properties": { + "account": { + "$ref": "Account", + "description": "Required. The account to be created." + }, + "service": { + "description": "Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `product_management` services may be provided.", + "items": { + "$ref": "AddAccountService" + }, + "type": "array" + }, + "user": { + "description": "Optional. Users to be added to the account.", + "items": { + "$ref": "AddUser" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomerService": { + "description": "Customer service information.", + "id": "CustomerService", + "properties": { + "email": { + "description": "Optional. The email address where customer service may be reached.", + "type": "string" + }, + "phone": { + "$ref": "PhoneNumber", + "description": "Optional. The phone number where customer service may be called." + }, + "uri": { + "description": "Optional. The URI where customer service may be found.", + "type": "string" + } + }, + "type": "object" + }, + "CutoffConfig": { + "description": "Configs related to local delivery ends for the day.", + "id": "CutoffConfig", + "properties": { + "localCutoffTime": { + "$ref": "LocalCutoffTime", + "description": "Time that local delivery ends for the day." + }, + "noDeliveryPostCutoff": { + "description": "Businesses can opt-out of showing n+1 day local delivery when they have a shipping service configured to n day local delivery. For example, if the shipping service defines same-day delivery, and it's past the cut-off, setting this field to `true` results in the calculated shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the same example, setting this field to `false` results in the calculated shipping time being one day. This is only for local delivery.", + "type": "boolean" + }, + "storeCloseOffsetHours": { + "description": "Only valid with local delivery fulfillment. Represents cutoff time as the number of hours before store closing. Mutually exclusive with `local_cutoff_time`.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CutoffTime": { + "description": "Business days cutoff time definition.", + "id": "CutoffTime", + "properties": { + "hour": { + "description": "Required. Hour of the cutoff time until which an order has to be placed to be processed in the same day.", + "format": "int32", + "type": "integer" + }, + "minute": { + "description": "Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "description": "Required. [Timezone identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids) For example \"Europe/Zurich\".", + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DeliveryTime": { + "description": "Time spent in various aspects from order to the delivery of the product.", + "id": "DeliveryTime", + "properties": { + "cutoffTime": { + "$ref": "CutoffTime", + "description": "Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST." + }, + "handlingBusinessDayConfig": { + "$ref": "BusinessDayConfig", + "description": "The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed." + }, + "maxHandlingDays": { + "description": "Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to `min_handling_days`. 'min_handling_days' and 'max_handling_days' should be either set or not set at the same time.", + "format": "int32", + "type": "integer" + }, + "maxTransitDays": { + "description": "Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to `min_transit_days`.", + "format": "int32", + "type": "integer" + }, + "minHandlingDays": { + "description": "Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. 'min_handling_days' and 'max_handling_days' should be either set or not set at the same time.", + "format": "int32", + "type": "integer" + }, + "minTransitDays": { + "description": "Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either `min_transit_days`, `max_transit_days` or `transit_time_table` must be set, but not both.", + "format": "int32", + "type": "integer" + }, + "transitBusinessDayConfig": { + "$ref": "BusinessDayConfig", + "description": "The business days during which orders can be in-transit. If not provided, Monday to Friday business days will be assumed." + }, + "transitTimeTable": { + "$ref": "TransitTable", + "description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either `min_transit_days`, `max_transit_days` or `transit_time_table` can be set, but not both." + }, + "warehouseBasedDeliveryTimes": { + "description": "Optional. Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in delivery time should be set.", + "items": { + "$ref": "WarehouseBasedDeliveryTime" + }, + "type": "array" + } + }, + "type": "object" + }, + "DeveloperRegistration": { + "description": "Represents a developer registration owned by a Merchant account.", + "id": "DeveloperRegistration", + "properties": { + "gcpIds": { + "description": "Output only. The GCP ids attached to this developer registration", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Identifier. The `name` (ID) of the developer registration. Generated by the Content API upon creation of a new `DeveloperRegistration`. The `account` represents the merchant ID of the merchant that owns the registration.", + "type": "string" + } + }, + "type": "object" + }, + "DisableProgramRequest": { + "description": "Request message for the DisableProgram method.", + "id": "DisableProgramRequest", + "properties": {}, + "type": "object" + }, + "Distance": { + "description": "Maximum delivery radius. This is only required for the local delivery shipment type.", + "id": "Distance", + "properties": { + "unit": { + "description": "Unit can differ based on country, it is parameterized to include miles and kilometers.", + "enum": [ + "UNIT_UNSPECIFIED", + "MILES", + "KILOMETERS" + ], + "enumDescriptions": [ + "Unit unspecified", + "Unit in miles", + "Unit in kilometers" + ], + "type": "string" + }, + "value": { + "description": "Integer value of distance.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EmailPreferences": { + "description": "The categories of notifications the user opted into / opted out of. The email preferences do not include mandatory announcements as users can't opt out of them.", + "id": "EmailPreferences", + "properties": { + "name": { + "description": "Identifier. The name of the EmailPreferences. The endpoint is only supported for the authenticated user.", + "type": "string" + }, + "newsAndTips": { + "description": "Optional. Updates on new features, tips and best practices.", + "enum": [ + "OPT_IN_STATE_UNSPECIFIED", + "OPTED_OUT", + "OPTED_IN", + "UNCONFIRMED" + ], + "enumDescriptions": [ + "Opt-in status is not specified.", + "User has opted out of receiving this type of email.", + "User has opted in to receiving this type of email.", + "User has opted in to receiving this type of email and the confirmation email has been sent, but user has not yet confirmed the opt in (applies only to certain countries)." + ], + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EnableProgramRequest": { + "description": "Request message for the EnableProgram method.", + "id": "EnableProgramRequest", + "properties": {}, + "type": "object" + }, + "FindLfpProvidersResponse": { + "description": "Response message for the FindLfpProviders method.", + "id": "FindLfpProvidersResponse", + "properties": { + "lfpProviders": { + "description": "The LFP providers from the specified merchant in the specified country.", + "items": { + "$ref": "LfpProvider" + }, + "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" + }, + "GbpAccount": { + "description": "Collection of information related to a Google Business Profile (GBP) account.", + "id": "GbpAccount", + "properties": { + "gbpAccountId": { + "description": "The id of the GBP account.", + "type": "string" + }, + "gbpAccountName": { + "description": "The name of the Business Profile. For personal accounts: Email id of the owner. For Business accounts: Name of the Business Account.", + "type": "string" + }, + "listingCount": { + "description": "Number of listings under this account.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the GBP account. Format: `accounts/{account}/gbpAccount/{gbp_account}`", + "type": "string" + }, + "type": { + "description": "The type of the Business Profile.", + "enum": [ + "TYPE_UNSPECIFIED", + "USER", + "BUSINESS_ACCOUNT" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The GBP account is a user account.", + "The GBP account is a business account." + ], + "type": "string" + } + }, + "type": "object" + }, + "GeoTargetArea": { + "description": "A list of geotargets that defines the region area.", + "id": "GeoTargetArea", + "properties": { + "geotargetCriteriaIds": { + "description": "Required. A non-empty list of [location IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting). They must all be of the same location type (for example, state).", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Handshake": { + "description": "The current status of establishing of the service. (for example, pending approval or approved).", + "id": "Handshake", + "properties": { + "actor": { + "description": "Output only. The most recent account to modify the account service's `approval_status`.", + "enum": [ + "ACTOR_UNSPECIFIED", + "ACCOUNT", + "OTHER_PARTY" + ], + "enumDescriptions": [ + "Unspecified actor.", + "The last change was done by the account who has this service.", + "The last change was done by the other party who this service points to." + ], + "readOnly": true, + "type": "string" + }, + "approvalState": { + "description": "Output only. The approval state of this handshake.", + "enum": [ + "APPROVAL_STATE_UNSPECIFIED", + "PENDING", + "ESTABLISHED", + "REJECTED" + ], + "enumDescriptions": [ + "Unspecified approval status.", + "The service was proposed and is waiting to be confirmed.", + "Both parties have confirmed the service.", + "The service proposal was rejected." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Headers": { + "description": "A non-empty list of row or column headers for a table. Exactly one of `prices`, `weights`, `num_items`, `postal_code_group_names`, or `location` must be set.", + "id": "Headers", + "properties": { + "locations": { + "description": "Required. A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.", + "items": { + "$ref": "LocationIdSet" + }, + "type": "array" + }, + "numberOfItems": { + "description": "Required. A list of inclusive number of items upper bounds. The last value can be `\"infinity\"`. For example `[\"10\", \"50\", \"infinity\"]` represents the headers \"<= 10 items\", \"<= 50 items\", and \"> 50 items\". Must be non-empty. Can only be set if all other fields are not set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "postalCodeGroupNames": { + "description": "Required. A list of postal group names. The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "prices": { + "description": "Required. A list of inclusive order price upper bounds. The last price's value can be infinity by setting price amount_micros = -1. For example `[{\"amount_micros\": 10000000, \"currency_code\": \"USD\"}, {\"amount_micros\": 500000000, \"currency_code\": \"USD\"}, {\"amount_micros\": -1, \"currency_code\": \"USD\"}]` represents the headers \"<= $10\", \"<= $500\", and \"> $500\". All prices within a service must have the same currency. Must be non-empty. Must be positive except -1. Can only be set if all other fields are not set.", + "items": { + "$ref": "Price" + }, + "type": "array" + }, + "weights": { + "description": "Required. A list of inclusive order weight upper bounds. The last weight's value can be infinity by setting price amount_micros = -1. For example `[{\"amount_micros\": 10000000, \"unit\": \"kg\"}, {\"amount_micros\": 50000000, \"unit\": \"kg\"}, {\"amount_micros\": -1, \"unit\": \"kg\"}]` represents the headers \"<= 10kg\", \"<= 50kg\", and \"> 50kg\". All weights within a service must have the same unit. Must be non-empty. Must be positive except -1. Can only be set if all other fields are not set.", + "items": { + "$ref": "Weight" + }, + "type": "array" + } + }, + "type": "object" + }, + "Homepage": { + "description": "The `Homepage` message represents a business's store homepage within the system. A business's homepage is the primary domain where customers interact with their store. The homepage can be claimed and verified as a proof of ownership and allows the business to unlock features that require a verified website. For more information, see [Understanding online store URL verification](//support.google.com/merchants/answer/176793).", + "id": "Homepage", + "properties": { + "claimed": { + "description": "Output only. Whether the homepage is claimed. See https://support.google.com/merchants/answer/176793.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of the store's homepage. Format: `accounts/{account}/homepage`", + "type": "string" + }, + "uri": { + "description": "Required. The URI (typically a URL) of the store's homepage.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityAttribute": { + "description": "All information related to an identity attribute.", + "id": "IdentityAttribute", + "properties": { + "identityDeclaration": { + "description": "Required. The declaration of identity for this attribute.", + "enum": [ + "IDENTITY_DECLARATION_UNSPECIFIED", + "SELF_IDENTIFIES_AS", + "DOES_NOT_SELF_IDENTIFY_AS" + ], + "enumDescriptions": [ + "Default value indicating that no selection was made.", + "Indicates that the account identifies with the attribute.", + "Indicates that the account does not identify with the attribute." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImageImprovementsAccountLevelSettings": { + "description": "Settings for the Automatic Image Improvements.", + "id": "ImageImprovementsAccountLevelSettings", + "properties": { + "allowAutomaticImageImprovements": { + "description": "Enables automatic image improvements.", + "type": "boolean" + } + }, + "type": "object" + }, + "Impact": { + "description": "The impact of the issue on a region.", + "id": "Impact", + "properties": { + "regionCode": { + "description": "The [CLDR region code](https://cldr.unicode.org/) where this issue applies.", + "type": "string" + }, + "severity": { + "description": "The severity of the issue on the destination and region.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "ERROR", + "SUGGESTION" + ], + "enumDescriptions": [ + "The severity is unknown.", + "The issue causes offers to not serve.", + "The issue might affect offers (in the future) or might be an indicator of issues with offers.", + "The issue is a suggestion for improvement." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImpactedDestination": { + "description": "The impact of the issue on a destination.", + "id": "ImpactedDestination", + "properties": { + "impacts": { + "description": "The (negative) impact for various regions on the given destination.", + "items": { + "$ref": "Impact" + }, + "type": "array" + }, + "reportingContext": { + "description": "The impacted reporting context.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "InStock": { + "description": "Collection of information related to InStock.", + "id": "InStock", + "properties": { + "state": { + "description": "Output only. The state of the in-stock serving.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "FAILED", + "RUNNING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The review process has concluded successfully. The reviewed item is active.", + "The review process failed.", + "The review process is running.", + "The review process is waiting for the merchant to take action." + ], + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Optional. Product landing page URI. It is only used for the review of MHLSF in-stock serving. This URI domain should match with the business's homepage. Required to be empty if the lsf_type is GHLSF, and required when the lsf_type is MHLSF_FULL or MHLSF_BASIC.", + "type": "string" + } + }, + "type": "object" + }, + "InventoryVerification": { + "description": "Collection of information related to [inventory verification](https://support.google.com/merchants/answer/14684499?ref_topic=15145634&sjid=6892280366904591178-NC).", + "id": "InventoryVerification", + "properties": { + "contact": { + "description": "Required. The name of the contact for the inventory verification process.", + "type": "string" + }, + "contactEmail": { + "description": "Required. The email address of the contact for the inventory verification process.", + "type": "string" + }, + "contactState": { + "description": "Output only. The state of the contact verification.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "FAILED", + "RUNNING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The review process has concluded successfully. The reviewed item is active.", + "The review process failed.", + "The review process is running.", + "The review process is waiting for the merchant to take action." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the inventory verification process.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTION_REQUIRED", + "INACTIVE", + "RUNNING", + "SUCCEEDED", + "SUSPENDED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "When the merchant needs to initiate the inventory verification process. The next state is INACTIVE.", + "When the merchant is ready to request inventory verification.", + "The inventory verification process is running. If the merchant is rejected, the next state is INACTIVE.", + "The inventory verification process succeeded.", + "When merchant fails the inventory verification process and all attempts are exhausted." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ItemUpdatesAccountLevelSettings": { + "description": "Settings for the Automatic Item Updates.", + "id": "ItemUpdatesAccountLevelSettings", + "properties": { + "allowAvailabilityUpdates": { + "description": "If availability updates are enabled, any previous availability values get overwritten if Google finds an out-of-stock annotation on the offer's page. If additionally `allow_strict_availability_updates` field is set to true, values get overwritten if Google finds an in-stock annotation on the offer’s page.", + "type": "boolean" + }, + "allowConditionUpdates": { + "description": "If condition updates are enabled, Google always updates item condition with the condition detected from the details of your product.", + "type": "boolean" + }, + "allowPriceUpdates": { + "description": "If price updates are enabled, Google always updates the active price with the crawled information.", + "type": "boolean" + }, + "allowStrictAvailabilityUpdates": { + "description": "If `allow_availability_updates` is enabled, items are automatically updated in all your Shopping target countries. By default, availability updates will only be applied to items that are 'out of stock' on your website but 'in stock' on Shopping. Set this to true to also update items that are 'in stock' on your website, but 'out of stock' on Google Shopping. In order for this field to have an effect, you must also set `allow_availability_updates`.", + "type": "boolean" + } + }, + "type": "object" + }, + "LfpLink": { + "description": "Collection of information related to the LFP link.", + "id": "LfpLink", + "properties": { + "externalAccountId": { + "description": "Required. The account ID by which this merchant is known to the LFP provider.", + "type": "string" + }, + "lfpProvider": { + "description": "Required. The resource name of the LFP provider. Format: `lfpProviders/{lfp_provider}`", + "type": "string" + }, + "state": { + "description": "Output only. The state of the LFP link.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "FAILED", + "RUNNING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The review process has concluded successfully. The reviewed item is active.", + "The review process failed.", + "The review process is running.", + "The review process is waiting for the merchant to take action." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LfpProvider": { + "description": "Collection of information related to a Local Feed Partnership (LFP) provider.", + "id": "LfpProvider", + "properties": { + "displayName": { + "description": "The display name of the LFP provider.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the LFP provider. Format: `accounts/{account}/omnichannelSettings/{omnichannel_setting}/lfpProviders/{lfp_provider}`", + "type": "string" + }, + "regionCode": { + "description": "Output only. Region code defined by [CLDR](https://cldr.unicode.org/).", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LinkGbpAccountRequest": { + "description": "Request message for the LinkGbpAccount method.", + "id": "LinkGbpAccountRequest", + "properties": { + "gbpEmail": { + "description": "Required. The email address of the Business Profile account.", + "type": "string" + } + }, + "type": "object" + }, + "LinkGbpAccountResponse": { + "description": "Response message for the LinkGbpAccount method.", + "id": "LinkGbpAccountResponse", + "properties": { + "response": { + "$ref": "Empty", + "description": "Empty response." + } + }, + "type": "object" + }, + "LinkLfpProviderRequest": { + "description": "Request message for the LinkLfpProvider method.", + "id": "LinkLfpProviderRequest", + "properties": { + "externalAccountId": { + "description": "Required. The external account ID by which this merchant is known to the LFP provider.", + "type": "string" + } + }, + "type": "object" + }, + "LinkLfpProviderResponse": { + "description": "Response message for the LinkLfpProvider method.", + "id": "LinkLfpProviderResponse", + "properties": { + "response": { + "$ref": "Empty", + "description": "Empty response." + } + }, + "type": "object" + }, + "ListAccountIssuesResponse": { + "description": "Response message for the `ListAccountIssues` method.", + "id": "ListAccountIssuesResponse", + "properties": { + "accountIssues": { + "description": "The issues from the specified account.", + "items": { + "$ref": "AccountIssue" + }, + "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" + }, + "ListAccountRelationshipsResponse": { + "description": "Response after trying to list account relationships.", + "id": "ListAccountRelationshipsResponse", + "properties": { + "accountRelationships": { + "description": "The account relationships that match your filter.", + "items": { + "$ref": "AccountRelationship" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A page token. You can send the `page_token` to get the next page. Only included in the `list` response if there are more pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAccountServicesResponse": { + "description": "Response after trying to list account services.", + "id": "ListAccountServicesResponse", + "properties": { + "accountServices": { + "description": "The account services that match your filter.", + "items": { + "$ref": "AccountService" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A page token. You can send the `page_token` to get the next page. Only included in the `list` response if there are more pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAccountsResponse": { + "description": "Response message for the `accounts.list` method.", + "id": "ListAccountsResponse", + "properties": { + "accounts": { + "description": "The accounts matching the `ListAccountsRequest`.", + "items": { + "$ref": "Account" + }, + "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" + }, + "ListGbpAccountsResponse": { + "description": "Response message for the ListGbpAccounts method.", + "id": "ListGbpAccountsResponse", + "properties": { + "gbpAccounts": { + "description": "The GBP accounts from the specified merchant in the specified country.", + "items": { + "$ref": "GbpAccount" + }, + "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" + }, + "ListOmnichannelSettingsResponse": { + "description": "Response message for the ListOmnichannelSettings method.", + "id": "ListOmnichannelSettingsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "omnichannelSettings": { + "description": "The omnichannel settings from the specified merchant.", + "items": { + "$ref": "OmnichannelSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOnlineReturnPoliciesResponse": { + "description": "Response message for the `ListOnlineReturnPolicies` method.", + "id": "ListOnlineReturnPoliciesResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "onlineReturnPolicies": { + "description": "The retrieved return policies.", + "items": { + "$ref": "OnlineReturnPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListProgramsResponse": { + "description": "Response message for the ListPrograms method.", + "id": "ListProgramsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "programs": { + "description": "The programs for the given account.", + "items": { + "$ref": "Program" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRegionsResponse": { + "description": "Response message for the `ListRegions` method.", + "id": "ListRegionsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "regions": { + "description": "The regions from the specified business.", + "items": { + "$ref": "Region" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSubAccountsResponse": { + "description": "Response message for the `ListSubAccounts` method.", + "id": "ListSubAccountsResponse", + "properties": { + "accounts": { + "description": "The accounts for which the given parent account is an aggregator.", + "items": { + "$ref": "Account" + }, + "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" + }, + "ListUsersResponse": { + "description": "Response message for the `ListUsers` method.", + "id": "ListUsersResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "users": { + "description": "The users from the specified account.", + "items": { + "$ref": "User" + }, + "type": "array" + } + }, + "type": "object" + }, + "LocalCutoffTime": { + "description": "Time that local delivery ends for the day.", + "id": "LocalCutoffTime", + "properties": { + "hour": { + "description": "Hour local delivery orders must be placed by to process the same day.", + "format": "int64", + "type": "string" + }, + "minute": { + "description": "Minute local delivery orders must be placed by to process the same day.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "LocalListingManagement": { + "description": "`LocalListingManagement` payload.", + "id": "LocalListingManagement", + "properties": {}, + "type": "object" + }, + "LocationIdSet": { + "description": "A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.", + "id": "LocationIdSet", + "properties": { + "locationIds": { + "description": "Required. A non-empty list of [location IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting). They must all be of the same location type (For example, state).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LoyaltyProgram": { + "description": "[Loyalty program](https://support.google.com/merchants/answer/12922446) provided by a business.", + "id": "LoyaltyProgram", + "properties": { + "loyaltyProgramTiers": { + "description": "Optional. Loyalty program tier of this shipping service.", + "items": { + "$ref": "LoyaltyProgramTiers" + }, + "type": "array" + }, + "programLabel": { + "description": "This is the loyalty program label set in your loyalty program settings in Merchant Center. This sub-attribute allows Google to map your loyalty program to eligible offers.", + "type": "string" + } + }, + "type": "object" + }, + "LoyaltyProgramTiers": { + "description": "Subset of a business's loyalty program.", + "id": "LoyaltyProgramTiers", + "properties": { + "tierLabel": { + "description": "The tier label [tier_label] sub-attribute differentiates offer level benefits between each tier. This value is also set in your program settings in Merchant Center, and is required for data source changes even if your loyalty program only has 1 tier.", + "type": "string" + } + }, + "type": "object" + }, + "MinimumOrderValueTable": { + "description": "Table of per store minimum order values for the pickup fulfillment type.", + "id": "MinimumOrderValueTable", + "properties": { + "storeCodeSetWithMovs": { + "description": "Required. A list of store code sets sharing the same minimum order value (MOV). At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.", + "items": { + "$ref": "StoreCodeSetWithMov" + }, + "type": "array" + } + }, + "type": "object" + }, + "OmnichannelSetting": { + "description": "Collection of information related to the omnichannel settings of a merchant.", + "id": "OmnichannelSetting", + "properties": { + "about": { + "$ref": "About", + "description": "Optional. The about page URI and state for this country." + }, + "inStock": { + "$ref": "InStock", + "description": "Optional. The InStock URI and state for this country." + }, + "inventoryVerification": { + "$ref": "InventoryVerification", + "description": "Optional. The inventory verification contact and state for this country." + }, + "lfpLink": { + "$ref": "LfpLink", + "description": "Output only. The established link to a LFP provider.", + "readOnly": true + }, + "lsfType": { + "description": "Required. The Local Store Front type for this country.", + "enum": [ + "LSF_TYPE_UNSPECIFIED", + "GHLSF", + "MHLSF_BASIC", + "MHLSF_FULL" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Google-Hosted Local Store Front. Check the [HC article](https://support.google.com/merchants/answer/14869424) for more details.", + "Merchant-Hosted Local Store Front Basic. Check the [HC article](https://support.google.com/merchants/answer/14615867) for more details.", + "Merchant-Hosted Local Store Front Full. Check the [HC article](https://support.google.com/merchants/answer/14617076) for more details." + ], + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the omnichannel setting. Format: `accounts/{account}/omnichannelSettings/{omnichannel_setting}`", + "type": "string" + }, + "odo": { + "$ref": "OnDisplayToOrder", + "description": "Optional. The On Display to Order (ODO) policy URI and state for this country." + }, + "pickup": { + "$ref": "Pickup", + "description": "Optional. The Pickup URI and state for this country." + }, + "regionCode": { + "description": "Required. Immutable. Region code defined by [CLDR](https://cldr.unicode.org/). Must be provided in the Create method, and is immutable.", + "type": "string" + } + }, + "type": "object" + }, + "OnDisplayToOrder": { + "description": "Collection of information related to the on display to order ([ODO](https://support.google.com/merchants/answer/14615056?ref_topic=15145747&sjid=6892280366904591178-NC)).", + "id": "OnDisplayToOrder", + "properties": { + "state": { + "description": "Output only. The state of the URI.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "FAILED", + "RUNNING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The review process has concluded successfully. The reviewed item is active.", + "The review process failed.", + "The review process is running.", + "The review process is waiting for the merchant to take action." + ], + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Required. The on display to order (ODO) policy URI.", + "type": "string" + } + }, + "type": "object" + }, + "OnlineReturnPolicy": { + "description": "[Online return policy](https://support.google.com/merchants/answer/10220642) object. This is currently used to represent return policies for ads and free listings programs.", + "id": "OnlineReturnPolicy", + "properties": { + "acceptDefectiveOnly": { + "description": "Optional. This field specifies if business only accepts defective products for returns.", + "type": "boolean" + }, + "acceptExchange": { + "description": "Optional. This field specifies if business allows customers to exchange products.", + "type": "boolean" + }, + "countries": { + "description": "Required. Immutable. The countries of sale where the return policy applies. The values must be a valid 2 letter ISO 3166 code.", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemConditions": { + "description": "Optional. The item conditions accepted for returns must not be empty unless the type of return policy is 'noReturns'.", + "items": { + "enum": [ + "ITEM_CONDITION_UNSPECIFIED", + "NEW", + "USED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "New.", + "Used." + ], + "type": "string" + }, + "type": "array" + }, + "label": { + "description": "Optional. Immutable. This field represents the unique user-defined label of the return policy for the given country. It is important to note that the same label cannot be used in different return policies for the same country. If not given, policies will be automatically treated as the 'default' for the country. When using label, you are creating an exception policy in that country to assign a custom return policy to certain product groups, follow the instructions provided in the [Return policy label] (https://support.google.com/merchants/answer/9445425). The label can contain up to 50 characters.", + "type": "string" + }, + "name": { + "description": "Identifier. The name of the `OnlineReturnPolicy` resource. Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`", + "type": "string" + }, + "policy": { + "$ref": "Policy", + "description": "Optional. The return policy." + }, + "processRefundDays": { + "description": "Optional. The field specifies the number of days it takes for business to process refunds.", + "format": "int32", + "type": "integer" + }, + "restockingFee": { + "$ref": "RestockingFee", + "description": "Optional. The restocking fee that applies to all return reason categories. This would be treated as a free restocking fee if the value is not set." + }, + "returnLabelSource": { + "description": "Optional. The field specifies the return label source.", + "enum": [ + "RETURN_LABEL_SOURCE_UNSPECIFIED", + "DOWNLOAD_AND_PRINT", + "IN_THE_PACKAGE", + "CUSTOMER_RESPONSIBILITY" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Download and print.", + "Label include in the package.", + "Customer to provide." + ], + "type": "string" + }, + "returnMethods": { + "description": "Optional. The return methods of how customers can return an item. This value is required to not be empty unless the type of return policy is noReturns.", + "items": { + "enum": [ + "RETURN_METHOD_UNSPECIFIED", + "BY_MAIL", + "IN_STORE", + "AT_A_KIOSK" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Return by mail.", + "Return in store.", + "Return at a kiosk." + ], + "type": "string" + }, + "type": "array" + }, + "returnPolicyId": { + "description": "Output only. Return policy ID generated by Google.", + "readOnly": true, + "type": "string" + }, + "returnPolicyUri": { + "description": "Required. The return policy uri. This can used by Google to do a sanity check for the policy. It must be a valid URL.", + "type": "string" + }, + "returnShippingFee": { + "$ref": "ReturnShippingFee", + "description": "Optional. The return shipping fee. Should be set only when customer need to download and print the return label." + }, + "seasonalOverrides": { + "description": "Optional. Overrides to the general policy for orders placed during a specific set of time intervals.", + "items": { + "$ref": "SeasonalOverride" + }, + "type": "array" + } + }, + "type": "object" + }, + "PhoneNumber": { + "description": "An object representing a phone number, suitable as an API wire format. This representation: - should not be used for locale-specific formatting of a phone number, such as \"+1 (650) 253-0000 ext. 123\" - is not designed for efficient storage - may not be suitable for dialing - specialized libraries (see references) should be used to parse the number for that purpose To do something meaningful with this number, such as format it for various use-cases, convert it to an `i18n.phonenumbers.PhoneNumber` object first. For instance, in Java this would be: com.google.type.PhoneNumber wireProto = com.google.type.PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), \"ZZ\"); if (!wireProto.getExtension().isEmpty()) { phoneNumber.setExtension(wireProto.getExtension()); } Reference(s): - https://github.com/google/libphonenumber", + "id": "PhoneNumber", + "properties": { + "e164Number": { + "description": "The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting. For example: - correct: \"+15552220123\" - incorrect: \"+1 (555) 222-01234 x123\" The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.wikipedia.org/wiki/List_of_country_calling_codes", + "type": "string" + }, + "extension": { + "description": "The phone number's extension. The extension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. Other than digits, some other dialing characters such as ',' (indicating a wait) or '#' may be stored here. Note that no regions currently use extensions with short codes, so this field is normally only set in conjunction with an E.164 number. It is held separately from the E.164 number to allow for short code extensions in the future.", + "type": "string" + }, + "shortCode": { + "$ref": "ShortCode", + "description": "A short code. Reference(s): - https://wikipedia.org/wiki/Short_code" + } + }, + "type": "object" + }, + "Pickup": { + "description": "Collection of information related to Pickup.", + "id": "Pickup", + "properties": { + "state": { + "description": "Output only. The state of the pickup serving.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "FAILED", + "RUNNING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The review process has concluded successfully. The reviewed item is active.", + "The review process failed.", + "The review process is running.", + "The review process is waiting for the merchant to take action." + ], + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Required. Pickup product page URI. It is only used for the review of pickup serving. This URI domain should match with the business's homepage.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "The available policies.", + "id": "Policy", + "properties": { + "days": { + "description": "The number of days items can be returned after delivery, where one day is defined as 24 hours after the delivery timestamp. Required for `NUMBER_OF_DAYS_AFTER_DELIVERY` returns.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "Policy type.", + "enum": [ + "TYPE_UNSPECIFIED", + "NUMBER_OF_DAYS_AFTER_DELIVERY", + "NO_RETURNS", + "LIFETIME_RETURNS" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The number of days within which a return is valid after delivery.", + "No returns.", + "Life time returns." + ], + "type": "string" + } + }, + "type": "object" + }, + "PostalAddress": { + "description": "Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or mountains. In typical usage, an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input or editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput. - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478.", + "id": "PostalAddress", + "properties": { + "addressLines": { + "description": "Unstructured address lines describing the lower levels of an address. Because values in `address_lines` do not have type information and may sometimes contain multiple values in a single field (for example, \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country or region of the address. In places where this can vary (for example, Japan), `address_language` is used to make it explicit (for example, \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). In this way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a `region_code` with all remaining information placed in the `address_lines`. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a `region_code` and `address_lines` and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "items": { + "type": "string" + }, + "type": "array" + }, + "administrativeArea": { + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. For Spain, this is the province and not the autonomous community (for example, \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example, in Switzerland, this should be left unpopulated.", + "type": "string" + }, + "languageCode": { + "description": "Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".", + "type": "string" + }, + "locality": { + "description": "Optional. Generally refers to the city or town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave `locality` empty and use `address_lines`.", + "type": "string" + }, + "organization": { + "description": "Optional. The name of the organization at the address.", + "type": "string" + }, + "postalCode": { + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (for example, state or zip code validation in the United States).", + "type": "string" + }, + "recipients": { + "description": "Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain \"care of\" information.", + "items": { + "type": "string" + }, + "type": "array" + }, + "regionCode": { + "description": "Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", + "type": "string" + }, + "revision": { + "description": "The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.", + "format": "int32", + "type": "integer" + }, + "sortingCode": { + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (for example, \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (Côte d'Ivoire).", + "type": "string" + }, + "sublocality": { + "description": "Optional. Sublocality of the address. For example, this can be a neighborhood, borough, or district.", + "type": "string" + } + }, + "type": "object" + }, + "PostalCodeArea": { + "description": "A list of postal codes that defines the region area. Note: All regions defined using postal codes are accessible through the account's `ShippingSettings.postalCodeGroups` resource.", + "id": "PostalCodeArea", + "properties": { + "postalCodes": { + "description": "Required. A range of postal codes.", + "items": { + "$ref": "PostalCodeRange" + }, + "type": "array" + }, + "regionCode": { + "description": "Required. [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) or the country the postal code group applies to.", + "type": "string" + } + }, + "type": "object" + }, + "PostalCodeRange": { + "description": "A range of postal codes that defines the region area.", + "id": "PostalCodeRange", + "properties": { + "begin": { + "description": "Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: `94108`, `9410*`, `9*`.", + "type": "string" + }, + "end": { + "description": "Optional. A postal code or a pattern of the form `prefix*` denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin.", + "type": "string" + } + }, + "type": "object" + }, + "Price": { + "description": "The price represented as a number and currency.", + "id": "Price", + "properties": { + "amountMicros": { + "description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", + "format": "int64", + "type": "string" + }, + "currencyCode": { + "description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductsManagement": { + "description": "`ProductsManagement` payload.", + "id": "ProductsManagement", + "properties": {}, + "type": "object" + }, + "Program": { + "description": "Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `free-listings` * `shopping-ads` * `youtube-shopping-checkout`", + "id": "Program", + "properties": { + "activeRegionCodes": { + "description": "Output only. The regions in which the account is actively participating in the program. Active regions are defined as those where all program requirements affecting the regions have been met. Region codes are defined by [CLDR](https://cldr.unicode.org/). This is either a country where the program applies specifically to that country or `001` when the program applies globally.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "documentationUri": { + "description": "Output only. The URL of a Merchant Center help page describing the program.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the program. Format: `accounts/{account}/programs/{program}`", + "type": "string" + }, + "state": { + "description": "Output only. The participation state of the account in the program.", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_ELIGIBLE", + "ELIGIBLE", + "ENABLED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The account is not eligible to participate in the program.", + "The account is eligible to participate in the program.", + "The program is enabled for the account." + ], + "readOnly": true, + "type": "string" + }, + "unmetRequirements": { + "description": "Output only. The requirements that the account has not yet satisfied that are affecting participation in the program.", + "items": { + "$ref": "Requirement" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "ProposeAccountServiceRequest": { + "description": "Request to propose an account service.", + "id": "ProposeAccountServiceRequest", + "properties": { + "accountService": { + "$ref": "AccountService", + "description": "Required. The account service to propose." + }, + "provider": { + "description": "Required. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`).", + "type": "string" + } + }, + "type": "object" + }, + "RateGroup": { + "description": "Shipping rate group definitions. Only the last one is allowed to have an empty `applicable_shipping_labels`, which means \"everything else\". The other `applicable_shipping_labels` must not overlap.", + "id": "RateGroup", + "properties": { + "applicableShippingLabels": { + "description": "Required. A list of [shipping labels](https://support.google.com/merchants/answer/6324504) defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service.", + "items": { + "type": "string" + }, + "type": "array" + }, + "carrierRates": { + "description": "Optional. A list of carrier rates that can be referred to by `main_table` or `single_value`.", + "items": { + "$ref": "CarrierRate" + }, + "type": "array" + }, + "mainTable": { + "$ref": "Table", + "description": "A table defining the rate group, when `single_value` is not expressive enough. Can only be set if `single_value` is not set." + }, + "name": { + "description": "Optional. Name of the rate group. If set has to be unique within shipping service.", + "type": "string" + }, + "singleValue": { + "$ref": "Value", + "description": "The value of the rate group (For example flat rate $10). Can only be set if `main_table` and `subtables` are not set." + }, + "subtables": { + "description": "Optional. A list of subtables referred to by `main_table`. Can only be set if `main_table` is set.", + "items": { + "$ref": "Table" + }, + "type": "array" + } + }, + "type": "object" + }, + "Region": { + "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", + "id": "Region", + "properties": { + "displayName": { + "description": "Optional. The display name of the region.", + "type": "string" + }, + "geotargetArea": { + "$ref": "GeoTargetArea", + "description": "Optional. A list of geotargets that defines the region area." + }, + "name": { + "description": "Identifier. The resource name of the region. Format: `accounts/{account}/regions/{region}`", + "type": "string" + }, + "postalCodeArea": { + "$ref": "PostalCodeArea", + "description": "Optional. A list of postal codes that defines the region area." + }, + "regionalInventoryEligible": { + "description": "Output only. Indicates if the region is eligible for use in the Regional Inventory configuration.", + "readOnly": true, + "type": "boolean" + }, + "shippingEligible": { + "description": "Output only. Indicates if the region is eligible for use in the Shipping Services configuration.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "RegisterGcpRequest": { + "description": "Request message for the RegisterGCP method.", + "id": "RegisterGcpRequest", + "properties": { + "developerEmail": { + "description": "Immutable. If the developer email provided is associated with a user in the merchant account provided, the user will be updated to have \"API developer\" access type and the email preference corresponding to that user will be updated to have the new \"API notifications\" preference. If the developer email provided is not associated with any user we will just add it as a contact. The email preference corresponding to that contact will have the new \"API notifications\" preference", + "type": "string" + } + }, + "type": "object" + }, + "RejectAccountServiceRequest": { + "description": "Request to reject an account service.", + "id": "RejectAccountServiceRequest", + "properties": {}, + "type": "object" + }, + "RequestInventoryVerificationRequest": { + "description": "Request message for the RequestInventoryVerification method.", + "id": "RequestInventoryVerificationRequest", + "properties": {}, + "type": "object" + }, + "RequestInventoryVerificationResponse": { + "description": "Response message for the RequestInventoryVerification method.", + "id": "RequestInventoryVerificationResponse", + "properties": { + "omnichannelSetting": { + "$ref": "OmnichannelSetting", + "description": "The omnichannel setting that was updated." + } + }, + "type": "object" + }, + "Required": { + "description": "Describes the terms of service which are required to be accepted.", + "id": "Required", + "properties": { + "termsOfService": { + "description": "Required. The `TermsOfService` that need to be accepted.", + "type": "string" + }, + "tosFileUri": { + "description": "Required. Full URL to the terms of service file. This field is the same as `TermsOfService.file_uri`, it is added here for convenience only.", + "type": "string" + } + }, + "type": "object" + }, + "Requirement": { + "description": "Defines a requirement specified for participation in the program.", + "id": "Requirement", + "properties": { + "affectedRegionCodes": { + "description": "Output only. The regions that are currently affected by this requirement not being met. Region codes are defined by [CLDR](https://cldr.unicode.org/). This is either a country where the program applies specifically to that country or `001` when the program applies globally.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "documentationUri": { + "description": "Output only. The URL of a help page describing the requirement.", + "readOnly": true, + "type": "string" + }, + "title": { + "description": "Output only. Name of the requirement.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RestockingFee": { + "description": "The restocking fee. This can be a flat fee or a micro percent.", + "id": "RestockingFee", + "properties": { + "fixedFee": { + "$ref": "Price", + "description": "Fixed restocking fee." + }, + "microPercent": { + "description": "Percent of total price in micros. 15,000,000 means 15% of the total price would be charged.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReturnShippingFee": { + "description": "The return shipping fee. This can either be a fixed fee or a boolean to indicate that the customer pays the actual shipping cost.", + "id": "ReturnShippingFee", + "properties": { + "fixedFee": { + "$ref": "Price", + "description": "Fixed return shipping fee amount. This value is only applicable when type is `FIXED`. We will treat the return shipping fee as free if type is `FIXED` and this value is not set." + }, + "type": { + "description": "Required. Type of return shipping fee.", + "enum": [ + "TYPE_UNSPECIFIED", + "FIXED", + "CUSTOMER_PAYING_ACTUAL_FEE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The return shipping fee is a fixed value.", + "Customers will pay the actual return shipping fee." + ], + "type": "string" + } + }, + "type": "object" + }, + "Row": { + "description": "Include a list of cells.", + "id": "Row", + "properties": { + "cells": { + "description": "Required. The list of cells that constitute the row. Must have the same length as `columnHeaders` for two-dimensional tables, a length of 1 for one-dimensional tables.", + "items": { + "$ref": "Value" + }, + "type": "array" + } + }, + "type": "object" + }, + "SeasonalOverride": { + "id": "SeasonalOverride", + "properties": { + "endDate": { + "$ref": "Date", + "description": "Required. seasonal override end date (inclusive)." + }, + "label": { + "description": "Required. Display name of this seasonal override in Merchant Center.", + "type": "string" + }, + "returnDays": { + "description": "Number of days (from the delivery date) that the product can be returned.", + "format": "int32", + "type": "integer" + }, + "returnUntilDate": { + "$ref": "Date", + "description": "Fixed end date until which the product can be returned." + }, + "startDate": { + "$ref": "Date", + "description": "Required. Defines the date range when this seasonal override applies. Both start_date and end_date are inclusive. The dates of the seasonal overrides should not overlap." + } + }, + "type": "object" + }, + "Service": { + "description": "Shipping service.", + "id": "Service", + "properties": { + "active": { + "description": "Required. A boolean exposing the active status of the shipping service.", + "type": "boolean" + }, + "currencyCode": { + "description": "Required. The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.", + "type": "string" + }, + "deliveryCountries": { + "description": "Required. The CLDR territory code of the countries to which the service applies.", + "items": { + "type": "string" + }, + "type": "array" + }, + "deliveryTime": { + "$ref": "DeliveryTime", + "description": "Required. Time spent in various aspects from order to the delivery of the product." + }, + "loyaltyPrograms": { + "description": "Optional. Loyalty programs that this shipping service is limited to.", + "items": { + "$ref": "LoyaltyProgram" + }, + "type": "array" + }, + "minimumOrderValue": { + "$ref": "Price", + "description": "Optional. Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with `minimum_order_value_table`." + }, + "minimumOrderValueTable": { + "$ref": "MinimumOrderValueTable", + "description": "Optional. Table of per store minimum order values for the pickup fulfillment type. Cannot be set together with `minimum_order_value`." + }, + "rateGroups": { + "description": "Optional. Shipping rate group definitions. Only the last one is allowed to have an empty `applicable_shipping_labels`, which means \"everything else\". The other `applicable_shipping_labels` must not overlap.", + "items": { + "$ref": "RateGroup" + }, + "type": "array" + }, + "serviceName": { + "description": "Required. Free-form name of the service. Must be unique within target account.", + "type": "string" + }, + "shipmentType": { + "description": "Optional. Type of locations this service ships orders to.", + "enum": [ + "SHIPMENT_TYPE_UNSPECIFIED", + "DELIVERY", + "LOCAL_DELIVERY", + "COLLECTION_POINT" + ], + "enumDescriptions": [ + "This service did not specify shipment type.", + "This service ships orders to an address chosen by the customer.", + "This service ships orders to an address chosen by the customer. The order is shipped from a local store near by.", + "This service ships orders to an address chosen by the customer. The order is shipped from a collection point." + ], + "type": "string" + }, + "storeConfig": { + "$ref": "StoreConfig", + "description": "A list of stores your products are delivered from. This is only valid for the local delivery shipment type." + } + }, + "type": "object" + }, + "ShippingSettings": { + "description": "The Merchant Center account's [shipping settings](https://support.google.com/merchants/answer/6069284). The `ShippingSettings` resource lets you retrieve and update the shipping settings of your advanced account and all its associated sub-accounts.", + "id": "ShippingSettings", + "properties": { + "etag": { + "description": "Required. This field helps avoid async issues. It ensures that the shipping setting data doesn't change between the `get` call and the `insert` call. The user should follow these steps: 1. Set the etag field as an empty string for the initial shipping setting creation. 2. After the initial creation, call the `get` method to obtain an etag and the current shipping setting data before calling `insert`. 3. Modify the shipping setting information. 4. Call the `insert` method with the shipping setting information and the etag obtained in step 2. 5. If the shipping setting data changes between step 2 and step 4, the insert request will fail because the etag changes every time the shipping setting data changes. In this case, the user should repeat steps 2-4 with the new etag.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the shipping settings. Format: `accounts/{account}/shippingSettings`. For example, `accounts/123456/shippingSettings`.", + "type": "string" + }, + "services": { + "description": "Optional. The target account's list of services.", + "items": { + "$ref": "Service" + }, + "type": "array" + }, + "warehouses": { + "description": "Optional. A list of warehouses which can be referred to in `services`.", + "items": { + "$ref": "Warehouse" + }, + "type": "array" + } + }, + "type": "object" + }, + "ShortCode": { + "description": "An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (For example \"Text 611 to see how many minutes you have remaining on your plan.\"). Short codes are restricted to a region and are not internationally dialable, which means the same short code can exist in different regions, with different usage and pricing, even if those regions share the same country calling code (For example: US and CA).", + "id": "ShortCode", + "properties": { + "number": { + "description": "Required. The short code digits, without a leading plus ('+') or country calling code. For example \"611\".", + "type": "string" + }, + "regionCode": { + "description": "Required. The BCP-47 region code of the location where calls to this short code can be made, such as \"US\" and \"BB\". Reference(s): - http://www.unicode.org/reports/tr35/#unicode_region_subtag", + "type": "string" + } + }, + "type": "object" + }, + "StoreCodeSetWithMov": { + "description": "A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.", + "id": "StoreCodeSetWithMov", + "properties": { + "storeCodes": { + "description": "Optional. A list of unique store codes or empty for the catch all.", + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "$ref": "Price", + "description": "The minimum order value for the given stores." + } + }, + "type": "object" + }, + "StoreConfig": { + "description": "A list of stores your products are delivered from. This is only valid for the local delivery shipment type.", + "id": "StoreConfig", + "properties": { + "cutoffConfig": { + "$ref": "CutoffConfig", + "description": "Configs related to local delivery ends for the day." + }, + "serviceRadius": { + "$ref": "Distance", + "description": "Maximum delivery radius. This is only required for the local delivery shipment type." + }, + "storeCodes": { + "description": "Optional. A list of store codes that provide local delivery. If empty, then `all_stores` must be true.", + "items": { + "type": "string" + }, + "type": "array" + }, + "storeServiceType": { + "description": "Indicates whether all stores, or selected stores, listed by this business provide local delivery.", + "enum": [ + "STORE_SERVICE_TYPE_UNSPECIFIED", + "ALL_STORES", + "SELECTED_STORES" + ], + "enumDescriptions": [ + "Did not specify store service type.", + "Indicates whether all stores, current and future, listed by this business provide local delivery.", + "Indicates that only the stores listed in `store_codes` are eligible for local delivery." + ], + "type": "string" + } + }, + "type": "object" + }, + "Table": { + "description": "A table defining the rate group, when `single_value` is not expressive enough.", + "id": "Table", + "properties": { + "columnHeaders": { + "$ref": "Headers", + "description": "Headers of the table's columns. Optional: if not set then the table has only one dimension." + }, + "name": { + "description": "Name of the table. Required for subtables, ignored for the main table.", + "type": "string" + }, + "rowHeaders": { + "$ref": "Headers", + "description": "Required. Headers of the table's rows." + }, + "rows": { + "description": "Required. The list of rows that constitute the table. Must have the same length as `row_headers`.", + "items": { + "$ref": "Row" + }, + "type": "array" + } + }, + "type": "object" + }, + "TermsOfService": { + "description": "The `TermsOfService` message represents a specific version of the terms of service that merchants must accept to access certain features or services. For more information, see [Terms of Service](https://support.google.com/merchants/answer/160173). This message is important for the onboarding process, ensuring that merchants agree to the necessary legal agreements for using the service. Merchants can retrieve the latest terms of service for a given `kind` and `region` through `RetrieveLatestTermsOfService`, and accept them as required through `AcceptTermsOfService`.", + "id": "TermsOfService", + "properties": { + "external": { + "description": "Whether this terms of service version is external. External terms of service versions can only be agreed through external processes and not directly by the merchant through UI or API.", + "type": "boolean" + }, + "fileUri": { + "description": "URI for terms of service file that needs to be displayed to signing users.", + "type": "string" + }, + "kind": { + "description": "The Kind this terms of service version applies to.", + "enum": [ + "TERMS_OF_SERVICE_KIND_UNSPECIFIED", + "MERCHANT_CENTER" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Merchant Center application." + ], + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the terms of service version. Format: `termsOfService/{version}`", + "type": "string" + }, + "regionCode": { + "description": "Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country where the ToS applies specifically to that country or `001` when the same `TermsOfService` can be signed in any country. However note that when signing a ToS that applies globally we still expect that a specific country is provided (this should be merchant business country or program country of participation).", + "type": "string" + } + }, + "type": "object" + }, + "TermsOfServiceAgreementState": { + "description": "This resource represents the agreement state for a given account and terms of service kind. The state is as follows: * If the business has accepted a terms of service, `accepted` will be populated, otherwise it will be empty * If the business must sign a terms of service, `required` will be populated, otherwise it will be empty. Note that both `required` and `accepted` can be present. In this case the `accepted` terms of services will have an expiration date set in the `valid_until` field. The `required` terms of services need to be accepted before `valid_until` in order for the account to continue having a valid agreement. When accepting new terms of services we expect third-party providers to display the text associated with the given terms of service agreement (the url to the file containing the text is added in the Required message below as `tos_file_uri`). The actual acceptance of the terms of service is done by calling accept on the `TermsOfService` resource. `valid_until` field. The `required` terms of services need to be accepted before `valid_until` in order for the account to continue having a valid agreement. When accepting new terms of services, we expect third-party providers to display the text associated with the given terms of service agreement (the url to the file containing the text is added in the Required message below as `tos_file_uri`. The actual acceptance of the terms of service is done by calling accept on the `TermsOfService` resource.", + "id": "TermsOfServiceAgreementState", + "properties": { + "accepted": { + "$ref": "Accepted", + "description": "Optional. The accepted terms of service of this kind and for the associated region_code" + }, + "name": { + "description": "Identifier. The resource name of the terms of service version. Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}` The identifier format is: `{TermsOfServiceKind}-{country}` For example, an identifier could be: `MERCHANT_CENTER-EU` or `MERCHANT_CENTER-US`.", + "type": "string" + }, + "regionCode": { + "description": "Required. Region code as defined by https://cldr.unicode.org/. This is the country the current state applies to.", + "type": "string" + }, + "required": { + "$ref": "Required", + "description": "Optional. The required terms of service" + }, + "termsOfServiceKind": { + "description": "Required. Terms of Service kind associated with the particular version.", + "enum": [ + "TERMS_OF_SERVICE_KIND_UNSPECIFIED", + "MERCHANT_CENTER" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Merchant Center application." + ], + "type": "string" + } + }, + "type": "object" + }, + "TimeZone": { + "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "TimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", + "type": "string" + } + }, + "type": "object" + }, + "TransitTable": { + "description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either `min_transit_days`, `max_transit_days` or `transit_time_table` can be set, but not both.", + "id": "TransitTable", + "properties": { + "postalCodeGroupNames": { + "description": "Required. A list of region names Region.name . The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service.", + "items": { + "type": "string" + }, + "type": "array" + }, + "rows": { + "description": "Required. If there's only one dimension set of `postal_code_group_names` or `transit_time_labels`, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a `postal_code_group_names`, and columns (values) to a `transit_time_labels`.", + "items": { + "$ref": "TransitTimeRow" + }, + "type": "array" + }, + "transitTimeLabels": { + "description": "Required. A list of transit time labels. The last value can be `\"all other labels\"`. Example: `[\"food\", \"electronics\", \"all other labels\"]`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TransitTimeRow": { + "description": "If there's only one dimension set of `postal_code_group_names` or `transit_time_labels`, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a `postal_code_group_names`, and columns (values) to a `transit_time_labels`.", + "id": "TransitTimeRow", + "properties": { + "values": { + "description": "Required. Transit time range (min-max) in business days.", + "items": { + "$ref": "TransitTimeValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "TransitTimeValue": { + "description": "Transit time range (min-max) in business days.", + "id": "TransitTimeValue", + "properties": { + "maxTransitDays": { + "description": "Must be greater than or equal to `min_transit_days`.", + "format": "int32", + "type": "integer" + }, + "minTransitDays": { + "description": "Minimum transit time range in business days. 0 means same day delivery, 1 means next day delivery.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "UnclaimHomepageRequest": { + "description": "Request message for the `UnclaimHomepage` method.", + "id": "UnclaimHomepageRequest", + "properties": {}, + "type": "object" + }, + "UnregisterGcpRequest": { + "description": "Request message for the UnregisterGCP method.", + "id": "UnregisterGcpRequest", + "properties": {}, + "type": "object" + }, + "UriSettings": { + "description": "URL settings for cart or checkout URL.", + "id": "UriSettings", + "properties": { + "cartUriTemplate": { + "description": "Cart URL template. When the placeholders are expanded will redirect the buyer to the cart page on the merchant website with the selected item in cart. For more details, check the [help center doc](https://support.google.com/merchants/answer/13945960#method1&zippy=%2Cproduct-level-url-formatting%2Caccount-level-url-formatting)", + "type": "string" + }, + "checkoutUriTemplate": { + "description": "Checkout URL template. When the placeholders are expanded will redirect the buyer to the merchant checkout page with the item in the cart. For more details, check the [help center doc](https://support.google.com/merchants/answer/13945960#method1&zippy=%2Cproduct-level-url-formatting%2Caccount-level-url-formatting)", + "type": "string" + } + }, + "type": "object" + }, + "User": { + "description": "The `User` message represents a user associated with a Merchant Center account. It is used to manage user permissions and access rights within the account. For more information, see [Frequently asked questions about people and access levels](//support.google.com/merchants/answer/12160472).", + "id": "User", + "properties": { + "accessRights": { + "description": "Required. The [access rights](https://support.google.com/merchants/answer/12160472?sjid=6789834943175119429-EU#accesstypes) the user has.", + "items": { + "enum": [ + "ACCESS_RIGHT_UNSPECIFIED", + "STANDARD", + "READ_ONLY", + "ADMIN", + "PERFORMANCE_REPORTING", + "API_DEVELOPER" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Standard access rights.", + "Has access to the same read-only methods as STANDARD, but no access to any mutating methods.", + "Admin access rights.", + "Users with this right have access to performance and insights.", + "Users with this right have access to Merchant API and its notifications. This role is only accessible to accounts that has a developer registration." + ], + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The resource name of the user. Format: `accounts/{account}/user/{email}` Use `me` to refer to your own email address, for example `accounts/{account}/users/me`.", + "type": "string" + }, + "state": { + "description": "Output only. The state of the user.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "VERIFIED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The user is pending confirmation. In this state, the user first needs to accept the invitation before performing other actions.", + "The user is verified." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Value": { + "description": "The single value of a rate group or the value of a rate group table's cell. Exactly one of `no_shipping`, `flat_rate`, `price_percentage`, `carrier_rateName`, `subtable_name` must be set.", + "id": "Value", + "properties": { + "carrierRate": { + "description": "The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.", + "type": "string" + }, + "flatRate": { + "$ref": "Price", + "description": "A flat rate. Can only be set if all other fields are not set." + }, + "noShipping": { + "description": "If true, then the product can't be shipped. Must be true when set, can only be set if all other fields are not set.", + "type": "boolean" + }, + "pricePercentage": { + "description": "A percentage of the price represented as a number in decimal notation (For example, `\"5.4\"`). Can only be set if all other fields are not set.", + "type": "string" + }, + "subtable": { + "description": "The name of a subtable. Can only be set in table cells (For example, not for single values), and only if all other fields are not set.", + "type": "string" + } + }, + "type": "object" + }, + "Warehouse": { + "description": "A fulfillment warehouse, which stores and handles inventory.", + "id": "Warehouse", + "properties": { + "businessDayConfig": { + "$ref": "BusinessDayConfig", + "description": "Business days of the warehouse. If not set, will be Monday to Friday by default." + }, + "cutoffTime": { + "$ref": "WarehouseCutoffTime", + "description": "Required. The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code." + }, + "handlingDays": { + "description": "Required. The number of days it takes for this warehouse to pack up and ship an item. This is on the warehouse level, but can be overridden on the offer level based on the attributes of an item.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Required. The name of the warehouse. Must be unique within account.", + "type": "string" + }, + "shippingAddress": { + "$ref": "Address", + "description": "Required. Shipping address of the warehouse." + } + }, + "type": "object" + }, + "WarehouseBasedDeliveryTime": { + "description": "Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in `delivery_time` should be set.", + "id": "WarehouseBasedDeliveryTime", + "properties": { + "carrier": { + "description": "Required. Carrier, such as `\"UPS\"` or `\"Fedex\"`. [supported carriers](https://support.google.com/merchants/answer/7050921#zippy=%2Ccarrier-rates-au-de-uk-and-us-only)", + "type": "string" + }, + "carrierService": { + "description": "Required. Carrier service, such as `\"ground\"` or `\"2 days\"`. The name of the service must be in the eddSupportedServices list.", + "type": "string" + }, + "warehouse": { + "description": "Required. Warehouse name. This should match warehouse.", + "type": "string" + } + }, + "type": "object" + }, + "WarehouseCutoffTime": { + "description": "The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code.", + "id": "WarehouseCutoffTime", + "properties": { + "hour": { + "description": "Required. Hour of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Hour is based on the timezone of warehouse.", + "format": "int32", + "type": "integer" + }, + "minute": { + "description": "Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Minute is based on the timezone of warehouse.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Weight": { + "description": "The weight represented as the value in string and the unit.", + "id": "Weight", + "properties": { + "amountMicros": { + "description": "Required. The weight represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 kg = 1000000 micros). This field can also be set as infinity by setting to -1. This field only support -1 and positive value.", + "format": "int64", + "type": "string" + }, + "unit": { + "description": "Required. The weight unit. Acceptable values are: kg and lb", + "enum": [ + "WEIGHT_UNIT_UNSPECIFIED", + "POUND", + "KILOGRAM" + ], + "enumDescriptions": [ + "unit unspecified", + "lb unit.", + "kg unit." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "accounts_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-accounts_v1beta.json b/discovery/merchantapi-accounts_v1beta.json index de6913b2f6..2d550821ba 100644 --- a/discovery/merchantapi-accounts_v1beta.json +++ b/discovery/merchantapi-accounts_v1beta.json @@ -2311,11 +2311,11 @@ } } }, - "revision": "20250729", + "revision": "20250803", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { - "description": "Collection of information related to the about page ([impressum](https://support.google.com/merchants/answer/14675634?hl=en&ref_topic=15145634&sjid=6892280366904591178-NC)).", + "description": "Collection of information related to the about page ([impressum](https://support.google.com/merchants/answer/14675634?ref_topic=15145634&sjid=6892280366904591178-NC)).", "id": "About", "properties": { "state": { @@ -3635,7 +3635,7 @@ "type": "object" }, "InventoryVerification": { - "description": "Collection of information related to [inventory verification](https://support.google.com/merchants/answer/14684499?hl=en&ref_topic=15145634&sjid=6892280366904591178-NC).", + "description": "Collection of information related to [inventory verification](https://support.google.com/merchants/answer/14684499?ref_topic=15145634&sjid=6892280366904591178-NC).", "id": "InventoryVerification", "properties": { "contact": { @@ -4145,7 +4145,7 @@ "type": "object" }, "OnDisplayToOrder": { - "description": "Collection of information related to the on display to order ([ODO](https://support.google.com/merchants/answer/14615056?hl=en&ref_topic=15145747&sjid=6892280366904591178-NC)).", + "description": "Collection of information related to the on display to order ([ODO](https://support.google.com/merchants/answer/14615056?ref_topic=15145747&sjid=6892280366904591178-NC)).", "id": "OnDisplayToOrder", "properties": { "state": { diff --git a/discovery/merchantapi-conversions_v1.json b/discovery/merchantapi-conversions_v1.json new file mode 100644 index 0000000000..d7d903f937 --- /dev/null +++ b/discovery/merchantapi-conversions_v1.json @@ -0,0 +1,650 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:conversions_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "conversionSources": { + "methods": { + "create": { + "description": "Creates a new conversion source.", + "flatPath": "conversions/v1/accounts/{accountsId}/conversionSources", + "httpMethod": "POST", + "id": "merchantapi.accounts.conversionSources.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The merchant account that will own the new conversion source. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "conversions/v1/{+parent}/conversionSources", + "request": { + "$ref": "ConversionSource" + }, + "response": { + "$ref": "ConversionSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "delete": { + "description": "Archives an existing conversion source. If the conversion source is a Merchant Center Destination, it will be recoverable for 30 days. If the conversion source is a Google Analytics Link, it will be deleted immediately and can be restored by creating a new one.", + "flatPath": "conversions/v1/accounts/{accountsId}/conversionSources/{conversionSourcesId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.conversionSources.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the conversion source to be deleted. Format: `accounts/{account}/conversionSources/{conversion_source}`", + "location": "path", + "pattern": "^accounts/[^/]+/conversionSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "conversions/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Fetches a conversion source.", + "flatPath": "conversions/v1/accounts/{accountsId}/conversionSources/{conversionSourcesId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.conversionSources.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the conversion source to be fetched. Format: `accounts/{account}/conversionSources/{conversion_source}`", + "location": "path", + "pattern": "^accounts/[^/]+/conversionSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "conversions/v1/{+name}", + "response": { + "$ref": "ConversionSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Retrieves the list of conversion sources the caller has access to.", + "flatPath": "conversions/v1/accounts/{accountsId}/conversionSources", + "httpMethod": "GET", + "id": "merchantapi.accounts.conversionSources.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of conversion sources to return in a page. If no `page_size` is specified, `100` is used as the default value. The maximum value is `200`. Values above `200` will be coerced to `200`. Regardless of pagination, at most `200` conversion sources are returned in total.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The merchant account who owns the collection of conversion sources. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "showDeleted": { + "description": "Optional. Show deleted (archived) conversion sources. By default, deleted conversion sources are not returned.", + "location": "query", + "type": "boolean" + } + }, + "path": "conversions/v1/{+parent}/conversionSources", + "response": { + "$ref": "ListConversionSourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Updates information of an existing conversion source. Available only for Merchant Center Destination conversion sources.", + "flatPath": "conversions/v1/accounts/{accountsId}/conversionSources/{conversionSourcesId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.conversionSources.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Identifier. Generated by the Content API upon creation of a new `ConversionSource`. Format: `[a-z]{4}:.+` The four characters before the colon represent the type of conversion source. Content after the colon represents the ID of the conversion source within that type. The ID of two different conversion sources might be the same across different types. The following type prefixes are supported: * `galk`: For GoogleAnalyticsLink sources. * `mcdn`: For MerchantCenterDestination sources.", + "location": "path", + "pattern": "^accounts/[^/]+/conversionSources/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. List of fields being updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "conversions/v1/{+name}", + "request": { + "$ref": "ConversionSource" + }, + "response": { + "$ref": "ConversionSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "undelete": { + "description": "Re-enables an archived conversion source. Only Available for Merchant Center Destination conversion sources.", + "flatPath": "conversions/v1/accounts/{accountsId}/conversionSources/{conversionSourcesId}:undelete", + "httpMethod": "POST", + "id": "merchantapi.accounts.conversionSources.undelete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the conversion source to be undeleted. Format: `accounts/{account}/conversionSources/{conversion_source}`", + "location": "path", + "pattern": "^accounts/[^/]+/conversionSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "conversions/v1/{+name}:undelete", + "request": { + "$ref": "UndeleteConversionSourceRequest" + }, + "response": { + "$ref": "ConversionSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "AttributionSettings": { + "description": "Represents attribution settings for conversion sources receiving pre-attribution data.", + "id": "AttributionSettings", + "properties": { + "attributionLookbackWindowDays": { + "description": "Required. Lookback window (in days) used for attribution in this source. Supported values are `7`, `30` & `40`.", + "format": "int32", + "type": "integer" + }, + "attributionModel": { + "description": "Required. Attribution model.", + "enum": [ + "ATTRIBUTION_MODEL_UNSPECIFIED", + "CROSS_CHANNEL_LAST_CLICK", + "ADS_PREFERRED_LAST_CLICK", + "CROSS_CHANNEL_DATA_DRIVEN", + "CROSS_CHANNEL_FIRST_CLICK", + "CROSS_CHANNEL_LINEAR", + "CROSS_CHANNEL_POSITION_BASED", + "CROSS_CHANNEL_TIME_DECAY" + ], + "enumDescriptions": [ + "Unspecified model.", + "Cross-channel Last Click model.", + "Ads-preferred Last Click model.", + "Cross-channel Data Driven model.", + "Cross-channel First Click model.", + "Cross-channel Linear model.", + "Cross-channel Position Based model.", + "Cross-channel Time Decay model." + ], + "type": "string" + }, + "conversionType": { + "description": "Immutable. Unordered list. List of different conversion types a conversion event can be classified as. A standard \"purchase\" type will be automatically created if this list is empty at creation time.", + "items": { + "$ref": "ConversionType" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConversionSource": { + "description": "Represents a conversion source owned by a Merchant account. A merchant account can have up to 200 conversion sources.", + "id": "ConversionSource", + "properties": { + "controller": { + "description": "Output only. Controller of the conversion source.", + "enum": [ + "CONTROLLER_UNSPECIFIED", + "MERCHANT", + "YOUTUBE_AFFILIATES" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Controlled by the Merchant who owns the Conversion Source.", + "Controlled by the Youtube Affiliates program." + ], + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. The time when an archived conversion source becomes permanently deleted and is no longer available to undelete.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "googleAnalyticsLink": { + "$ref": "GoogleAnalyticsLink", + "description": "Immutable. Conversion Source of type \"Link to Google Analytics Property\"." + }, + "merchantCenterDestination": { + "$ref": "MerchantCenterDestination", + "description": "Conversion Source of type \"Merchant Center Tag Destination\"." + }, + "name": { + "description": "Output only. Identifier. Generated by the Content API upon creation of a new `ConversionSource`. Format: `[a-z]{4}:.+` The four characters before the colon represent the type of conversion source. Content after the colon represents the ID of the conversion source within that type. The ID of two different conversion sources might be the same across different types. The following type prefixes are supported: * `galk`: For GoogleAnalyticsLink sources. * `mcdn`: For MerchantCenterDestination sources.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. Current state of this conversion source. Can't be edited through the API.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "ARCHIVED", + "PENDING" + ], + "enumDescriptions": [ + "Conversion source has unspecified state.", + "Conversion source is fully functional.", + "Conversion source has been archived in the last 30 days and is currently not functional. Can be restored using the undelete method.", + "Conversion source creation has started but not fully finished yet." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConversionType": { + "description": "Message representing the type of a conversion event.", + "id": "ConversionType", + "properties": { + "name": { + "description": "Output only. Conversion event name, as it'll be reported by the client.", + "readOnly": true, + "type": "string" + }, + "report": { + "description": "Output only. Option indicating if the type should be included in Merchant Center reporting.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "GoogleAnalyticsLink": { + "description": "\"Google Analytics Link\" sources can be used to get conversion data from an existing Google Analytics property into the linked Merchant Center account.", + "id": "GoogleAnalyticsLink", + "properties": { + "attributionSettings": { + "$ref": "AttributionSettings", + "description": "Output only. Attribution settings for the linked Google Analytics property.", + "readOnly": true + }, + "property": { + "description": "Output only. Name of the Google Analytics property the merchant is linked to.", + "readOnly": true, + "type": "string" + }, + "propertyId": { + "description": "Required. Immutable. ID of the Google Analytics property the merchant is linked to.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ListConversionSourcesResponse": { + "description": "Response message for the ListConversionSources method.", + "id": "ListConversionSourcesResponse", + "properties": { + "conversionSources": { + "description": "List of conversion sources.", + "items": { + "$ref": "ConversionSource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to be used to fetch the next results page.", + "type": "string" + } + }, + "type": "object" + }, + "MerchantCenterDestination": { + "description": "\"Merchant Center Destination\" sources can be used to send conversion events from an online store using a Google tag directly to a Merchant Center account where the source is created.", + "id": "MerchantCenterDestination", + "properties": { + "attributionSettings": { + "$ref": "AttributionSettings", + "description": "Required. Attribution settings used for the Merchant Center Destination." + }, + "currencyCode": { + "description": "Required. Three-letter currency code (ISO 4217). The currency code defines in which currency the conversions sent to this destination will be reported in Merchant Center.", + "type": "string" + }, + "destination": { + "description": "Output only. Merchant Center Destination ID.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. Merchant-specified display name for the destination. This is the name that identifies the conversion source within the Merchant Center UI. The maximum length is 64 characters.", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "UndeleteConversionSourceRequest": { + "description": "Request message for the UndeleteConversionSource method.", + "id": "UndeleteConversionSourceRequest", + "properties": {}, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "conversions_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-datasources_v1.json b/discovery/merchantapi-datasources_v1.json new file mode 100644 index 0000000000..de665d563d --- /dev/null +++ b/discovery/merchantapi-datasources_v1.json @@ -0,0 +1,1037 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:datasources_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "dataSources": { + "methods": { + "create": { + "description": "Creates the new data source configuration for the given account. This method always creates a new data source.", + "flatPath": "datasources/v1/accounts/{accountsId}/dataSources", + "httpMethod": "POST", + "id": "merchantapi.accounts.dataSources.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account where this data source will be created. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "datasources/v1/{+parent}/dataSources", + "request": { + "$ref": "DataSource" + }, + "response": { + "$ref": "DataSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "delete": { + "description": "Deletes a data source from your Merchant Center account.", + "flatPath": "datasources/v1/accounts/{accountsId}/dataSources/{dataSourcesId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.dataSources.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the data source to delete. Format: `accounts/{account}/dataSources/{datasource}`", + "location": "path", + "pattern": "^accounts/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "datasources/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "fetch": { + "description": "Performs the data fetch immediately (even outside fetch schedule) on a data source from your Merchant Center Account. If you need to call this method more than once per day, you should use the Products service to update your product data instead. This method only works on data sources with a file input set.", + "flatPath": "datasources/v1/accounts/{accountsId}/dataSources/{dataSourcesId}:fetch", + "httpMethod": "POST", + "id": "merchantapi.accounts.dataSources.fetch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the data source resource to fetch. Format: `accounts/{account}/dataSources/{datasource}`", + "location": "path", + "pattern": "^accounts/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "datasources/v1/{+name}:fetch", + "request": { + "$ref": "FetchDataSourceRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Retrieves the data source configuration for the given account.", + "flatPath": "datasources/v1/accounts/{accountsId}/dataSources/{dataSourcesId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.dataSources.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the data source to retrieve. Format: `accounts/{account}/dataSources/{datasource}`", + "location": "path", + "pattern": "^accounts/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "datasources/v1/{+name}", + "response": { + "$ref": "DataSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists the configurations for data sources for the given account.", + "flatPath": "datasources/v1/accounts/{accountsId}/dataSources", + "httpMethod": "GET", + "id": "merchantapi.accounts.dataSources.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of data sources to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the maximum number of data sources will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListDataSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataSources` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list data sources for. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "datasources/v1/{+parent}/dataSources", + "response": { + "$ref": "ListDataSourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Updates the existing data source configuration. The fields that are set in the update mask but not provided in the resource will be deleted.", + "flatPath": "datasources/v1/accounts/{accountsId}/dataSources/{dataSourcesId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.dataSources.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}`", + "location": "path", + "pattern": "^accounts/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of data source fields to be updated. Fields specified in the update mask without a value specified in the body will be deleted from the data source. Providing special \"*\" value for full data source replacement is not supported. For example, If you insert `updateMask=displayName` in the request, it will only update the `displayName` leaving all other fields untouched.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "datasources/v1/{+name}", + "request": { + "$ref": "DataSource" + }, + "response": { + "$ref": "DataSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + }, + "resources": { + "fileUploads": { + "methods": { + "get": { + "description": "Gets the latest data source file upload. Only the `latest` alias is accepted for a file upload.", + "flatPath": "datasources/v1/accounts/{accountsId}/dataSources/{dataSourcesId}/fileUploads/{fileUploadsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.dataSources.fileUploads.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the data source file upload to retrieve. Format: `accounts/{account}/dataSources/{datasource}/fileUploads/latest`", + "location": "path", + "pattern": "^accounts/[^/]+/dataSources/[^/]+/fileUploads/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "datasources/v1/{+name}", + "response": { + "$ref": "FileUpload" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "DataSource": { + "description": "The [data source](/merchant/api/guides/data-sources/overview) for the Merchant Center account.", + "id": "DataSource", + "properties": { + "dataSourceId": { + "description": "Output only. The data source id.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The displayed data source name in the Merchant Center UI.", + "type": "string" + }, + "fileInput": { + "$ref": "FileInput", + "description": "Optional. The field is used only when data is managed through a file." + }, + "input": { + "description": "Output only. Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API.", + "enum": [ + "INPUT_UNSPECIFIED", + "API", + "FILE", + "UI", + "AUTOFEED" + ], + "enumDescriptions": [ + "Input unspecified.", + "Represents data sources for which the data is primarily provided through the API.", + "Represents data sources for which the data is primarily provided through file input. Data can still be provided through the API.", + "The data source for products added directly in Merchant Center. This type of data source can not be created or updated through this API, only by Merchant Center UI. This type of data source is read only.", + "This is also known as [Automated feeds](https://support.google.com/merchants/answer/12158480) used to automatically build your product data. This type of data source can be enabled or disabled through the Accounts sub-API." + ], + "readOnly": true, + "type": "string" + }, + "localInventoryDataSource": { + "$ref": "LocalInventoryDataSource", + "description": "The [local inventory](https://support.google.com/merchants/answer/7023001) data source." + }, + "merchantReviewDataSource": { + "$ref": "MerchantReviewDataSource", + "description": "The [merchant review](https://support.google.com/merchants/answer/7045996) data source." + }, + "name": { + "description": "Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}`", + "type": "string" + }, + "primaryProductDataSource": { + "$ref": "PrimaryProductDataSource", + "description": "The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products." + }, + "productReviewDataSource": { + "$ref": "ProductReviewDataSource", + "description": "The [product review](https://support.google.com/merchants/answer/7045996) data source." + }, + "promotionDataSource": { + "$ref": "PromotionDataSource", + "description": "The [promotion](https://support.google.com/merchants/answer/2906014) data source." + }, + "regionalInventoryDataSource": { + "$ref": "RegionalInventoryDataSource", + "description": "The [regional inventory](https://support.google.com/merchants/answer/7439058) data source." + }, + "supplementalProductDataSource": { + "$ref": "SupplementalProductDataSource", + "description": "The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products." + } + }, + "type": "object" + }, + "DataSourceReference": { + "description": "Data source reference can be used to manage related data sources within the data source service.", + "id": "DataSourceReference", + "properties": { + "primaryDataSourceName": { + "description": "Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`", + "type": "string" + }, + "self": { + "description": "Self should be used to reference the primary data source itself.", + "type": "boolean" + }, + "supplementalDataSourceName": { + "description": "Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`", + "type": "string" + } + }, + "type": "object" + }, + "DefaultRule": { + "description": "Default rule management of the data source.", + "id": "DefaultRule", + "properties": { + "takeFromDataSources": { + "description": "Required. The list of data sources linked in the [default rule](https://support.google.com/merchants/answer/7450276). This list is ordered by the default rule priority of joining the data. It might include none or multiple references to `self` and supplemental data sources. The list must not be empty. To link the data source to the default rule, you need to add a new reference to this list (in sequential order). To unlink the data source from the default rule, you need to remove the given reference from this list. Changing the order of this list will result in changing the priority of data sources in the default rule. For example, providing the following list: [`1001`, `self`] will take attribute values from supplemental data source `1001`, and fallback to `self` if the attribute is not set in `1001`.", + "items": { + "$ref": "DataSourceReference" + }, + "type": "array" + } + }, + "type": "object" + }, + "Destination": { + "description": "Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections.", + "id": "Destination", + "properties": { + "destination": { + "description": "[Marketing methods](https://support.google.com/merchants/answer/15130232) (also known as destination) selections.", + "enum": [ + "DESTINATION_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "YOUTUBE_SHOPPING", + "YOUTUBE_SHOPPING_CHECKOUT", + "YOUTUBE_AFFILIATE", + "FREE_VEHICLE_LISTINGS", + "VEHICLE_ADS", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL" + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/google-ads/answer/2454022).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3057972).", + "[Free listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[YouTube Shopping](https://support.google.com/merchants/answer/12362804).", + "Youtube shopping checkout.", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", + "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail)." + ], + "type": "string" + }, + "state": { + "description": "The state of the destination.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "Not specified.", + "Indicates that the destination is enabled.", + "Indicates that the destination is disabled." + ], + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FetchDataSourceRequest": { + "description": "Request message for the FetchDataSource method.", + "id": "FetchDataSourceRequest", + "properties": {}, + "type": "object" + }, + "FetchSettings": { + "description": "Fetch details to deliver the data source.", + "id": "FetchSettings", + "properties": { + "dayOfMonth": { + "description": "Optional. The day of the month when the data source file should be fetched (1-31). This field can only be set for monthly frequency.", + "format": "int32", + "type": "integer" + }, + "dayOfWeek": { + "description": "Optional. The day of the week when the data source file should be fetched. This field can only be set for weekly frequency.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "enabled": { + "description": "Optional. Enables or pauses the fetch schedule.", + "type": "boolean" + }, + "fetchUri": { + "description": "Optional. The URL where the data source file can be fetched. Google Merchant Center supports automatic scheduled uploads using the HTTP, HTTPS or SFTP protocols, so the value will need to be a valid link using one of those three protocols. Immutable for Google Sheets files.", + "type": "string" + }, + "frequency": { + "description": "Required. The frequency describing fetch schedule.", + "enum": [ + "FREQUENCY_UNSPECIFIED", + "FREQUENCY_DAILY", + "FREQUENCY_WEEKLY", + "FREQUENCY_MONTHLY" + ], + "enumDescriptions": [ + "Frequency unspecified.", + "The fetch happens every day.", + "The fetch happens every week.", + "The fetch happens every month." + ], + "type": "string" + }, + "password": { + "description": "Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).", + "type": "string" + }, + "timeOfDay": { + "$ref": "TimeOfDay", + "description": "Optional. The hour of the day when the data source file should be fetched. Minutes and seconds are not supported and will be ignored." + }, + "timeZone": { + "description": "Optional. [Time zone](https://cldr.unicode.org) used for schedule. UTC by default. For example, \"America/Los_Angeles\".", + "type": "string" + }, + "username": { + "description": "Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).", + "type": "string" + } + }, + "type": "object" + }, + "FileInput": { + "description": "The data specific for file data sources. This field is empty for other data source inputs.", + "id": "FileInput", + "properties": { + "fetchSettings": { + "$ref": "FetchSettings", + "description": "Optional. Fetch details to deliver the data source. It contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The required fields vary based on the frequency of fetching." + }, + "fileInputType": { + "description": "Output only. The type of file input.", + "enum": [ + "FILE_INPUT_TYPE_UNSPECIFIED", + "UPLOAD", + "FETCH", + "GOOGLE_SHEETS" + ], + "enumDescriptions": [ + "File input type unspecified.", + "The file is uploaded through SFTP, Google Cloud Storage or manually in the Merchant Center.", + "The file is fetched from the configured fetch_uri.", + "The file is fetched from Google Sheets specified in the fetch_uri. However, you can't set up `GOOGLE_SHEETS` as a data source through the API. To add `GOOGLE_SHEETS` as a data source through the Merchant Center, see [Add products to Merchant Center](https://support.google.com/merchants/answer/12158053)." + ], + "readOnly": true, + "type": "string" + }, + "fileName": { + "description": "Optional. The file name of the data source. Required for `UPLOAD` file input type.", + "type": "string" + } + }, + "type": "object" + }, + "FileUpload": { + "description": "The file upload of a specific data source, that is, the result of the retrieval of the data source at a certain timestamp computed asynchronously when the data source processing is finished. Only applicable to file data sources.", + "id": "FileUpload", + "properties": { + "dataSourceId": { + "description": "Output only. The data source id.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "issues": { + "description": "Output only. The list of issues occurring in the data source.", + "items": { + "$ref": "Issue" + }, + "readOnly": true, + "type": "array" + }, + "itemsCreated": { + "description": "Output only. The number of items in the data source that were created.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "itemsTotal": { + "description": "Output only. The number of items in the data source that were processed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "itemsUpdated": { + "description": "Output only. The number of items in the data source that were updated.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The name of the data source file upload. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}/fileUploads/{fileupload}}`", + "type": "string" + }, + "processingState": { + "description": "Output only. The processing state of the data source.", + "enum": [ + "PROCESSING_STATE_UNSPECIFIED", + "FAILED", + "IN_PROGRESS", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Processing state unspecified.", + "The data source could not be processed or all the items had errors.", + "The data source is being processed.", + "The data source was processed successfully, though some items might have had errors." + ], + "readOnly": true, + "type": "string" + }, + "uploadTime": { + "description": "Output only. The date at which the file of the data source was uploaded.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Issue": { + "description": "An error occurring in the data source, like \"invalid price\".", + "id": "Issue", + "properties": { + "code": { + "description": "Output only. The code of the error, for example, \"validation/invalid_value\". Returns \"?\" if the code is unknown.", + "readOnly": true, + "type": "string" + }, + "count": { + "description": "Output only. The number of occurrences of the error in the file upload.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. The error description, for example, \"Your data source contains items which have too many attributes, or are too big. These items will be dropped\".", + "readOnly": true, + "type": "string" + }, + "documentationUri": { + "description": "Output only. Link to the documentation explaining the issue in more details, if available.", + "readOnly": true, + "type": "string" + }, + "severity": { + "description": "Output only. The severity of the issue.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Severity unspecified.", + "The issue is the warning.", + "The issue is an error." + ], + "readOnly": true, + "type": "string" + }, + "title": { + "description": "Output only. The title of the issue, for example, \"Item too big\".", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListDataSourcesResponse": { + "description": "Response message for the ListDataSources method.", + "id": "ListDataSourcesResponse", + "properties": { + "dataSources": { + "description": "The data sources from the specified account.", + "items": { + "$ref": "DataSource" + }, + "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" + }, + "LocalInventoryDataSource": { + "description": "The local inventory data source type is only available for file inputs and can't be used to create API local inventory data sources.", + "id": "LocalInventoryDataSource", + "properties": { + "contentLanguage": { + "description": "Required. Immutable. The two-letter ISO 639-1 language of the items to which the local inventory is provided.", + "type": "string" + }, + "feedLabel": { + "description": "Required. Immutable. The feed label of the offers to which the local inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).", + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewDataSource": { + "description": "The merchant review data source.", + "id": "MerchantReviewDataSource", + "properties": {}, + "type": "object" + }, + "PrimaryProductDataSource": { + "description": "The primary data source for local and online products.", + "id": "PrimaryProductDataSource", + "properties": { + "contentLanguage": { + "description": "Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.", + "type": "string" + }, + "countries": { + "description": "Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).", + "items": { + "type": "string" + }, + "type": "array" + }, + "defaultRule": { + "$ref": "DefaultRule", + "description": "Optional. Default rule management of the data source. If set, the linked data sources will be replaced." + }, + "destinations": { + "description": "Optional. A list of destinations describing where products of the data source can be shown. When retrieving the data source, the list contains all the destinations that can be used for the data source, including the ones that are disabled for the data source but enabled for the account. Only destinations that are enabled on the account, for example through program participation, can be enabled on the data source. If unset, during creation, the destinations will be inherited based on the account level program participation. If set, during creation or update, the data source will be set only for the specified destinations. Updating this field requires at least one destination.", + "items": { + "$ref": "Destination" + }, + "type": "array" + }, + "feedLabel": { + "description": "Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.", + "type": "string" + }, + "legacyLocal": { + "description": "Optional. Immutable. Determines whether the products of this data source are **only** targeting local destinations. Legacy local products are prefixed with `local~` in the product resource ID. For example, `accounts/123/products/local~en~US~sku123`.", + "type": "boolean" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductReviewDataSource": { + "description": "The product review data source.", + "id": "ProductReviewDataSource", + "properties": {}, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "PromotionDataSource": { + "description": "The promotion data source.", + "id": "PromotionDataSource", + "properties": { + "contentLanguage": { + "description": "Required. Immutable. The two-letter ISO 639-1 language of the items in the data source.", + "type": "string" + }, + "targetCountry": { + "description": "Required. Immutable. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected [countries](https://support.google.com/merchants/answer/4588460).", + "type": "string" + } + }, + "type": "object" + }, + "RegionalInventoryDataSource": { + "id": "RegionalInventoryDataSource", + "properties": { + "contentLanguage": { + "description": "Required. Immutable. The two-letter ISO 639-1 language of the items to which the regional inventory is provided.", + "type": "string" + }, + "feedLabel": { + "description": "Required. Immutable. The feed label of the offers to which the regional inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).", + "type": "string" + } + }, + "type": "object" + }, + "SupplementalProductDataSource": { + "description": "The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources.", + "id": "SupplementalProductDataSource", + "properties": { + "contentLanguage": { + "description": "Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.", + "type": "string" + }, + "feedLabel": { + "description": "Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.", + "type": "string" + }, + "referencingPrimaryDataSources": { + "description": "Output only. The (unordered and deduplicated) list of all primary data sources linked to this data source in either default or custom rules. Supplemental data source cannot be deleted before all links are removed.", + "items": { + "$ref": "DataSourceReference" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "TimeOfDay": { + "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", + "id": "TimeOfDay", + "properties": { + "hours": { + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "datasources_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-inventories_v1.json b/discovery/merchantapi-inventories_v1.json new file mode 100644 index 0000000000..7287cd72b5 --- /dev/null +++ b/discovery/merchantapi-inventories_v1.json @@ -0,0 +1,713 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:inventories_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "products": { + "resources": { + "localInventories": { + "methods": { + "delete": { + "description": "Deletes the specified `LocalInventory` from the given product in your merchant account. It might take a up to an hour for the `LocalInventory` to be deleted from the specific product. Once you have received a successful delete response, wait for that period before attempting a delete again.", + "flatPath": "inventories/v1/accounts/{accountsId}/products/{productsId}/localInventories/{localInventoriesId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.products.localInventories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the local inventory for the given product to delete. Format: `accounts/{account}/products/{product}/localInventories/{store_code}`", + "location": "path", + "pattern": "^accounts/[^/]+/products/[^/]+/localInventories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "inventories/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "Inserts a `LocalInventory` resource to a product in your merchant account. Replaces the full `LocalInventory` resource if an entry with the same `storeCode` already exists for the product. It might take up to 30 minutes for the new or updated `LocalInventory` resource to appear in products.", + "flatPath": "inventories/v1/accounts/{accountsId}/products/{productsId}/localInventories:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.products.localInventories.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account and product where this inventory will be inserted. Format: `accounts/{account}/products/{product}`", + "location": "path", + "pattern": "^accounts/[^/]+/products/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "inventories/v1/{+parent}/localInventories:insert", + "request": { + "$ref": "LocalInventory" + }, + "response": { + "$ref": "LocalInventory" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists the `LocalInventory` resources for the given product in your merchant account. The response might contain fewer items than specified by `pageSize`. If `pageToken` was returned in previous request, it can be used to obtain additional results. `LocalInventory` resources are listed per product for a given account.", + "flatPath": "inventories/v1/accounts/{accountsId}/products/{productsId}/localInventories", + "httpMethod": "GET", + "id": "merchantapi.accounts.products.localInventories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of `LocalInventory` resources for the given product to return. The service returns fewer than this value if the number of inventories for the given product is less that than the `pageSize`. The default value is 25000. The maximum value is 25000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListLocalInventories` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListLocalInventories` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `name` of the parent product to list local inventories for. Format: `accounts/{account}/products/{product}`", + "location": "path", + "pattern": "^accounts/[^/]+/products/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "inventories/v1/{+parent}/localInventories", + "response": { + "$ref": "ListLocalInventoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "regionalInventories": { + "methods": { + "delete": { + "description": "Deletes the specified `RegionalInventory` resource from the given product in your merchant account. It might take up to an hour for the `RegionalInventory` to be deleted from the specific product. Once you have received a successful delete response, wait for that period before attempting a delete again.", + "flatPath": "inventories/v1/accounts/{accountsId}/products/{productsId}/regionalInventories/{regionalInventoriesId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.products.regionalInventories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `RegionalInventory` resource to delete. Format: `accounts/{account}/products/{product}/regionalInventories/{region}`", + "location": "path", + "pattern": "^accounts/[^/]+/products/[^/]+/regionalInventories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "inventories/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "Inserts a `RegionalInventory` to a given product in your merchant account. Replaces the full `RegionalInventory` resource if an entry with the same `region` already exists for the product. It might take up to 30 minutes for the new or updated `RegionalInventory` resource to appear in products.", + "flatPath": "inventories/v1/accounts/{accountsId}/products/{productsId}/regionalInventories:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.products.regionalInventories.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account and product where this inventory will be inserted. Format: `accounts/{account}/products/{product}`", + "location": "path", + "pattern": "^accounts/[^/]+/products/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "inventories/v1/{+parent}/regionalInventories:insert", + "request": { + "$ref": "RegionalInventory" + }, + "response": { + "$ref": "RegionalInventory" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists the `RegionalInventory` resources for the given product in your merchant account. The response might contain fewer items than specified by `pageSize`. If `pageToken` was returned in previous request, it can be used to obtain additional results. `RegionalInventory` resources are listed per product for a given account.", + "flatPath": "inventories/v1/accounts/{accountsId}/products/{productsId}/regionalInventories", + "httpMethod": "GET", + "id": "merchantapi.accounts.products.regionalInventories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of `RegionalInventory` resources for the given product to return. The service returns fewer than this value if the number of inventories for the given product is less that than the `pageSize`. The default value is 25000. The maximum value is 100000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListRegionalInventories` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegionalInventories` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `name` of the parent product to list `RegionalInventory` resources for. Format: `accounts/{account}/products/{product}`", + "location": "path", + "pattern": "^accounts/[^/]+/products/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "inventories/v1/{+parent}/regionalInventories", + "response": { + "$ref": "ListRegionalInventoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Interval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "id": "Interval", + "properties": { + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ListLocalInventoriesResponse": { + "description": "Response message for the `ListLocalInventories` method.", + "id": "ListLocalInventoriesResponse", + "properties": { + "localInventories": { + "description": "The `LocalInventory` resources for the given product from the specified account.", + "items": { + "$ref": "LocalInventory" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListRegionalInventoriesResponse": { + "description": "Response message for the `ListRegionalInventories` method.", + "id": "ListRegionalInventoriesResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "regionalInventories": { + "description": "The `RegionalInventory` resources for the given product from the specified account.", + "items": { + "$ref": "RegionalInventory" + }, + "type": "array" + } + }, + "type": "object" + }, + "LocalInventory": { + "description": "Local inventory information for the product. Represents in-store information for a specific product at the store specified by `storeCode`. For a list of all accepted attribute values, see the [local product inventory data specification](https://support.google.com/merchants/answer/3061342).", + "id": "LocalInventory", + "properties": { + "account": { + "description": "Output only. The account that owns the product. This field will be ignored if set by the client.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "localInventoryAttributes": { + "$ref": "LocalInventoryAttributes", + "description": "Optional. A list of local inventory attributes." + }, + "name": { + "description": "Output only. The name of the `LocalInventory` resource. Format: `accounts/{account}/products/{product}/localInventories/{store_code}`", + "readOnly": true, + "type": "string" + }, + "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.", + "type": "string" + } + }, + "type": "object" + }, + "LocalInventoryAttributes": { + "description": "Local inventory attributes.", + "id": "LocalInventoryAttributes", + "properties": { + "availability": { + "description": "[Availability](https://support.google.com/merchants/answer/3061342) of the product at this store.", + "enum": [ + "LOCAL_INVENTORY_AVAILABILITY_UNSPECIFIED", + "IN_STOCK", + "LIMITED_AVAILABILITY", + "ON_DISPLAY_TO_ORDER", + "OUT_OF_STOCK" + ], + "enumDescriptions": [ + "Indicates that the availability is unspecified.", + "Indicates that the product is in stock.", + "Indicates that the product is out of stock.", + "Indicates that the product is on display to order.", + "Indicates that the product is out of stock." + ], + "type": "string" + }, + "instoreProductLocation": { + "description": "Optional. Location of the product inside the store. Maximum length is 20 bytes.", + "type": "string" + }, + "pickupMethod": { + "description": "Optional. Supported [pickup method](https://support.google.com/merchants/answer/3061342) for this product. Unless the value is `\"not supported\"`, this field must be submitted together with `pickupSla`.", + "enum": [ + "PICKUP_METHOD_UNSPECIFIED", + "BUY", + "RESERVE", + "SHIP_TO_STORE", + "NOT_SUPPORTED" + ], + "enumDescriptions": [ + "Indicates that the pickup method is unspecified.", + "Indicates that the pickup method is Buy.", + "Indicates that the pickup method is Reserve.", + "Indicates that the pickup method is Ship to store.", + "Indicates that the pickup method is not supported." + ], + "type": "string" + }, + "pickupSla": { + "description": "Optional. Relative time period from the order date for an order for this product, from this store, to be ready for pickup. Must be submitted with `pickupMethod`. See more details [here](https://support.google.com/merchants/answer/3061342).", + "enum": [ + "PICKUP_SLA_UNSPECIFIED", + "SAME_DAY", + "NEXT_DAY", + "TWO_DAY", + "THREE_DAY", + "FOUR_DAY", + "FIVE_DAY", + "SIX_DAY", + "SEVEN_DAY", + "MULTI_WEEK" + ], + "enumDescriptions": [ + "Indicates that the pickup SLA is unspecified.", + "Indicates that the pickup SLA is same day.", + "Indicates that the pickup SLA is next day.", + "Indicates that the pickup SLA is two days.", + "Indicates that the pickup SLA is three days.", + "Indicates that the pickup SLA is four days.", + "Indicates that the pickup SLA is five days.", + "Indicates that the pickup SLA is six days.", + "Indicates that the pickup SLA is seven days.", + "Indicates that the pickup SLA is multi-week." + ], + "type": "string" + }, + "price": { + "$ref": "Price", + "description": "Optional. Price of the product at this store." + }, + "quantity": { + "description": "Optional. Quantity of the product available at this store. Must be greater than or equal to zero.", + "format": "int64", + "type": "string" + }, + "salePrice": { + "$ref": "Price", + "description": "Optional. Sale price of the product at this store. Mandatory if `salePriceEffectiveDate` is defined." + }, + "salePriceEffectiveDate": { + "$ref": "Interval", + "description": "Optional. The `TimePeriod` of the sale at this store." + } + }, + "type": "object" + }, + "Price": { + "description": "The price represented as a number and currency.", + "id": "Price", + "properties": { + "amountMicros": { + "description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", + "format": "int64", + "type": "string" + }, + "currencyCode": { + "description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "RegionalInventory": { + "description": "Regional inventory information for the product. Represents specific information like price and availability for a given product in a specific `region`. For a list of all accepted attribute values, see the [regional product inventory data specification](https://support.google.com/merchants/answer/9698880).", + "id": "RegionalInventory", + "properties": { + "account": { + "description": "Output only. The account that owns the product. This field will be ignored if set by the client.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the `RegionalInventory` resource. Format: `{regional_inventory.name=accounts/{account}/products/{product}/regionalInventories/{region}`", + "readOnly": true, + "type": "string" + }, + "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.", + "type": "string" + }, + "regionalInventoryAttributes": { + "$ref": "RegionalInventoryAttributes", + "description": "Optional. A list of regional inventory attributes." + } + }, + "type": "object" + }, + "RegionalInventoryAttributes": { + "description": "Regional inventory attributes.", + "id": "RegionalInventoryAttributes", + "properties": { + "availability": { + "description": "Optional. [Availability](https://support.google.com/merchants/answer/14644124) of the product in this region.", + "enum": [ + "REGIONAL_INVENTORY_AVAILABILITY_UNSPECIFIED", + "IN_STOCK", + "OUT_OF_STOCK" + ], + "enumDescriptions": [ + "Indicates that the availability is unspecified.", + "Indicates that the product is in stock.", + "Indicates that the product is out of stock." + ], + "type": "string" + }, + "price": { + "$ref": "Price", + "description": "Optional. Price of the product in this region." + }, + "salePrice": { + "$ref": "Price", + "description": "Optional. Sale price of the product in this region. Mandatory if `salePriceEffectiveDate` is defined." + }, + "salePriceEffectiveDate": { + "$ref": "Interval", + "description": "Optional. The `TimePeriod` of the sale price in this region." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "inventories_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-issueresolution_v1.json b/discovery/merchantapi-issueresolution_v1.json new file mode 100644 index 0000000000..94c44bb0c6 --- /dev/null +++ b/discovery/merchantapi-issueresolution_v1.json @@ -0,0 +1,1248 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:issueresolution_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "aggregateProductStatuses": { + "methods": { + "list": { + "description": "Lists the `AggregateProductStatuses` resources for your merchant account. The response might contain fewer items than specified by `pageSize`. If `pageToken` was returned in previous request, it can be used to obtain additional results.", + "flatPath": "issueresolution/v1/accounts/{accountsId}/aggregateProductStatuses", + "httpMethod": "GET", + "id": "merchantapi.accounts.aggregateProductStatuses.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters the aggregate product statuses. Filtering is only supported by the `reporting_context` and `country` field. For example: `reporting_context = \"SHOPPING_ADS\" AND country = \"US\"`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of aggregate product statuses to return. The service may return fewer than this value. If unspecified, at most 25 aggregate product statuses are returned. The maximum value is 250; values above 250 are coerced to 250.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListAggregateProductStatuses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAggregateProductStatuses` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list aggregate product statuses for. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "issueresolution/v1/{+parent}/aggregateProductStatuses", + "response": { + "$ref": "ListAggregateProductStatusesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + }, + "issueresolution": { + "methods": { + "renderaccountissues": { + "description": "Provide a list of business's account issues with an issue resolution content and available actions. This content and actions are meant to be rendered and shown in third-party applications.", + "flatPath": "issueresolution/v1/accounts/{accountsId}:renderaccountissues", + "httpMethod": "POST", + "id": "merchantapi.issueresolution.renderaccountissues", + "parameterOrder": [ + "name" + ], + "parameters": { + "languageCode": { + "description": "Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize issue resolution content. If not set, the result will be in default language `en-US`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The account to fetch issues for. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "timeZone": { + "description": "Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in an issue resolution content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC.", + "location": "query", + "type": "string" + } + }, + "path": "issueresolution/v1/{+name}:renderaccountissues", + "request": { + "$ref": "RenderIssuesRequestPayload" + }, + "response": { + "$ref": "RenderAccountIssuesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "renderproductissues": { + "description": "Provide a list of issues for business's product with an issue resolution content and available actions. This content and actions are meant to be rendered and shown in third-party applications.", + "flatPath": "issueresolution/v1/accounts/{accountsId}/products/{productsId}:renderproductissues", + "httpMethod": "POST", + "id": "merchantapi.issueresolution.renderproductissues", + "parameterOrder": [ + "name" + ], + "parameters": { + "languageCode": { + "description": "Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize an issue resolution content. If not set, the result will be in default language `en-US`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the product to fetch issues for. Format: `accounts/{account}/products/{product}`", + "location": "path", + "pattern": "^accounts/[^/]+/products/[^/]+$", + "required": true, + "type": "string" + }, + "timeZone": { + "description": "Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in an issue resolution content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC.", + "location": "query", + "type": "string" + } + }, + "path": "issueresolution/v1/{+name}:renderproductissues", + "request": { + "$ref": "RenderIssuesRequestPayload" + }, + "response": { + "$ref": "RenderProductIssuesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "triggeraction": { + "description": "Start an action. The action can be requested by a business in third-party application. Before the business can request the action, the third-party application needs to show them action specific content and display a user input form. The action can be successfully started only once all `required` inputs are provided. If any `required` input is missing, or invalid value was provided, the service will return 400 error. Validation errors will contain Ids for all problematic field together with translated, human readable error messages that can be shown to the user.", + "flatPath": "issueresolution/v1/accounts/{accountsId}:triggeraction", + "httpMethod": "POST", + "id": "merchantapi.issueresolution.triggeraction", + "parameterOrder": [ + "name" + ], + "parameters": { + "languageCode": { + "description": "Optional. Language code [IETF BCP 47 syntax](https://tools.ietf.org/html/bcp47) used to localize the response. If not set, the result will be in default language `en-US`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The business's account that is triggering the action. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "issueresolution/v1/{+name}:triggeraction", + "request": { + "$ref": "TriggerActionPayload" + }, + "response": { + "$ref": "TriggerActionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "Action": { + "description": "An actionable step that can be executed to solve the issue.", + "id": "Action", + "properties": { + "builtinSimpleAction": { + "$ref": "BuiltInSimpleAction", + "description": "Action implemented and performed in (your) third-party application. The application should point the business to the place, where they can access the corresponding functionality or provide instructions, if the specific functionality is not available." + }, + "builtinUserInputAction": { + "$ref": "BuiltInUserInputAction", + "description": "Action implemented and performed in (your) third-party application. The application needs to show an additional content and input form to the business as specified for given action. They can trigger the action only when they provided all required inputs." + }, + "buttonLabel": { + "description": "Label of the action button.", + "type": "string" + }, + "externalAction": { + "$ref": "ExternalAction", + "description": "Action that is implemented and performed outside of (your) third-party application. The application needs to redirect the business to the external location where they can perform the action." + }, + "isAvailable": { + "description": "Controlling whether the button is active or disabled. The value is 'false' when the action was already requested or is not available. If the action is not available then a reason will be present. If (your) third-party application shows a disabled button for action that is not available, then it should also show reasons.", + "type": "boolean" + }, + "reasons": { + "description": "List of reasons why the action is not available. The list of reasons is empty if the action is available. If there is only one reason, it can be displayed next to the disabled button. If there are more reasons, all of them should be displayed, for example in a pop-up dialog.", + "items": { + "$ref": "Reason" + }, + "type": "array" + } + }, + "type": "object" + }, + "ActionFlow": { + "description": "Flow that can be selected for an action. When a business selects a flow, application should open a dialog with more information and input form.", + "id": "ActionFlow", + "properties": { + "dialogButtonLabel": { + "description": "Label for the button to trigger the action from the action dialog. For example: \"Request review\"", + "type": "string" + }, + "dialogCallout": { + "$ref": "Callout", + "description": "Important message to be highlighted in the request dialog. For example: \"You can only request a review for disagreeing with this issue once. If it's not approved, you'll need to fix the issue and wait a few days before you can request another review.\"" + }, + "dialogMessage": { + "$ref": "TextWithTooltip", + "description": "Message displayed in the request dialog. For example: \"Make sure you've fixed all your country-specific issues. If not, you may have to wait 7 days to request another review\". There may be an more information to be shown in a tooltip." + }, + "dialogTitle": { + "description": "Title of the request dialog. For example: \"Before you request a review\"", + "type": "string" + }, + "id": { + "description": "Not for display but need to be sent back for the selected action flow.", + "type": "string" + }, + "inputs": { + "description": "A list of input fields.", + "items": { + "$ref": "InputField" + }, + "type": "array" + }, + "label": { + "description": "Text value describing the intent for the action flow. It can be used as an input label if business needs to pick one of multiple flows. For example: \"I disagree with the issue\"", + "type": "string" + } + }, + "type": "object" + }, + "ActionInput": { + "description": "Input provided by the business.", + "id": "ActionInput", + "properties": { + "actionFlowId": { + "description": "Required. Id of the selected action flow.", + "type": "string" + }, + "inputValues": { + "description": "Required. Values for input fields.", + "items": { + "$ref": "InputValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AdditionalContent": { + "description": "Long text from external source.", + "id": "AdditionalContent", + "properties": { + "paragraphs": { + "description": "Long text organized into paragraphs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "description": "Title of the additional content;", + "type": "string" + } + }, + "type": "object" + }, + "AggregateProductStatus": { + "description": "Aggregate product statuses for a given reporting context and country.", + "id": "AggregateProductStatus", + "properties": { + "country": { + "description": "The country of the aggregate product statuses. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).", + "type": "string" + }, + "itemLevelIssues": { + "description": "The product issues that affect the given reporting context and country.", + "items": { + "$ref": "ItemLevelIssue" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The name of the `AggregateProductStatuses` resource. Format: `accounts/{account}/aggregateProductStatuses/{aggregateProductStatuses}`", + "type": "string" + }, + "reportingContext": { + "description": "The reporting context of the aggregate product statuses.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + }, + "stats": { + "$ref": "Stats", + "description": "Products statistics for the given reporting context and country." + } + }, + "type": "object" + }, + "Breakdown": { + "description": "A detailed impact breakdown for a group of regions where the impact of the issue on different shopping destinations is the same.", + "id": "Breakdown", + "properties": { + "details": { + "description": "Human readable, localized description of issue's effect on different targets. Should be rendered as a list. For example: * \"Products not showing in ads\" * \"Products not showing organically\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "regions": { + "description": "Lists of regions. Should be rendered as a title for this group of details. The full list should be shown to the business. If the list is too long, it is recommended to make it expandable.", + "items": { + "$ref": "Region" + }, + "type": "array" + } + }, + "type": "object" + }, + "BuiltInSimpleAction": { + "description": "Action that is implemented and performed in (your) third-party application. Represents various functionality that is expected to be available to business and will help them with resolving the issue. The application should point the business to the place, where they can access the corresponding functionality. If the functionality is not supported, it is recommended to explain the situation to the business and provide them with instructions how to solve the issue.", + "id": "BuiltInSimpleAction", + "properties": { + "additionalContent": { + "$ref": "AdditionalContent", + "description": "Long text from an external source that should be available to the business. Present when the type is `SHOW_ADDITIONAL_CONTENT`." + }, + "attributeCode": { + "description": "The attribute that needs to be updated. Present when the type is `EDIT_ITEM_ATTRIBUTE`. This field contains a code for attribute, represented in snake_case. You can find a list of product's attributes, with their codes [here](https://support.google.com/merchants/answer/7052112).", + "type": "string" + }, + "type": { + "description": "The type of action that represents a functionality that is expected to be available in third-party application.", + "enum": [ + "BUILT_IN_SIMPLE_ACTION_TYPE_UNSPECIFIED", + "VERIFY_PHONE", + "CLAIM_WEBSITE", + "ADD_PRODUCTS", + "ADD_CONTACT_INFO", + "LINK_ADS_ACCOUNT", + "ADD_BUSINESS_REGISTRATION_NUMBER", + "EDIT_ITEM_ATTRIBUTE", + "FIX_ACCOUNT_ISSUE", + "SHOW_ADDITIONAL_CONTENT" + ], + "enumDescriptions": [ + "Default value. Will never be provided by the API.", + "Redirect the business to the part of your application where they can verify their phone.", + "Redirect the business to the part of your application where they can claim their website.", + "Redirect the business to the part of your application where they can add products.", + "Open a form where the business can edit their contact information.", + "Redirect the business to the part of your application where they can link ads account.", + "Open a form where the business can add their business registration number.", + "Open a form where the business can edit an attribute. The attribute that needs to be updated is specified in attribute_code field of the action.", + "Redirect the business from the product issues to the diagnostic page with their account issues in your application. This action will be returned only for product issues that are caused by an account issue and thus the business should resolve the problem on the account level.", + "Show additional content to the business. This action will be used for example to deliver a justification from national authority." + ], + "type": "string" + } + }, + "type": "object" + }, + "BuiltInUserInputAction": { + "description": "Action that is implemented and performed in (your) third-party application. The application needs to show an additional content and input form to the business. They can start the action only when they provided all required inputs. The application will request processing of the action by calling the [triggeraction method](https://developers.google.com/merchant/api/reference/rest/issueresolution_v1beta/issueresolution/triggeraction).", + "id": "BuiltInUserInputAction", + "properties": { + "actionContext": { + "description": "Contains the action's context that must be included as part of the TriggerActionPayload.action_context in TriggerActionRequest.payload to call the `triggeraction` method. The content should be treated as opaque and must not be modified.", + "type": "string" + }, + "flows": { + "description": "Actions may provide multiple different flows. Business selects one that fits best to their intent. Selecting the flow is the first step in user's interaction with the action. It affects what input fields will be available and required and also how the request will be processed.", + "items": { + "$ref": "ActionFlow" + }, + "type": "array" + } + }, + "type": "object" + }, + "Callout": { + "description": "An important message that should be highlighted. Usually displayed as a banner.", + "id": "Callout", + "properties": { + "fullMessage": { + "$ref": "TextWithTooltip", + "description": "A full message that needs to be shown to the business." + }, + "styleHint": { + "description": "Can be used to render messages with different severity in different styles. Snippets off all types contain important information that should be displayed to the business.", + "enum": [ + "CALLOUT_STYLE_HINT_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Default value. Will never be provided by the API.", + "The most important type of information highlighting problems, like an unsuccessful outcome of previously requested actions.", + "Information warning about pending problems, risks or deadlines.", + "Default severity for important information like pending status of previously requested action or cooldown for re-review." + ], + "type": "string" + } + }, + "type": "object" + }, + "CheckboxInput": { + "description": "Checkbox input allows the business to provide a boolean value. Corresponds to the [html input type=checkbox](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.checkbox.html#input.checkbox). If the business checks the box, the input value for the field is `true`, otherwise it is `false`. This type of input is often used as a confirmation that the business completed required steps before they are allowed to start the action. In such a case, the input field is marked as required and the button to trigger the action should stay disabled until the business checks the box.", + "id": "CheckboxInput", + "properties": {}, + "type": "object" + }, + "CheckboxInputValue": { + "description": "Value for checkbox input field.", + "id": "CheckboxInputValue", + "properties": { + "value": { + "description": "Required. True if the business checked the box field. False otherwise.", + "type": "boolean" + } + }, + "type": "object" + }, + "ChoiceInput": { + "description": "Choice input allows the business to select one of the offered choices. Some choices may be linked to additional input fields that should be displayed under or next to the choice option. The value for the additional input field needs to be provided only when the specific choice is selected by the the business. For example, additional input field can be hidden or disabled until the business selects the specific choice.", + "id": "ChoiceInput", + "properties": { + "options": { + "description": "A list of choices. Only one option can be selected.", + "items": { + "$ref": "ChoiceInputOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "ChoiceInputOption": { + "description": "A choice that the business can select.", + "id": "ChoiceInputOption", + "properties": { + "additionalInput": { + "$ref": "InputField", + "description": "Input that should be displayed when this option is selected. The additional input will not contain a `ChoiceInput`." + }, + "id": { + "description": "Not for display but need to be sent back for the selected choice option.", + "type": "string" + }, + "label": { + "$ref": "TextWithTooltip", + "description": "Short description of the choice option. There may be more information to be shown as a tooltip." + } + }, + "type": "object" + }, + "ChoiceInputValue": { + "description": "Value for choice input field.", + "id": "ChoiceInputValue", + "properties": { + "choiceInputOptionId": { + "description": "Required. Id of the option that was selected by the business.", + "type": "string" + } + }, + "type": "object" + }, + "ExternalAction": { + "description": "Action that is implemented and performed outside of the third-party application. It should redirect the business to the provided URL of an external system where they can perform the action. For example to request a review in the Merchant Center.", + "id": "ExternalAction", + "properties": { + "type": { + "description": "The type of external action.", + "enum": [ + "EXTERNAL_ACTION_TYPE_UNSPECIFIED", + "REVIEW_PRODUCT_ISSUE_IN_MERCHANT_CENTER", + "REVIEW_ACCOUNT_ISSUE_IN_MERCHANT_CENTER", + "LEGAL_APPEAL_IN_HELP_CENTER", + "VERIFY_IDENTITY_IN_MERCHANT_CENTER" + ], + "enumDescriptions": [ + "Default value. Will never be provided by the API.", + "Redirect to Merchant Center where the business can request a review for issue related to their product.", + "Redirect to Merchant Center where the business can request a review for issue related to their account.", + "Redirect to the form in Help Center where the business can request a legal appeal for the issue.", + "Redirect to Merchant Center where the business can perform identity verification." + ], + "type": "string" + }, + "uri": { + "description": "URL to external system, for example Merchant Center, where the business can perform the action.", + "type": "string" + } + }, + "type": "object" + }, + "Impact": { + "description": "Overall impact of the issue.", + "id": "Impact", + "properties": { + "breakdowns": { + "description": "Detailed impact breakdown. Explains the types of restriction the issue has in different shopping destinations and territory. If present, it should be rendered to the business. Can be shown as a mouse over dropdown or a dialog. Each breakdown item represents a group of regions with the same impact details.", + "items": { + "$ref": "Breakdown" + }, + "type": "array" + }, + "message": { + "description": "Optional. Message summarizing the overall impact of the issue. If present, it should be rendered to the business. For example: \"Disapproves 90k offers in 25 countries\"", + "type": "string" + }, + "severity": { + "description": "The severity of the issue.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Default value. Will never be provided by the API.", + "Causes either an account suspension or an item disapproval. Errors should be resolved as soon as possible to ensure items are eligible to appear in results again.", + "Warnings can negatively impact the performance of ads and can lead to item or account suspensions in the future unless the issue is resolved.", + "Infos are suggested optimizations to increase data quality. Resolving these issues is recommended, but not required." + ], + "type": "string" + } + }, + "type": "object" + }, + "InputField": { + "description": "Input field that needs to be available to the business. If the field is marked as required, then a value needs to be provided for a successful processing of the request.", + "id": "InputField", + "properties": { + "checkboxInput": { + "$ref": "CheckboxInput", + "description": "Input field to provide a boolean value. Corresponds to the [html input type=checkbox](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.checkbox.html#input.checkbox)." + }, + "choiceInput": { + "$ref": "ChoiceInput", + "description": "Input field to select one of the offered choices. Corresponds to the [html input type=radio](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.radio.html#input.radio)." + }, + "id": { + "description": "Not for display but need to be sent back for the given input field.", + "type": "string" + }, + "label": { + "$ref": "TextWithTooltip", + "description": "Input field label. There may be more information to be shown in a tooltip." + }, + "required": { + "description": "Whether the field is required. The action button needs to stay disabled till values for all required fields are provided.", + "type": "boolean" + }, + "textInput": { + "$ref": "TextInput", + "description": "Input field to provide text information. Corresponds to the [html input type=text](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.text.html#input.text) or [html textarea](https://www.w3.org/TR/2012/WD-html-markup-20121025/textarea.html#textarea)." + } + }, + "type": "object" + }, + "InputValue": { + "description": "Input provided by the business for input field.", + "id": "InputValue", + "properties": { + "checkboxInputValue": { + "$ref": "CheckboxInputValue", + "description": "Value for checkbox input field." + }, + "choiceInputValue": { + "$ref": "ChoiceInputValue", + "description": "Value for choice input field." + }, + "inputFieldId": { + "description": "Required. Id of the corresponding input field.", + "type": "string" + }, + "textInputValue": { + "$ref": "TextInputValue", + "description": "Value for text input field." + } + }, + "type": "object" + }, + "ItemLevelIssue": { + "description": "The ItemLevelIssue of the product status.", + "id": "ItemLevelIssue", + "properties": { + "attribute": { + "description": "The attribute's name, if the issue is caused by a single attribute.", + "type": "string" + }, + "code": { + "description": "The error code of the issue.", + "type": "string" + }, + "description": { + "description": "A short issue description in English.", + "type": "string" + }, + "detail": { + "description": "A detailed issue description in English.", + "type": "string" + }, + "documentationUri": { + "description": "The URL of a web page to help with resolving this issue.", + "type": "string" + }, + "productCount": { + "description": "The number of products affected by this issue.", + "format": "int64", + "type": "string" + }, + "resolution": { + "description": "Whether the issue can be resolved by the merchant.", + "enum": [ + "RESOLUTION_UNSPECIFIED", + "MERCHANT_ACTION", + "PENDING_PROCESSING" + ], + "enumDescriptions": [ + "Not specified.", + "The issue can be resolved by the merchant.", + "The issue will be resolved auomatically." + ], + "type": "string" + }, + "severity": { + "description": "How this issue affects serving of the offer.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "NOT_IMPACTED", + "DEMOTED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Not specified.", + "This issue represents a warning and does not have a direct affect on the product.", + "The product is demoted and most likely have limited performance in search results", + "Issue disapproves the product." + ], + "type": "string" + } + }, + "type": "object" + }, + "ListAggregateProductStatusesResponse": { + "description": "Response message for the `ListAggregateProductStatuses` method.", + "id": "ListAggregateProductStatusesResponse", + "properties": { + "aggregateProductStatuses": { + "description": "The `AggregateProductStatuses` resources for the given account.", + "items": { + "$ref": "AggregateProductStatus" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "Reason": { + "description": "A single reason why the action is not available.", + "id": "Reason", + "properties": { + "action": { + "$ref": "Action", + "description": "Optional. An action that needs to be performed to solve the problem represented by this reason. This action will always be available. Should be rendered as a link or button next to the summarizing message. For example, the review may be available only once the business configure all required attributes. In such a situation this action can be a link to the form, where they can fill the missing attribute to unblock the main action." + }, + "detail": { + "description": "Detailed explanation of the reason. Should be displayed as a hint if present.", + "type": "string" + }, + "message": { + "description": "Messages summarizing the reason, why the action is not available. For example: \"Review requested on Jan 03. Review requests can take a few days to complete.\"", + "type": "string" + } + }, + "type": "object" + }, + "Region": { + "description": "Region with code and localized name.", + "id": "Region", + "properties": { + "code": { + "description": "The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)", + "type": "string" + }, + "name": { + "description": "The localized name of the region. For region with code='001' the value is 'All countries' or the equivalent in other languages.", + "type": "string" + } + }, + "type": "object" + }, + "RenderAccountIssuesResponse": { + "description": "Response containing an issue resolution content and actions for listed account issues.", + "id": "RenderAccountIssuesResponse", + "properties": { + "renderedIssues": { + "description": "List of account issues for a given account. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered.", + "items": { + "$ref": "RenderedIssue" + }, + "type": "array" + } + }, + "type": "object" + }, + "RenderIssuesRequestPayload": { + "description": "The payload for configuring how the content should be rendered.", + "id": "RenderIssuesRequestPayload", + "properties": { + "contentOption": { + "description": "Optional. How the detailed content should be returned. Default option is to return the content as a pre-rendered HTML text.", + "enum": [ + "CONTENT_OPTION_UNSPECIFIED", + "PRE_RENDERED_HTML" + ], + "enumDescriptions": [ + "Default value. Will never be provided by the API.", + "Returns the detail of the issue as a pre-rendered HTML text." + ], + "type": "string" + }, + "userInputActionOption": { + "description": "Optional. How actions with user input form should be handled. If not provided, actions will be returned as links that points the business to Merchant Center where they can request the action.", + "enum": [ + "USER_INPUT_ACTION_RENDERING_OPTION_UNSPECIFIED", + "REDIRECT_TO_MERCHANT_CENTER", + "BUILT_IN_USER_INPUT_ACTIONS" + ], + "enumDescriptions": [ + "Default value. Will never be provided by the API.", + "Actions that require user input are represented only as links that points the business to Merchant Center where they can request the action. Provides easier to implement alternative to `BUILT_IN_USER_INPUT_ACTIONS`.", + "Returns content and input form definition for each complex action. Your application needs to display this content and input form to the business before they can request processing of the action. To start the action, your application needs to call the `triggeraction` method." + ], + "type": "string" + } + }, + "type": "object" + }, + "RenderProductIssuesResponse": { + "description": "Response containing an issue resolution content and actions for listed product issues.", + "id": "RenderProductIssuesResponse", + "properties": { + "renderedIssues": { + "description": "List of issues for a given product. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered.", + "items": { + "$ref": "RenderedIssue" + }, + "type": "array" + } + }, + "type": "object" + }, + "RenderedIssue": { + "description": "An issue affecting specific business or their product.", + "id": "RenderedIssue", + "properties": { + "actions": { + "description": "A list of actionable steps that can be executed to solve the issue. An example is requesting a re-review or providing arguments when business disagrees with the issue. Actions that are supported in (your) third-party application can be rendered as buttons and should be available to the business when they expand the issue.", + "items": { + "$ref": "Action" + }, + "type": "array" + }, + "impact": { + "$ref": "Impact", + "description": "Clarifies the severity of the issue. The summarizing message, if present, should be shown right under the title for each issue. It helps business to quickly understand the impact of the issue. The detailed breakdown helps the business to fully understand the impact of the issue. It can be rendered as dialog that opens when the business mouse over the summarized impact statement. Issues with different severity can be styled differently. They may use a different color or icon to signal the difference between `ERROR`, `WARNING` and `INFO`." + }, + "prerenderedContent": { + "description": "Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `issue-detail` - top level container for the detail of the issue * `callout-banners` - section of the `issue-detail` with callout banners * `callout-banner` - single callout banner, inside `callout-banners` * `callout-banner-info` - callout with important information (default) * `callout-banner-warning` - callout with a warning * `callout-banner-error` - callout informing about an error (most severe) * `issue-content` - section of the `issue-detail`, contains multiple `content-element` * `content-element` - content element such as a list, link or paragraph, inside `issue-content` * `root-causes` - unordered list with items describing root causes of the issue, inside `issue-content` * `root-causes-intro` - intro text before the `root-causes` list, inside `issue-content` * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. * `content-moderation` - marks the paragraph that explains how the issue was identified. * `new-element` - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class.", + "type": "string" + }, + "prerenderedOutOfCourtDisputeSettlement": { + "description": "Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `ods-section`* - wrapper around the out-of-court dispute resolution section * `ods-description`* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link. * `ods-param`* - wrapper around the header-value pair for parameters that the business may need to provide during the ODS process. * `ods-routing-id`* - ods param for the Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - value of the ODS parameter. This value should be rendered in a way that it is easy for the user to identify and copy. * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon.", + "type": "string" + }, + "title": { + "description": "Title of the issue.", + "type": "string" + } + }, + "type": "object" + }, + "Stats": { + "description": "Products statistics.", + "id": "Stats", + "properties": { + "activeCount": { + "description": "The number of products that are active.", + "format": "int64", + "type": "string" + }, + "disapprovedCount": { + "description": "The number of products that are disapproved.", + "format": "int64", + "type": "string" + }, + "expiringCount": { + "description": "The number of products that are expiring.", + "format": "int64", + "type": "string" + }, + "pendingCount": { + "description": "The number of products that are pending.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "TextInput": { + "description": "Text input allows the business to provide a text value.", + "id": "TextInput", + "properties": { + "additionalInfo": { + "$ref": "TextWithTooltip", + "description": "Additional info regarding the field to be displayed to the business. For example, warning to not include personal identifiable information. There may be more information to be shown in a tooltip." + }, + "ariaLabel": { + "description": "Text to be used as the [aria-label](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html) for the input.", + "type": "string" + }, + "formatInfo": { + "description": "Information about the required format. If present, it should be shown close to the input field to help the business to provide a correct value. For example: \"VAT numbers should be in a format similar to SK9999999999\"", + "type": "string" + }, + "type": { + "description": "Type of the text input", + "enum": [ + "TEXT_INPUT_TYPE_UNSPECIFIED", + "GENERIC_SHORT_TEXT", + "GENERIC_LONG_TEXT" + ], + "enumDescriptions": [ + "Default value. Will never be provided by the API.", + "Used when a short text is expected. The field can be rendered as a [text field](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.text.html#input.text).", + "Used when a longer text is expected. The field should be rendered as a [textarea](https://www.w3.org/TR/2012/WD-html-markup-20121025/textarea.html#textarea)." + ], + "type": "string" + } + }, + "type": "object" + }, + "TextInputValue": { + "description": "Value for text input field.", + "id": "TextInputValue", + "properties": { + "value": { + "description": "Required. Text provided by the business.", + "type": "string" + } + }, + "type": "object" + }, + "TextWithTooltip": { + "description": "Block of text that may contain a tooltip with more information.", + "id": "TextWithTooltip", + "properties": { + "simpleTooltipValue": { + "description": "Value of the tooltip as a simple text.", + "type": "string" + }, + "simpleValue": { + "description": "Value of the message as a simple text.", + "type": "string" + }, + "tooltipIconStyle": { + "description": "The suggested type of an icon for tooltip, if a tooltip is present.", + "enum": [ + "TOOLTIP_ICON_STYLE_UNSPECIFIED", + "INFO", + "QUESTION" + ], + "enumDescriptions": [ + "Default value. Will never be provided by the API.", + "Used when the tooltip adds additional information to the context, the 'i' can be used as an icon.", + "Used when the tooltip shows helpful information, the '?' can be used as an icon." + ], + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionPayload": { + "description": "The payload for the triggered action.", + "id": "TriggerActionPayload", + "properties": { + "actionContext": { + "description": "Required. The context from the selected action. The value is obtained from rendered issues and needs to be sent back to identify the action that is being triggered.", + "type": "string" + }, + "actionInput": { + "$ref": "ActionInput", + "description": "Required. Input provided by the business." + } + }, + "type": "object" + }, + "TriggerActionResponse": { + "description": "Response informing about the started action.", + "id": "TriggerActionResponse", + "properties": { + "message": { + "description": "The message for the business.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "issueresolution_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-lfp_v1beta.json b/discovery/merchantapi-lfp_v1beta.json index 3ba361a91f..1965d3d348 100644 --- a/discovery/merchantapi-lfp_v1beta.json +++ b/discovery/merchantapi-lfp_v1beta.json @@ -327,7 +327,7 @@ } } }, - "revision": "20250621", + "revision": "20250803", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CountrySettings": { @@ -617,7 +617,7 @@ "id": "LfpStore", "properties": { "gcidCategory": { - "description": "Optional. [Google My Business category id](https://gcid-explorer.corp.google.com/static/gcid.html).", + "description": "Optional. [Google My Business category id](https://support.google.com/business/answer/7249669).", "items": { "type": "string" }, diff --git a/discovery/merchantapi-notifications_v1.json b/discovery/merchantapi-notifications_v1.json new file mode 100644 index 0000000000..c24b06d3c2 --- /dev/null +++ b/discovery/merchantapi-notifications_v1.json @@ -0,0 +1,483 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:notifications_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "notificationsubscriptions": { + "methods": { + "create": { + "description": "Creates a notification subscription for a business. For standalone or subaccounts accounts, the business can create a subscription for self. For MCAs, the business can create a subscription for all managed accounts or for a specific subaccount. We will allow the following types of notification subscriptions to exist together (per business as a subscriber per event type): 1. Subscription for all managed accounts + subscription for self. 2. Multiple \"partial\" subscriptions for managed accounts + subscription for self. we will not allow (per business as a subscriber per event type): 1. Multiple self subscriptions. 2. Multiple \"all managed accounts\" subscriptions. 3. \"All managed accounts\" subscription and partial subscriptions at the same time. 4. Multiple partial subscriptions for the same target account.", + "flatPath": "notifications/v1/accounts/{accountsId}/notificationsubscriptions", + "httpMethod": "POST", + "id": "merchantapi.accounts.notificationsubscriptions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The merchant account that owns the new notification subscription. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "notifications/v1/{+parent}/notificationsubscriptions", + "request": { + "$ref": "NotificationSubscription" + }, + "response": { + "$ref": "NotificationSubscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "delete": { + "description": "Deletes a notification subscription for a merchant.", + "flatPath": "notifications/v1/accounts/{accountsId}/notificationsubscriptions/{notificationsubscriptionsId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.notificationsubscriptions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the notification subscription to be deleted.", + "location": "path", + "pattern": "^accounts/[^/]+/notificationsubscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "notifications/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Gets notification subscriptions for an account.", + "flatPath": "notifications/v1/accounts/{accountsId}/notificationsubscriptions/{notificationsubscriptionsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.notificationsubscriptions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The `name` of the notification subscription.", + "location": "path", + "pattern": "^accounts/[^/]+/notificationsubscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "notifications/v1/{+name}", + "response": { + "$ref": "NotificationSubscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Gets all the notification subscriptions for a merchant.", + "flatPath": "notifications/v1/accounts/{accountsId}/notificationsubscriptions", + "httpMethod": "GET", + "id": "merchantapi.accounts.notificationsubscriptions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of notification subscriptions to return in a page. The default value for `page_size` is 100. The maximum value is `200`. Values above `200` will be coerced to `200`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The merchant account who owns the notification subscriptions. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "notifications/v1/{+parent}/notificationsubscriptions", + "response": { + "$ref": "ListNotificationSubscriptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Updates an existing notification subscription for a merchant.", + "flatPath": "notifications/v1/accounts/{accountsId}/notificationsubscriptions/{notificationsubscriptionsId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.notificationsubscriptions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The `name` of the notification configuration. Generated by the Content API upon creation of a new `NotificationSubscription`. The `account` represents the merchant ID of the merchant that owns the configuration. Format: `accounts/{account}/notificationsubscriptions/{notification_subscription}`", + "location": "path", + "pattern": "^accounts/[^/]+/notificationsubscriptions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "List of fields being updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "notifications/v1/{+name}", + "request": { + "$ref": "NotificationSubscription" + }, + "response": { + "$ref": "NotificationSubscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ListNotificationSubscriptionsResponse": { + "description": "Response message for the ListNotificationSubscription method.", + "id": "ListNotificationSubscriptionsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "notificationSubscriptions": { + "description": "The list of notification subscriptions requested by the merchant.", + "items": { + "$ref": "NotificationSubscription" + }, + "type": "array" + } + }, + "type": "object" + }, + "NotificationSubscription": { + "description": "Represents a notification subscription owned by a Merchant account.", + "id": "NotificationSubscription", + "properties": { + "allManagedAccounts": { + "description": "If this value is true, the requesting account is notified of the specified event for all managed accounts (can be subaccounts or other linked accounts) including newly added accounts on a daily basis.", + "type": "boolean" + }, + "callBackUri": { + "description": "URL to be used to push the notification to the merchant.", + "type": "string" + }, + "name": { + "description": "Output only. The `name` of the notification configuration. Generated by the Content API upon creation of a new `NotificationSubscription`. The `account` represents the merchant ID of the merchant that owns the configuration. Format: `accounts/{account}/notificationsubscriptions/{notification_subscription}`", + "readOnly": true, + "type": "string" + }, + "registeredEvent": { + "description": "The event that the merchant wants to be notified about.", + "enum": [ + "NOTIFICATION_EVENT_TYPE_UNSPECIFIED", + "PRODUCT_STATUS_CHANGE" + ], + "enumDescriptions": [ + "Notifications event type is unspecified.", + "Notification of product status changes, for example when product becomes disapproved." + ], + "type": "string" + }, + "targetAccount": { + "description": "The `name` of the account you want to receive notifications for. Format: `accounts/{account}`", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "notifications_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-ordertracking_v1.json b/discovery/merchantapi-ordertracking_v1.json new file mode 100644 index 0000000000..67b2646f48 --- /dev/null +++ b/discovery/merchantapi-ordertracking_v1.json @@ -0,0 +1,569 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:ordertracking_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "orderTrackingSignals": { + "methods": { + "create": { + "description": "Creates new order tracking signal.", + "flatPath": "ordertracking/v1/accounts/{accountsId}/orderTrackingSignals", + "httpMethod": "POST", + "id": "merchantapi.accounts.orderTrackingSignals.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "orderTrackingSignalId": { + "description": "Output only. The ID that uniquely identifies this order tracking signal.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account of the business for which the order signal is created. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "ordertracking/v1/{+parent}/orderTrackingSignals", + "request": { + "$ref": "OrderTrackingSignal" + }, + "response": { + "$ref": "OrderTrackingSignal" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20250805", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "DateTime": { + "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", + "id": "DateTime", + "properties": { + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", + "format": "int32", + "type": "integer" + }, + "hours": { + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "TimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "LineItemDetails": { + "description": "The line items of the order.", + "id": "LineItemDetails", + "properties": { + "brand": { + "description": "Optional. Brand of the product.", + "type": "string" + }, + "gtins": { + "description": "Optional. The Global Trade Item Numbers.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lineItemId": { + "description": "Required. The ID for this line item.", + "type": "string" + }, + "mpn": { + "description": "Optional. The manufacturer part number.", + "type": "string" + }, + "productId": { + "description": "Required. The Content API REST ID of the product, in the form channel:contentLanguage:targetCountry:offerId.", + "type": "string" + }, + "productTitle": { + "description": "Optional. Plain text title of this product.", + "type": "string" + }, + "quantity": { + "description": "Required. The quantity of the line item in the order.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "OrderTrackingSignal": { + "description": "Represents a business trade from which signals are extracted, such as shipping.", + "id": "OrderTrackingSignal", + "properties": { + "customerShippingFee": { + "$ref": "Price", + "description": "Optional. The shipping fee of the order; this value should be set to zero in the case of free shipping." + }, + "deliveryPostalCode": { + "description": "Optional. The delivery postal code, as a continuous string without spaces or dashes, for example \"95016\". This field will be anonymized in returned OrderTrackingSignal creation response.", + "type": "string" + }, + "deliveryRegionCode": { + "description": "Optional. The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping destination.", + "type": "string" + }, + "lineItems": { + "description": "Required. Information about line items in the order.", + "items": { + "$ref": "LineItemDetails" + }, + "type": "array" + }, + "merchantId": { + "description": "Optional. The Google Merchant Center ID of this order tracking signal. This value is optional. If left unset, the caller's Merchant Center ID is used. You must request access in order to provide data on behalf of another business. For more information, see [Submitting Order Tracking Signals](/shopping-content/guides/order-tracking-signals).", + "format": "int64", + "type": "string" + }, + "orderCreatedTime": { + "$ref": "DateTime", + "description": "Required. The time when the order was created on the businesses side. Include the year and timezone string, if available." + }, + "orderId": { + "description": "Required. The ID of the order on the businesses side. This field will be hashed in returned OrderTrackingSignal creation response.", + "type": "string" + }, + "orderTrackingSignalId": { + "description": "Output only. The ID that uniquely identifies this order tracking signal.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "shipmentLineItemMapping": { + "description": "Optional. The mapping of the line items to the shipment information.", + "items": { + "$ref": "ShipmentLineItemMapping" + }, + "type": "array" + }, + "shippingInfo": { + "description": "Required. The shipping information for the order.", + "items": { + "$ref": "ShippingInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "Price": { + "description": "The price represented as a number and currency.", + "id": "Price", + "properties": { + "amountMicros": { + "description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", + "format": "int64", + "type": "string" + }, + "currencyCode": { + "description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "ShipmentLineItemMapping": { + "description": "Represents how many items are in the shipment for the given shipment_id and line_item_id.", + "id": "ShipmentLineItemMapping", + "properties": { + "lineItemId": { + "description": "Required. The line item ID.", + "type": "string" + }, + "quantity": { + "description": "Required. The line item quantity in the shipment.", + "format": "int64", + "type": "string" + }, + "shipmentId": { + "description": "Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.", + "type": "string" + } + }, + "type": "object" + }, + "ShippingInfo": { + "description": "The shipping information for the order.", + "id": "ShippingInfo", + "properties": { + "actualDeliveryTime": { + "$ref": "DateTime", + "description": "Optional. The time when the shipment was actually delivered. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name." + }, + "carrier": { + "description": "Optional. The name of the shipping carrier for the delivery. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time.", + "type": "string" + }, + "carrierService": { + "description": "Optional. The service type for fulfillment, such as GROUND, FIRST_CLASS, etc.", + "type": "string" + }, + "earliestDeliveryPromiseTime": { + "$ref": "DateTime", + "description": "Optional. The earliest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name." + }, + "latestDeliveryPromiseTime": { + "$ref": "DateTime", + "description": "Optional. The latest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name." + }, + "originPostalCode": { + "description": "Required. The origin postal code, as a continuous string without spaces or dashes, for example \"95016\". This field will be anonymized in returned OrderTrackingSignal creation response.", + "type": "string" + }, + "originRegionCode": { + "description": "Required. The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping origin.", + "type": "string" + }, + "shipmentId": { + "description": "Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.", + "type": "string" + }, + "shippedTime": { + "$ref": "DateTime", + "description": "Optional. The time when the shipment was shipped. Include the year and timezone string, if available." + }, + "shippingStatus": { + "description": "Required. The status of the shipment.", + "enum": [ + "SHIPPING_STATE_UNSPECIFIED", + "SHIPPED", + "DELIVERED" + ], + "enumDescriptions": [ + "The shipping status is not known to business.", + "All items are shipped.", + "The shipment is already delivered." + ], + "type": "string" + }, + "trackingId": { + "description": "Optional. The tracking ID of the shipment. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time.", + "type": "string" + } + }, + "type": "object" + }, + "TimeZone": { + "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "TimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "ordertracking_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-ordertracking_v1beta.json b/discovery/merchantapi-ordertracking_v1beta.json index 6e4cdacd8a..3a258a07c0 100644 --- a/discovery/merchantapi-ordertracking_v1beta.json +++ b/discovery/merchantapi-ordertracking_v1beta.json @@ -147,7 +147,7 @@ } } }, - "revision": "20250727", + "revision": "20250805", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DateTime": { @@ -210,9 +210,17 @@ "type": "string" }, "gtin": { + "deprecated": true, "description": "Optional. The Global Trade Item Number.", "type": "string" }, + "gtins": { + "description": "Optional. The Global Trade Item Numbers.", + "items": { + "type": "string" + }, + "type": "array" + }, "lineItemId": { "description": "Required. The ID for this line item.", "type": "string" diff --git a/discovery/merchantapi-products_v1.json b/discovery/merchantapi-products_v1.json new file mode 100644 index 0000000000..829aa3da92 --- /dev/null +++ b/discovery/merchantapi-products_v1.json @@ -0,0 +1,2125 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:products_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "productInputs": { + "methods": { + "delete": { + "description": "Deletes a product input from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.", + "flatPath": "products/v1/accounts/{accountsId}/productInputs/{productInputsId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.productInputs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "dataSource": { + "description": "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`.", + "location": "query", + "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: `content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/en~US~sku123`.", + "location": "path", + "pattern": "^accounts/[^/]+/productInputs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "products/v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "[Uploads a product input to your Merchant Center account](/merchant/api/guides/products/overview#upload-product-input). You must have a products [data source](/merchant/api/guides/data-sources/overview) to be able to insert a product. The unique identifier of the data source is passed as a query parameter in the request URL. If a product input with the same contentLanguage, offerId, and dataSource already exists, then the product input inserted by this method replaces that entry. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.", + "flatPath": "products/v1/accounts/{accountsId}/productInputs:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.productInputs.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dataSource": { + "description": "Required. The primary or supplemental product data source name. If the product already exists and data source provided is different, then the product will be moved to a new data source. For more information, see [Overview of Data sources sub-API](/merchant/api/guides/data-sources/overview). Only API data sources are supported. Format: `accounts/{account}/dataSources/{datasource}`. For example, `accounts/123456/dataSources/104628`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account where this product will be inserted. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "products/v1/{+parent}/productInputs:insert", + "request": { + "$ref": "ProductInput" + }, + "response": { + "$ref": "ProductInput" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "patch": { + "description": "Updates the existing product input in your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.", + "flatPath": "products/v1/accounts/{accountsId}/productInputs/{productInputsId}", + "httpMethod": "PATCH", + "id": "merchantapi.accounts.productInputs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "dataSource": { + "description": "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`.", + "location": "query", + "type": "string" + }, + "name": { + "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, + "type": "string" + }, + "updateMask": { + "description": "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "products/v1/{+name}", + "request": { + "$ref": "ProductInput" + }, + "response": { + "$ref": "ProductInput" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "products": { + "methods": { + "get": { + "description": "Retrieves the processed product from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the updated final product can be retrieved.", + "flatPath": "products/v1/accounts/{accountsId}/products/{productsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.products.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "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, + "type": "string" + } + }, + "path": "products/v1/{+name}", + "response": { + "$ref": "Product" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists the processed products in your Merchant Center account. The response might contain fewer items than specified by `pageSize`. Rely on `pageToken` to determine if there are more items to be requested. After inserting, updating, or deleting a product input, it may take several minutes before the updated processed product can be retrieved.", + "flatPath": "products/v1/accounts/{accountsId}/products", + "httpMethod": "GET", + "id": "merchantapi.accounts.products.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of products to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the default page size of 25 products will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListProducts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProducts` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list processed products for. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "products/v1/{+parent}/products", + "response": { + "$ref": "ListProductsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "AutomatedDiscounts": { + "description": "Information regarding Automated Discounts.", + "id": "AutomatedDiscounts", + "properties": { + "gadPrice": { + "$ref": "Price", + "description": "The current sale price for products with a price optimized using Google Automated Discounts (GAD). Absent if the information about the GAD_price of the product is not available." + }, + "priorPrice": { + "$ref": "Price", + "description": "The price prior to the application of the first price reduction. Absent if the information about the prior price of the product is not available." + }, + "priorPriceProgressive": { + "$ref": "Price", + "description": "The price prior to the application of consecutive price reductions. Absent if the information about the prior price of the product is not available." + } + }, + "type": "object" + }, + "CloudExportAdditionalProperties": { + "description": "Product property for the Cloud Retail API. For example, properties for a TV product could be \"Screen-Resolution\" or \"Screen-Size\".", + "id": "CloudExportAdditionalProperties", + "properties": { + "boolValue": { + "description": "Boolean value of the given property. For example for a TV product, \"True\" or \"False\" if the screen is UHD.", + "type": "boolean" + }, + "floatValue": { + "description": "Float values of the given property. For example for a TV product 1.2345. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.", + "items": { + "format": "float", + "type": "number" + }, + "type": "array" + }, + "intValue": { + "description": "Integer values of the given property. For example, 1080 for a TV product's Screen Resolution. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "maxValue": { + "description": "Maximum float value of the given property. For example for a TV product 100.00.", + "format": "float", + "type": "number" + }, + "minValue": { + "description": "Minimum float value of the given property. For example for a TV product 1.00.", + "format": "float", + "type": "number" + }, + "propertyName": { + "description": "Name of the given property. For example, \"Screen-Resolution\" for a TV product. Maximum string size is 256 characters.", + "type": "string" + }, + "textValue": { + "description": "Text value of the given property. For example, \"8K(UHD)\" could be a text value for a TV product. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unitCode": { + "description": "Unit of the given property. For example, \"Pixels\" for a TV product. Maximum string size is 256B.", + "type": "string" + } + }, + "type": "object" + }, + "CustomAttribute": { + "description": "A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.", + "id": "CustomAttribute", + "properties": { + "groupValues": { + "description": "Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "name": { + "description": "The name of the attribute.", + "type": "string" + }, + "value": { + "description": "The value of the attribute. If `value` is not empty, `group_values` must be empty.", + "type": "string" + } + }, + "type": "object" + }, + "DestinationStatus": { + "description": "The destination status of the product status.", + "id": "DestinationStatus", + "properties": { + "approvedCountries": { + "description": "List of country codes (ISO 3166-1 alpha-2) where the offer is approved.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disapprovedCountries": { + "description": "List of country codes (ISO 3166-1 alpha-2) where the offer is disapproved.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pendingCountries": { + "description": "List of country codes (ISO 3166-1 alpha-2) where the offer is pending approval.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reportingContext": { + "description": "The name of the reporting context.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "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" + }, + "FreeShippingThreshold": { + "description": "Conditions to be met for a product to have free shipping.", + "id": "FreeShippingThreshold", + "properties": { + "country": { + "description": "The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.", + "type": "string" + }, + "priceThreshold": { + "$ref": "Price", + "description": "The minimum product price for the shipping cost to become free. Represented as a number." + } + }, + "type": "object" + }, + "Interval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "id": "Interval", + "properties": { + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ItemLevelIssue": { + "description": "The ItemLevelIssue of the product status.", + "id": "ItemLevelIssue", + "properties": { + "applicableCountries": { + "description": "List of country codes (ISO 3166-1 alpha-2) where issue applies to the offer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "attribute": { + "description": "The attribute's name, if the issue is caused by a single attribute.", + "type": "string" + }, + "code": { + "description": "The error code of the issue.", + "type": "string" + }, + "description": { + "description": "A short issue description in English.", + "type": "string" + }, + "detail": { + "description": "A detailed issue description in English.", + "type": "string" + }, + "documentation": { + "description": "The URL of a web page to help with resolving this issue.", + "type": "string" + }, + "reportingContext": { + "description": "The reporting context the issue applies to.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + }, + "resolution": { + "description": "Whether the issue can be resolved by the business.", + "type": "string" + }, + "severity": { + "description": "How this issue affects serving of the offer.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "NOT_IMPACTED", + "DEMOTED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Not specified.", + "This issue represents a warning and does not have a direct affect on the product.", + "The product is demoted and most likely have limited performance in search results", + "Issue disapproves the product." + ], + "type": "string" + } + }, + "type": "object" + }, + "ListProductsResponse": { + "description": "Response message for the ListProducts method.", + "id": "ListProductsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "products": { + "description": "The processed products from the specified account. These are your processed products after applying rules and supplemental data sources.", + "items": { + "$ref": "Product" + }, + "type": "array" + } + }, + "type": "object" + }, + "LoyaltyPoints": { + "description": "A message that represents loyalty points.", + "id": "LoyaltyPoints", + "properties": { + "name": { + "description": "Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.", + "type": "string" + }, + "pointsValue": { + "description": "The retailer's loyalty points in absolute value.", + "format": "int64", + "type": "string" + }, + "ratio": { + "description": "The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "LoyaltyProgram": { + "description": "A message that represents loyalty program.", + "id": "LoyaltyProgram", + "properties": { + "cashbackForFutureUse": { + "$ref": "Price", + "description": "The cashback that can be used for future purchases." + }, + "loyaltyPoints": { + "description": "The amount of loyalty points earned on a purchase.", + "format": "int64", + "type": "string" + }, + "memberPriceEffectiveDate": { + "$ref": "Interval", + "description": "A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash." + }, + "price": { + "$ref": "Price", + "description": "The price for members of the given tier, that is, the instant discount price. Must be smaller or equal to the regular price." + }, + "programLabel": { + "description": "The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a business entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a business. The corresponding program must be linked to the Merchant Center account.", + "type": "string" + }, + "shippingLabel": { + "description": "The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn't provided, the item is not eligible for loyalty shipping for the given loyalty tier.", + "type": "string" + }, + "tierLabel": { + "description": "The label of the tier within the loyalty program. Must match one of the labels within the program.", + "type": "string" + } + }, + "type": "object" + }, + "Price": { + "description": "The price represented as a number and currency.", + "id": "Price", + "properties": { + "amountMicros": { + "description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", + "format": "int64", + "type": "string" + }, + "currencyCode": { + "description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", + "type": "string" + } + }, + "type": "object" + }, + "Product": { + "description": "The processed product, built from multiple product inputs after applying rules and supplemental data sources. This processed product matches what is shown in your Merchant Center account. Each product is built from exactly one primary data source product input, and multiple supplemental data source inputs. After inserting, updating, or deleting a product input, it may take several minutes before the updated processed product can be retrieved. All fields in the processed product and its sub-messages match the name of their corresponding attribute in the [Product data specification](https://support.google.com/merchants/answer/7052112) with some exceptions.", + "id": "Product", + "properties": { + "automatedDiscounts": { + "$ref": "AutomatedDiscounts", + "description": "Output only. The automated discounts information for the product.", + "readOnly": true + }, + "contentLanguage": { + "description": "Output only. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.", + "readOnly": true, + "type": "string" + }, + "customAttributes": { + "description": "Output only. A list of custom (merchant-provided) attributes. It can also be used to submit any attribute of the data specification in its generic form (for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google.", + "items": { + "$ref": "CustomAttribute" + }, + "readOnly": true, + "type": "array" + }, + "dataSource": { + "description": "Output only. The primary data source of the product.", + "readOnly": true, + "type": "string" + }, + "feedLabel": { + "description": "Output only. The feed label lets you categorize and identify your products. The maximum allowed characters is 20 and the supported characters are`A-Z`, `0-9`, hyphen and underscore. The feed label must not include any spaces. For more information, see [Using feed labels](//support.google.com/merchants/answer/14994087)", + "readOnly": true, + "type": "string" + }, + "legacyLocal": { + "description": "Output only. Determines whether the product is **only** targeting local destinations and whether the product name should be distinguished with a `local~` prefix. For example, `accounts/123/products/local~en~US~sku123`.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "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": { + "description": "Output only. Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. See the [product data specification](https://support.google.com/merchants/answer/188494#id) for details.", + "readOnly": true, + "type": "string" + }, + "productAttributes": { + "$ref": "ProductAttributes", + "description": "Output only. A list of strongly-typed product attributes.", + "readOnly": true + }, + "productStatus": { + "$ref": "ProductStatus", + "description": "Output only. The status of a product, data validation issues, that is, information about a product computed asynchronously.", + "readOnly": true + }, + "versionNumber": { + "description": "Output only. Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current `version_number`. Only supported for insertions into primary data sources. If the operation is prevented, the aborted exception will be thrown.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductAttributes": { + "description": "Product attributes.", + "id": "ProductAttributes", + "properties": { + "additionalImageLinks": { + "description": "Additional URLs of images of the item.", + "items": { + "type": "string" + }, + "type": "array" + }, + "adsGrouping": { + "description": "Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).", + "type": "string" + }, + "adsLabels": { + "description": "Similar to ads_grouping, but only works on CPC.", + "items": { + "type": "string" + }, + "type": "array" + }, + "adsRedirect": { + "description": "Allows advertisers to override the item URL when the product is shown within the context of Product ads.", + "type": "string" + }, + "adult": { + "description": "Set to true if the item is targeted towards adults.", + "type": "boolean" + }, + "ageGroup": { + "description": "Target [age group](https://support.google.com/merchants/answer/6324463) of the item.", + "enum": [ + "AGE_GROUP_UNSPECIFIED", + "ADULT", + "KIDS", + "TODDLER", + "INFANT", + "NEWBORN" + ], + "enumDescriptions": [ + "Age group is not specified.", + "Teens or older.", + "5-13 years old.", + "1-5 years old.", + "3-12 months old.", + "0-3 months old." + ], + "type": "string" + }, + "autoPricingMinPrice": { + "$ref": "Price", + "description": "A safeguard in the [automated discounts] (https://support.google.com/merchants/answer/10295759) and \"Dynamic Promotions\" (https://support.google.com/merchants/answer/13949249) projects, ensuring that discounts on business offers do not fall below this value, thereby preserving the offer's value and profitability." + }, + "availability": { + "description": "[Availability](https://support.google.com/merchants/answer/6324448) status of the item.", + "enum": [ + "AVAILABILITY_UNSPECIFIED", + "IN_STOCK", + "OUT_OF_STOCK", + "PREORDER", + "LIMITED_AVAILABILITY", + "BACKORDER" + ], + "enumDescriptions": [ + "Availability is not specified.", + "In stock.", + "Out of stock.", + "Pre-order.", + "Limited availability.", + "Backorder." + ], + "type": "string" + }, + "availabilityDate": { + "description": "The day a pre-ordered product becomes available for delivery, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "type": "string" + }, + "brand": { + "description": "[Brand](https://support.google.com/merchants/answer/6324351) of the item. For example, \"Google\".", + "type": "string" + }, + "canonicalLink": { + "description": "URL for the canonical version of your item's landing page.", + "type": "string" + }, + "certifications": { + "description": "Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information.", + "items": { + "$ref": "ProductCertification" + }, + "type": "array" + }, + "cloudExportAdditionalProperties": { + "description": "Extra fields to export to the Cloud Retail program.", + "items": { + "$ref": "CloudExportAdditionalProperties" + }, + "type": "array" + }, + "color": { + "description": "[Color](https://support.google.com/merchants/answer/6324487) of the item. For example, \"red\".", + "type": "string" + }, + "condition": { + "description": "[Condition](https://support.google.com/merchants/answer/6324469) or state of the item.", + "enum": [ + "CONDITION_UNSPECIFIED", + "NEW", + "USED", + "REFURBISHED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Brand new, original, unopened packaging.", + "Previously used, original packaging opened or missing.", + "Professionally restored to working order, comes with a warranty, may or may not have the original packaging." + ], + "type": "string" + }, + "costOfGoodsSold": { + "$ref": "Price", + "description": "Cost of goods sold. Used for gross profit reporting." + }, + "customLabel0": { + "description": "[Custom label 0](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.", + "type": "string" + }, + "customLabel1": { + "description": "[Custom label 1](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.", + "type": "string" + }, + "customLabel2": { + "description": "[Custom label 2](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.", + "type": "string" + }, + "customLabel3": { + "description": "[Custom label 3](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.", + "type": "string" + }, + "customLabel4": { + "description": "[Custom label 4](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.", + "type": "string" + }, + "description": { + "description": "Description of the item.", + "type": "string" + }, + "disclosureDate": { + "description": "The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information.", + "format": "google-datetime", + "type": "string" + }, + "displayAdsId": { + "description": "An identifier for an item for dynamic remarketing campaigns.", + "type": "string" + }, + "displayAdsLink": { + "description": "URL directly to your item's landing page for dynamic remarketing campaigns.", + "type": "string" + }, + "displayAdsSimilarIds": { + "description": "Advertiser-specified recommendations. For more information, see [Display ads attribute specification](https://support.google.com/merchants/answer/6069387).", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayAdsTitle": { + "description": "Title of an item for dynamic remarketing campaigns.", + "type": "string" + }, + "displayAdsValue": { + "description": "Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).", + "format": "double", + "type": "number" + }, + "energyEfficiencyClass": { + "description": "The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU.", + "enum": [ + "ENERGY_EFFICIENCY_CLASS_UNSPECIFIED", + "APPP", + "APP", + "AP", + "A", + "B", + "C", + "D", + "E", + "F", + "G" + ], + "enumDescriptions": [ + "The energy efficiency class is unspecified.", + "A+++.", + "A++.", + "A+.", + "A.", + "B.", + "C.", + "D.", + "E.", + "F.", + "G." + ], + "type": "string" + }, + "excludedDestinations": { + "description": "The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). For more information, see [Excluded destination](https://support.google.com/merchants/answer/6324486). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.", + "items": { + "enum": [ + "DESTINATION_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "YOUTUBE_SHOPPING", + "YOUTUBE_SHOPPING_CHECKOUT", + "YOUTUBE_AFFILIATE", + "FREE_VEHICLE_LISTINGS", + "VEHICLE_ADS", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL" + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/google-ads/answer/2454022).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3057972).", + "[Free listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[YouTube Shopping](https://support.google.com/merchants/answer/12362804).", + "Youtube shopping checkout.", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", + "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail)." + ], + "type": "string" + }, + "type": "array" + }, + "expirationDate": { + "description": "Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future.", + "format": "google-datetime", + "type": "string" + }, + "externalSellerId": { + "description": "Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account.", + "type": "string" + }, + "freeShippingThreshold": { + "description": "Conditions to be met for a product to have free shipping.", + "items": { + "$ref": "FreeShippingThreshold" + }, + "type": "array" + }, + "gender": { + "description": "Target [gender](https://support.google.com/merchants/answer/6324479) of the item.", + "enum": [ + "GENDER_UNSPECIFIED", + "MALE", + "FEMALE", + "UNISEX" + ], + "enumDescriptions": [ + "Gender is not specified.", + "Male.", + "Female.", + "Unisex." + ], + "type": "string" + }, + "googleProductCategory": { + "description": "Google's category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.", + "type": "string" + }, + "gtins": { + "description": "Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the item. You can provide up to 10 GTINs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identifierExists": { + "description": "Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided.", + "type": "boolean" + }, + "imageLink": { + "description": "URL of an image of the item.", + "type": "string" + }, + "includedDestinations": { + "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. For more information, see [Included destination](https://support.google.com/merchants/answer/7501026). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.", + "items": { + "enum": [ + "DESTINATION_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "YOUTUBE_SHOPPING", + "YOUTUBE_SHOPPING_CHECKOUT", + "YOUTUBE_AFFILIATE", + "FREE_VEHICLE_LISTINGS", + "VEHICLE_ADS", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL" + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/google-ads/answer/2454022).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3057972).", + "[Free listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[YouTube Shopping](https://support.google.com/merchants/answer/12362804).", + "Youtube shopping checkout.", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", + "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail)." + ], + "type": "string" + }, + "type": "array" + }, + "installment": { + "$ref": "ProductInstallment", + "description": "Number and amount of installments to pay for an item." + }, + "isBundle": { + "description": "Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price.", + "type": "boolean" + }, + "itemGroupId": { + "description": "Shared identifier for all variants of the same product.", + "type": "string" + }, + "lifestyleImageLinks": { + "description": "Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information.", + "items": { + "type": "string" + }, + "type": "array" + }, + "link": { + "description": "URL directly linking to your item's page on your online store.", + "type": "string" + }, + "linkTemplate": { + "description": "[Link template](https://support.google.com/merchants/answer/13871172) for business hosted local storefront.", + "type": "string" + }, + "loyaltyPoints": { + "$ref": "LoyaltyPoints", + "description": "Loyalty points that users receive after purchasing the item. Japan only." + }, + "loyaltyPrograms": { + "description": "A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item.", + "items": { + "$ref": "LoyaltyProgram" + }, + "type": "array" + }, + "material": { + "description": "The [material](https://support.google.com/merchants/answer/6324410) of which the item is made. For example, \"Leather\" or \"Cotton\".", + "type": "string" + }, + "maxEnergyEfficiencyClass": { + "description": "The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU.", + "enum": [ + "ENERGY_EFFICIENCY_CLASS_UNSPECIFIED", + "APPP", + "APP", + "AP", + "A", + "B", + "C", + "D", + "E", + "F", + "G" + ], + "enumDescriptions": [ + "The energy efficiency class is unspecified.", + "A+++.", + "A++.", + "A+.", + "A.", + "B.", + "C.", + "D.", + "E.", + "F.", + "G." + ], + "type": "string" + }, + "maxHandlingTime": { + "description": "Maximal product handling time (in business days).", + "format": "int64", + "type": "string" + }, + "maximumRetailPrice": { + "$ref": "Price", + "description": "Maximum retail price (MRP) of the item. Applicable to India only." + }, + "minEnergyEfficiencyClass": { + "description": "The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU.", + "enum": [ + "ENERGY_EFFICIENCY_CLASS_UNSPECIFIED", + "APPP", + "APP", + "AP", + "A", + "B", + "C", + "D", + "E", + "F", + "G" + ], + "enumDescriptions": [ + "The energy efficiency class is unspecified.", + "A+++.", + "A++.", + "A+.", + "A.", + "B.", + "C.", + "D.", + "E.", + "F.", + "G." + ], + "type": "string" + }, + "minHandlingTime": { + "description": "Minimal product handling time (in business days).", + "format": "int64", + "type": "string" + }, + "mobileLink": { + "description": "URL for the mobile-optimized version of your item's landing page.", + "type": "string" + }, + "mobileLinkTemplate": { + "description": "[Link template](https://support.google.com/merchants/answer/13870216) for business hosted local storefront optimized for mobile devices.", + "type": "string" + }, + "mpn": { + "description": "Manufacturer Part Number ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the item.", + "type": "string" + }, + "multipack": { + "description": "The number of identical products in a business-defined multipack.", + "format": "int64", + "type": "string" + }, + "pattern": { + "description": "The item's [pattern](https://support.google.com/merchants/answer/6324483). For example, polka dots.", + "type": "string" + }, + "pause": { + "description": "Publication of this item will be temporarily [paused](https://support.google.com/merchants/answer/11909930).", + "enum": [ + "PAUSE_UNSPECIFIED", + "ADS", + "ALL" + ], + "enumDescriptions": [ + "The pause is unspecified.", + "You’re currently pausing your product for all ads locations (including Shopping Ads, Display Ads, and local inventory ads).", + "You’re currently pausing your product for all Shopping locations (including Shopping Ads, Display Ads, local inventory ads, Buy on Google, and free listings)." + ], + "type": "string" + }, + "pickupMethod": { + "description": "The [pickup](https://support.google.com/merchants/answer/14634021) option for the item.", + "enum": [ + "PICKUP_METHOD_UNSPECIFIED", + "NOT_SUPPORTED", + "BUY", + "RESERVE", + "SHIP_TO_STORE" + ], + "enumDescriptions": [ + "Pickup method is not specified.", + "The item is not available for store pickup.", + "The entire transaction occurs online.", + "The item is reserved online and the transaction occurs in-store.", + "The item is purchased online and shipped to a local store for the customer to pick up." + ], + "type": "string" + }, + "pickupSla": { + "description": "Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400).", + "enum": [ + "PICKUP_SLA_UNSPECIFIED", + "SAME_DAY", + "NEXT_DAY", + "TWO_DAY", + "THREE_DAY", + "FOUR_DAY", + "FIVE_DAY", + "SIX_DAY", + "MULTI_WEEK" + ], + "enumDescriptions": [ + "Pickup SLA is not specified.", + "Indicates that the product is available for pickup the same day that the order is placed, subject to cut off times.", + "Indicates that the product is available for pickup the following day that the order is placed.", + "Indicates that the product will be shipped to a store for a customer to pick up in 2 days.", + "Indicates that the product will be shipped to a store for a customer to pick up in 3 days.", + "Indicates that the product will be shipped to a store for a customer to pick up in 4 days", + "Indicates that the product will be shipped to a store for a customer to pick up in 5 days.", + "Indicates that the product will be shipped to a store for a customer to pick up in 6 days.", + "Indicates that the product will be shipped to a store for a customer to pick up in one week or more." + ], + "type": "string" + }, + "price": { + "$ref": "Price", + "description": "Price of the item." + }, + "productDetails": { + "description": "Technical specification or additional product details.", + "items": { + "$ref": "ProductDetail" + }, + "type": "array" + }, + "productHeight": { + "$ref": "ProductDimension", + "description": "The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive)." + }, + "productHighlights": { + "description": "Bullet points describing the most relevant [product highlights](https://support.google.com/merchants/answer/9216100).", + "items": { + "type": "string" + }, + "type": "array" + }, + "productLength": { + "$ref": "ProductDimension", + "description": "The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive)." + }, + "productTypes": { + "description": "Categories of the item (formatted as in [product data specification](https://support.google.com/merchants/answer/7052112#product_category)).", + "items": { + "type": "string" + }, + "type": "array" + }, + "productWeight": { + "$ref": "ProductWeight", + "description": "The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive)." + }, + "productWidth": { + "$ref": "ProductDimension", + "description": "The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive)." + }, + "promotionIds": { + "description": "The unique ID of a promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "salePrice": { + "$ref": "Price", + "description": "Advertised sale price of the item." + }, + "salePriceEffectiveDate": { + "$ref": "Interval", + "description": "Date range during which the item is on sale, see [product data specification](https://support.google.com/merchants/answer/7052112#price_and_availability)." + }, + "sellOnGoogleQuantity": { + "description": "The quantity of the product that is available for selling on Google. Supported only for online products.", + "format": "int64", + "type": "string" + }, + "shipping": { + "description": "Shipping rules.", + "items": { + "$ref": "Shipping" + }, + "type": "array" + }, + "shippingHeight": { + "$ref": "ShippingDimension", + "description": "Height of the item for shipping." + }, + "shippingLabel": { + "description": "The shipping label of the product, used to group product in account-level shipping rules.", + "type": "string" + }, + "shippingLength": { + "$ref": "ShippingDimension", + "description": "Length of the item for shipping." + }, + "shippingWeight": { + "$ref": "ShippingWeight", + "description": "Weight of the item for shipping." + }, + "shippingWidth": { + "$ref": "ShippingDimension", + "description": "Width of the item for shipping." + }, + "shoppingAdsExcludedCountries": { + "description": "List of country codes [(ISO 3166-1 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "size": { + "description": "Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value, see [Size](https://support.google.com/merchants/answer/6324492).", + "type": "string" + }, + "sizeSystem": { + "description": "System in which the size is specified. Recommended for apparel items. For more information, see [Size system](https://support.google.com/merchants/answer/6324502).", + "enum": [ + "SIZE_SYSTEM_UNSPECIFIED", + "AU", + "BR", + "CN", + "DE", + "EU", + "FR", + "IT", + "JP", + "MEX", + "UK", + "US" + ], + "enumDescriptions": [ + "Unspecified size system.", + "AU.", + "BR.", + "CN.", + "DE.", + "EU.", + "FR.", + "IT.", + "JP.", + "MEX.", + "UK.", + "US." + ], + "type": "string" + }, + "sizeTypes": { + "description": "The cut of the item. It can be used to represent combined size types for apparel items. Maximum two of size types can be provided, see [Size type](https://support.google.com/merchants/answer/6324497).", + "items": { + "enum": [ + "SIZE_TYPE_UNSPECIFIED", + "REGULAR", + "PETITE", + "MATERNITY", + "BIG", + "TALL", + "PLUS" + ], + "enumDescriptions": [ + "The size type is not specified.", + "Regular size.", + "Petite size.", + "Maternity size.", + "Big size.", + "Tall size.", + "Plus size." + ], + "type": "string" + }, + "type": "array" + }, + "structuredDescription": { + "$ref": "StructuredDescription", + "description": "Structured description, for algorithmically (AI)-generated descriptions." + }, + "structuredTitle": { + "$ref": "StructuredTitle", + "description": "Structured title, for algorithmically (AI)-generated titles." + }, + "subscriptionCost": { + "$ref": "SubscriptionCost", + "description": "Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract." + }, + "sustainabilityIncentives": { + "description": "The list of sustainability incentive programs.", + "items": { + "$ref": "ProductSustainabilityIncentive" + }, + "type": "array" + }, + "title": { + "description": "Title of the item.", + "type": "string" + }, + "transitTimeLabel": { + "description": "The transit time label of the product, used to group product in account-level transit time tables.", + "type": "string" + }, + "unitPricingBaseMeasure": { + "$ref": "UnitPricingBaseMeasure", + "description": "The preference of the denominator of the unit price." + }, + "unitPricingMeasure": { + "$ref": "UnitPricingMeasure", + "description": "The measure and dimension of an item." + }, + "virtualModelLink": { + "description": "URL of the 3D image of the item. See the [Help Center article](https://support.google.com/merchants/answer/13674896) for more information.", + "type": "string" + } + }, + "type": "object" + }, + "ProductCertification": { + "description": "Product [certification](https://support.google.com/merchants/answer/13528839), initially introduced for EU energy efficiency labeling compliance using the EU EPREL database.", + "id": "ProductCertification", + "properties": { + "certificationAuthority": { + "description": "The certification authority.", + "enum": [ + "CERTIFICATION_AUTHORITY_UNSPECIFIED", + "ADEME", + "BMWK", + "EPA", + "EC" + ], + "enumDescriptions": [ + "Certification authority is not specified.", + "For the French CO2 emissions class for vehicles.", + "For the German CO2 emissions classes for vehicles.", + "Environment Protection Agency.", + "European Commission for energy labels in the EU." + ], + "type": "string" + }, + "certificationCode": { + "description": "The certification code. Maximum length is 2000 characters.", + "type": "string" + }, + "certificationName": { + "description": "The name of the certification.", + "enum": [ + "CERTIFICATION_NAME_UNSPECIFIED", + "ENERGY_STAR", + "ENERGY_STAR_MOST_EFFICIENT", + "EPREL", + "EU_ECOLABEL", + "VEHICLE_ENERGY_EFFICIENCY", + "VEHICLE_ENERGY_EFFICIENCY_DISCHARGED_BATTERY" + ], + "enumDescriptions": [ + "Certification name is not specified.", + "Energy Star.", + "Energy Star Most Efficient.", + "Represents energy efficiency certifications in the EU European Registry for Energy Labeling (EPREL) database.", + "EU Ecolabel.", + "The overall CO2 class of a vehicle", + "For the CO2 class of a vehicle with a discharged battery." + ], + "type": "string" + }, + "certificationValue": { + "description": "The certification value (also known as class, level or grade), for example \"A+\", \"C\", \"gold\". Maximum length is 2000 characters.", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductDetail": { + "description": "The product details.", + "id": "ProductDetail", + "properties": { + "attributeName": { + "description": "The name of the product detail.", + "type": "string" + }, + "attributeValue": { + "description": "The value of the product detail.", + "type": "string" + }, + "sectionName": { + "description": "The section header used to group a set of product details.", + "type": "string" + } + }, + "type": "object" + }, + "ProductDimension": { + "description": "The dimension of the product.", + "id": "ProductDimension", + "properties": { + "unit": { + "description": "Required. The dimension units. Acceptable values are: * \"`in`\" * \"`cm`\"", + "type": "string" + }, + "value": { + "description": "Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ProductInput": { + "description": "This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. For more information, see [Manage products](/merchant/api/guides/products/overview). Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the [Products Data Specification](https://support.google.com/merchants/answer/188494) with [some exceptions](https://support.google.com/merchants/answer/7052112). The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style.", + "id": "ProductInput", + "properties": { + "contentLanguage": { + "description": "Required. Immutable. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.", + "type": "string" + }, + "customAttributes": { + "description": "Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "feedLabel": { + "description": "Required. Immutable. The feed label that lets you categorize and identify your products. The maximum allowed characters are 20, and the supported characters are `A-Z`, `0-9`, hyphen, and underscore. The feed label must not include any spaces. For more information, see [Using feed labels](//support.google.com/merchants/answer/14994087).", + "type": "string" + }, + "legacyLocal": { + "description": "Immutable. Determines whether the product is **only** targeting local destinations and whether the product name should be distinguished with a `local~` prefix. For example, `accounts/123/productInputs/local~en~US~sku123`. If a product that is not `legacy_local` is already targeting local destinations, creating a `legacy_local` product with an otherwise matching name will fail.", + "type": "boolean" + }, + "name": { + "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": { + "description": "Required. Immutable. Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. See the [products data specification](https://support.google.com/merchants/answer/188494#id) for details.", + "type": "string" + }, + "product": { + "description": "Output only. The name of the processed product. Format: `accounts/{account}/products/{product}`", + "readOnly": true, + "type": "string" + }, + "productAttributes": { + "$ref": "ProductAttributes", + "description": "Optional. A list of strongly-typed product attributes." + }, + "versionNumber": { + "description": "Optional. Immutable. Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current `version_number`. Only supported for insertions into primary data sources. Do not set this field for updates. Do not set this field for insertions into supplemental data sources. If the operation is prevented, the aborted exception will be thrown.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ProductInstallment": { + "description": "A message that represents installment.", + "id": "ProductInstallment", + "properties": { + "amount": { + "$ref": "Price", + "description": "The amount the buyer has to pay per month." + }, + "creditType": { + "description": "Type of installment payments.", + "enum": [ + "CREDIT_TYPE_UNSPECIFIED", + "FINANCE", + "LEASE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Finance.", + "Lease." + ], + "type": "string" + }, + "downpayment": { + "$ref": "Price", + "description": "The up-front down payment amount the buyer has to pay." + }, + "months": { + "description": "The number of installments the buyer has to pay.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ProductStatus": { + "description": "The status of a product, data validation issues, that is, information about a product computed asynchronously.", + "id": "ProductStatus", + "properties": { + "creationDate": { + "description": "Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "type": "string" + }, + "destinationStatuses": { + "description": "The intended destinations for the product.", + "items": { + "$ref": "DestinationStatus" + }, + "type": "array" + }, + "googleExpirationDate": { + "description": "Date on which the item expires, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "type": "string" + }, + "itemLevelIssues": { + "description": "A list of all issues associated with the product.", + "items": { + "$ref": "ItemLevelIssue" + }, + "type": "array" + }, + "lastUpdateDate": { + "description": "Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductSustainabilityIncentive": { + "description": "Information regarding sustainability-related incentive programs such as rebates or tax relief.", + "id": "ProductSustainabilityIncentive", + "properties": { + "amount": { + "$ref": "Price", + "description": "The fixed amount of the incentive." + }, + "percentage": { + "description": "The percentage of the sale price that the incentive is applied to.", + "format": "double", + "type": "number" + }, + "type": { + "description": "Sustainability incentive program.", + "enum": [ + "TYPE_UNSPECIFIED", + "EV_TAX_CREDIT", + "EV_PRICE_DISCOUNT" + ], + "enumDescriptions": [ + "Unspecified or unknown sustainability incentive type.", + "Program offering tax liability reductions for electric vehicles and, in some countries, plug-in hybrids. These reductions can be based on a specific amount or a percentage of the sale price.", + "A subsidy program, often called an environmental bonus, provides a purchase grant for electric vehicles and, in some countries, plug-in hybrids. The grant amount may be a fixed sum or a percentage of the sale price." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductWeight": { + "description": "The weight of the product.", + "id": "ProductWeight", + "properties": { + "unit": { + "description": "Required. The weight unit. Acceptable values are: * \"`g`\" * \"`kg`\" * \"`oz`\" * \"`lb`\"", + "type": "string" + }, + "value": { + "description": "Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "Shipping": { + "description": "The Shipping of the product.", + "id": "Shipping", + "properties": { + "country": { + "description": "The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.", + "type": "string" + }, + "locationGroupName": { + "description": "The location where the shipping is applicable, represented by a location group name.", + "type": "string" + }, + "locationId": { + "description": "The numeric ID of a location that the shipping rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).", + "format": "int64", + "type": "string" + }, + "maxHandlingTime": { + "description": "Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minHandlingTime is optional if maxHandlingTime is present.", + "format": "int64", + "type": "string" + }, + "maxTransitTime": { + "description": "Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minTransitTime is optional if maxTransitTime is present.", + "format": "int64", + "type": "string" + }, + "minHandlingTime": { + "description": "Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it is not required if maxHandlingTime is present.", + "format": "int64", + "type": "string" + }, + "minTransitTime": { + "description": "Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it is not required if maxTransitTime is present.", + "format": "int64", + "type": "string" + }, + "postalCode": { + "description": "The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.", + "type": "string" + }, + "price": { + "$ref": "Price", + "description": "Fixed shipping price, represented as a number." + }, + "region": { + "description": "The geographic region to which a shipping rate applies. See [region](https://support.google.com/merchants/answer/6324484) for more information.", + "type": "string" + }, + "service": { + "description": "A free-form description of the service class or delivery speed.", + "type": "string" + } + }, + "type": "object" + }, + "ShippingDimension": { + "description": "The ShippingDimension of the product.", + "id": "ShippingDimension", + "properties": { + "unit": { + "description": "The unit of value.", + "type": "string" + }, + "value": { + "description": "The dimension of the product used to calculate the shipping cost of the item.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ShippingWeight": { + "description": "The ShippingWeight of the product.", + "id": "ShippingWeight", + "properties": { + "unit": { + "description": "The unit of value.", + "type": "string" + }, + "value": { + "description": "The weight of the product used to calculate the shipping cost of the item.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "StructuredDescription": { + "description": "Structured description, for algorithmically (AI)-generated descriptions.", + "id": "StructuredDescription", + "properties": { + "content": { + "description": "The description text Maximum length is 5000 characters", + "type": "string" + }, + "digitalSourceType": { + "description": "The digital source type. Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).", + "enum": [ + "DIGITAL_SOURCE_TYPE_UNSPECIFIED", + "TRAINED_ALGORITHMIC_MEDIA", + "DEFAULT" + ], + "enumDescriptions": [ + "Digital source type is unspecified.", + "Text created algorithmically using a model derived from sampled content.", + "Text NOT created algorithmically using a model derived from sampled content (the default)" + ], + "type": "string" + } + }, + "type": "object" + }, + "StructuredTitle": { + "description": "Structured title, for algorithmically (AI)-generated titles.", + "id": "StructuredTitle", + "properties": { + "content": { + "description": "The title text Maximum length is 150 characters", + "type": "string" + }, + "digitalSourceType": { + "description": "The digital source type. Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).", + "enum": [ + "DIGITAL_SOURCE_TYPE_UNSPECIFIED", + "TRAINED_ALGORITHMIC_MEDIA", + "DEFAULT" + ], + "enumDescriptions": [ + "Digital source type is unspecified.", + "Text created algorithmically using a model derived from sampled content.", + "Text NOT created algorithmically using a model derived from sampled content (the default)" + ], + "type": "string" + } + }, + "type": "object" + }, + "SubscriptionCost": { + "description": "The SubscriptionCost of the product.", + "id": "SubscriptionCost", + "properties": { + "amount": { + "$ref": "Price", + "description": "The amount the buyer has to pay per subscription period." + }, + "period": { + "description": "The type of subscription period. Supported values are: * \"`month`\" * \"`year`\"", + "enum": [ + "SUBSCRIPTION_PERIOD_UNSPECIFIED", + "MONTH", + "YEAR" + ], + "enumDescriptions": [ + "Indicates that the subscription period is unspecified.", + "Indicates that the subscription period is month.", + "Indicates that the subscription period is year." + ], + "type": "string" + }, + "periodLength": { + "description": "The number of subscription periods the buyer has to pay.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "UnitPricingBaseMeasure": { + "description": "The UnitPricingBaseMeasure of the product.", + "id": "UnitPricingBaseMeasure", + "properties": { + "unit": { + "description": "The unit of the denominator.", + "type": "string" + }, + "value": { + "description": "The denominator of the unit price.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "UnitPricingMeasure": { + "description": "The UnitPricingMeasure of the product.", + "id": "UnitPricingMeasure", + "properties": { + "unit": { + "description": "The unit of the measure.", + "type": "string" + }, + "value": { + "description": "The measure of an item.", + "format": "double", + "type": "number" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "products_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-promotions_v1.json b/discovery/merchantapi-promotions_v1.json new file mode 100644 index 0000000000..98bda8f8e2 --- /dev/null +++ b/discovery/merchantapi-promotions_v1.json @@ -0,0 +1,1034 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:promotions_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "promotions": { + "methods": { + "get": { + "description": "Retrieves the promotion from your Merchant Center account. After inserting or updating a promotion input, it may take several minutes before the updated promotion can be retrieved.", + "flatPath": "promotions/v1/accounts/{accountsId}/promotions/{promotionsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.promotions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the promotion to retrieve. Format: `accounts/{account}/promotions/{promotions}`", + "location": "path", + "pattern": "^accounts/[^/]+/promotions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "promotions/v1/{+name}", + "response": { + "$ref": "Promotion" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "Inserts a promotion for your Merchant Center account. If the promotion already exists, then it updates the promotion instead.", + "flatPath": "promotions/v1/accounts/{accountsId}/promotions:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.promotions.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account where the promotion will be inserted. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "promotions/v1/{+parent}/promotions:insert", + "request": { + "$ref": "InsertPromotionRequest" + }, + "response": { + "$ref": "Promotion" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists the promotions in your Merchant Center account. The response might contain fewer items than specified by `pageSize`. Rely on `pageToken` to determine if there are more items to be requested. After inserting or updating a promotion, it may take several minutes before the updated processed promotion can be retrieved.", + "flatPath": "promotions/v1/accounts/{accountsId}/promotions", + "httpMethod": "GET", + "id": "merchantapi.accounts.promotions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list processed promotions for. Format: `accounts/{account}`", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "promotions/v1/{+parent}/promotions", + "response": { + "$ref": "ListPromotionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20250805", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "Attributes": { + "description": "Attributes.", + "id": "Attributes", + "properties": { + "brandExclusion": { + "description": "Optional. Product filter by [brand exclusion](https://support.google.com/merchants/answer/13861679?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", + "items": { + "type": "string" + }, + "type": "array" + }, + "brandInclusion": { + "description": "Optional. Product filter by brand for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", + "items": { + "type": "string" + }, + "type": "array" + }, + "couponValueType": { + "description": "Required. The [coupon value type] (https://support.google.com/merchants/answer/13861986?ref_topic=13773355&sjid=17642868584668136159-NC) attribute to signal the type of promotion that you are running. Depending on type of the selected coupon value [some attributes are required](https://support.google.com/merchants/answer/6393006?ref_topic=7322920).", + "enum": [ + "COUPON_VALUE_TYPE_UNSPECIFIED", + "MONEY_OFF", + "PERCENT_OFF", + "BUY_M_GET_N_MONEY_OFF", + "BUY_M_GET_N_PERCENT_OFF", + "BUY_M_GET_MONEY_OFF", + "BUY_M_GET_PERCENT_OFF", + "FREE_GIFT", + "FREE_GIFT_WITH_VALUE", + "FREE_GIFT_WITH_ITEM_ID", + "FREE_SHIPPING_STANDARD", + "FREE_SHIPPING_OVERNIGHT", + "FREE_SHIPPING_TWO_DAY" + ], + "enumDescriptions": [ + "Indicates that the coupon value type is unspecified.", + "Money off coupon value type.", + "Percent off coupon value type.", + "Buy M quantity, get N money off coupon value type. `minimum_purchase_quantity` and `get_this_quantity_discounted` must be present. `money_off_amount` must also be present.", + "Buy M quantity, get N percent off coupon value type. `minimum_purchase_quantity` and `get_this_quantity_discounted` must be present. `percent_off_percentage` must also be present.", + "Buy M quantity, get money off. `minimum_purchase_quantity` and `money_off_amount` must be present.", + "Buy M quantity, get money off. `minimum_purchase_quantity` and `percent_off_percentage` must be present.", + "Free gift with description only.", + "Free gift with monetary value.", + "Free gift with item ID.", + "Standard free shipping coupon value type. Only available for online promotions.", + "Overnight free shipping coupon value type. Only available for online promotions.", + "Two day free shipping coupon value type. Only available for online promotions." + ], + "type": "string" + }, + "freeGiftDescription": { + "description": "Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", + "type": "string" + }, + "freeGiftItemId": { + "description": "Optional. [Free gift item ID](https://support.google.com/merchants/answer/13857152?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", + "type": "string" + }, + "freeGiftValue": { + "$ref": "Price", + "description": "Optional. [Free gift value](https://support.google.com/merchants/answer/13844477?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion." + }, + "genericRedemptionCode": { + "description": "Optional. Generic redemption code for the promotion. To be used with the `offerType` field and must meet the [minimum requirements](https://support.google.com/merchants/answer/13837405?ref_topic=13773355&sjid=17642868584668136159-NC).", + "type": "string" + }, + "getThisQuantityDiscounted": { + "description": "Optional. The number of items discounted in the promotion. The attribute is set when `couponValueType` is equal to `buy_m_get_n_money_off` or `buy_m_get_n_percent_off`.", + "format": "int64", + "type": "string" + }, + "itemGroupIdExclusion": { + "description": "Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemGroupIdInclusion": { + "description": "Optional. Product filter by item group ID for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability [product_applicability] attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemIdExclusion": { + "description": "Optional. Product filter by [item ID exclusion](https://support.google.com/merchants/answer/13863524?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemIdInclusion": { + "description": "Optional. Product filter by [item ID](https://support.google.com/merchants/answer/13861565?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", + "items": { + "type": "string" + }, + "type": "array" + }, + "limitQuantity": { + "description": "Optional. [Maximum purchase quantity](https://support.google.com/merchants/answer/13861564?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", + "format": "int64", + "type": "string" + }, + "limitValue": { + "$ref": "Price", + "description": "Optional. [Maximum product price](https://support.google.com/merchants/answer/2906014) for promotion." + }, + "longTitle": { + "description": "Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", + "type": "string" + }, + "minimumPurchaseAmount": { + "$ref": "Price", + "description": "Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion." + }, + "minimumPurchaseQuantity": { + "format": "int64", + "type": "string" + }, + "moneyOffAmount": { + "$ref": "Price", + "description": "Optional. The [money off amount](https://support.google.com/merchants/answer/13838101?ref_topic=13773355&sjid=17642868584668136159-NC) offered in the promotion." + }, + "offerType": { + "description": "Required. [Type](https://support.google.com/merchants/answer/13837405?ref_topic=13773355&sjid=17642868584668136159-NC) of the promotion. Use this attribute to indicate whether or not customers need a coupon code to redeem your promotion.", + "enum": [ + "OFFER_TYPE_UNSPECIFIED", + "NO_CODE", + "GENERIC_CODE" + ], + "enumDescriptions": [ + "Unknown offer type.", + "Offer type without a code.", + "Offer type with a code. Generic redemption code for the promotion is required when `offerType` = `GENERIC_CODE`." + ], + "type": "string" + }, + "percentOff": { + "description": "Optional. The [percentage discount](https://support.google.com/merchants/answer/13837404?sjid=17642868584668136159-NC) offered in the promotion.", + "format": "int64", + "type": "string" + }, + "productApplicability": { + "description": "Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC).", + "enum": [ + "PRODUCT_APPLICABILITY_UNSPECIFIED", + "ALL_PRODUCTS", + "SPECIFIC_PRODUCTS" + ], + "enumDescriptions": [ + "Which products the promotion applies to is unknown.", + "Applicable to all products.", + "Applicable to only a single product or list of products." + ], + "type": "string" + }, + "productTypeExclusion": { + "description": "Optional. Product filter by [product type exclusion](https://support.google.com/merchants/answer/13863746?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", + "items": { + "type": "string" + }, + "type": "array" + }, + "productTypeInclusion": { + "description": "Optional. Product filter by product type for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", + "items": { + "type": "string" + }, + "type": "array" + }, + "promotionDestinations": { + "description": "Required. The list of destinations (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", + "SHOPPING_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "YOUTUBE_SHOPPING", + "YOUTUBE_SHOPPING_CHECKOUT", + "YOUTUBE_AFFILIATE", + "FREE_VEHICLE_LISTINGS", + "VEHICLE_ADS", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL" + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/google-ads/answer/2454022).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3057972).", + "[Free listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[YouTube Shopping](https://support.google.com/merchants/answer/12362804).", + "Youtube shopping checkout.", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", + "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail)." + ], + "type": "string" + }, + "type": "array" + }, + "promotionDisplayTimePeriod": { + "$ref": "Interval", + "description": "Optional. `TimePeriod` representation of the promotion's display dates. This attribute specifies the date and time frame when the promotion will be live on Google.com and Shopping ads. If the display time period for promotion `promotion_display_time_period` attribute is not specified, the promotion effective time period `promotion_effective_time_period` determines the date and time frame when the promotion will be live on Google.com and Shopping ads." + }, + "promotionEffectiveTimePeriod": { + "$ref": "Interval", + "description": "Required. `TimePeriod` representation of the promotion's effective dates. This attribute specifies that the promotion can be tested on your online store during this time period." + }, + "promotionUrl": { + "description": "Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed.", + "type": "string" + }, + "storeApplicability": { + "description": "Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value.", + "enum": [ + "STORE_APPLICABILITY_UNSPECIFIED", + "ALL_STORES", + "SPECIFIC_STORES" + ], + "enumDescriptions": [ + "Which store codes the promotion applies to is unknown.", + "Promotion applies to all stores.", + "Promotion applies to only the specified stores." + ], + "type": "string" + }, + "storeCodesExclusion": { + "description": "Optional. [Store codes to exclude](https://support.google.com/merchants/answer/13859586?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The store filter attributes only applies when the `store_applicability` attribute is set to [specific_stores](https://support.google.com/merchants/answer/13857563?ref_topic=13773355&sjid=17642868584668136159-NC).", + "items": { + "type": "string" + }, + "type": "array" + }, + "storeCodesInclusion": { + "description": "Optional. [Store codes to include](https://support.google.com/merchants/answer/13857470?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The store filter attributes only applies when the `store_applicability` attribute is set to [specific_stores](https://support.google.com/merchants/answer/13857563?ref_topic=13773355&sjid=17642868584668136159-NC). Store code (the store ID from your Business Profile) of the physical store the product is sold in. See the [Local product inventory data specification](https://support.google.com/merchants/answer/3061342) for more information.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomAttribute": { + "description": "A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.", + "id": "CustomAttribute", + "properties": { + "groupValues": { + "description": "Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "name": { + "description": "The name of the attribute.", + "type": "string" + }, + "value": { + "description": "The value of the attribute. If `value` is not empty, `group_values` must be empty.", + "type": "string" + } + }, + "type": "object" + }, + "DestinationStatus": { + "description": "The status for the specified destination.", + "id": "DestinationStatus", + "properties": { + "reportingContext": { + "description": "Output only. The name of the promotion destination.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status for the specified destination.", + "enum": [ + "STATE_UNSPECIFIED", + "IN_REVIEW", + "REJECTED", + "LIVE", + "STOPPED", + "EXPIRED", + "PENDING" + ], + "enumDescriptions": [ + "Unknown promotion state.", + "The promotion is under review.", + "The promotion is disapproved.", + "The promotion is approved and active.", + "The promotion is stopped by merchant.", + "The promotion is no longer active.", + "The promotion is not stopped, and all reviews are approved, but the active date is in the future." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InsertPromotionRequest": { + "description": "Request message for the `InsertPromotion` method.", + "id": "InsertPromotionRequest", + "properties": { + "dataSource": { + "description": "Required. The data source of the [promotion](https://support.google.com/merchants/answer/6396268?sjid=5155774230887277618-NC) Format: `accounts/{account}/dataSources/{datasource}`.", + "type": "string" + }, + "promotion": { + "$ref": "Promotion", + "description": "Required. The promotion to insert." + } + }, + "type": "object" + }, + "Interval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "id": "Interval", + "properties": { + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ItemLevelIssue": { + "description": "The issue associated with the promotion.", + "id": "ItemLevelIssue", + "properties": { + "applicableCountries": { + "description": "Output only. List of country codes (ISO 3166-1 alpha-2) where issue applies to the offer.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "attribute": { + "description": "Output only. The attribute's name, if the issue is caused by a single attribute.", + "readOnly": true, + "type": "string" + }, + "code": { + "description": "Output only. The error code of the issue.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. A short issue description in English.", + "readOnly": true, + "type": "string" + }, + "detail": { + "description": "Output only. A detailed issue description in English.", + "readOnly": true, + "type": "string" + }, + "documentation": { + "description": "Output only. The URL of a web page to help with resolving this issue.", + "readOnly": true, + "type": "string" + }, + "reportingContext": { + "description": "Output only. The destination the issue applies to.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "readOnly": true, + "type": "string" + }, + "resolution": { + "description": "Output only. Whether the issue can be resolved by the merchant.", + "readOnly": true, + "type": "string" + }, + "severity": { + "description": "Output only. How this issue affects serving of the promotion.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "NOT_IMPACTED", + "DEMOTED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Not specified.", + "This issue represents a warning and does not have a direct affect on the promotion.", + "The promotion is demoted and most likely have limited performance in search results", + "Issue disapproves the promotion." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListPromotionsResponse": { + "description": "Response message for the `ListPromotions` method.", + "id": "ListPromotionsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "promotions": { + "description": "The processed promotions from the specified account.", + "items": { + "$ref": "Promotion" + }, + "type": "array" + } + }, + "type": "object" + }, + "Price": { + "description": "The price represented as a number and currency.", + "id": "Price", + "properties": { + "amountMicros": { + "description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", + "format": "int64", + "type": "string" + }, + "currencyCode": { + "description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "Promotion": { + "description": "Represents a promotion. See the following articles for more details. Required promotion input attributes to pass data validation checks are primarily defined below: * [Promotions data specification](https://support.google.com/merchants/answer/2906014) * [Local promotions data specification](https://support.google.com/merchants/answer/10146130) After inserting, updating a promotion input, it may take several minutes before the final promotion can be retrieved.", + "id": "Promotion", + "properties": { + "attributes": { + "$ref": "Attributes", + "description": "Optional. A list of promotion attributes." + }, + "contentLanguage": { + "description": "Required. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the promotion. Promotions is only for [selected languages](https://support.google.com/merchants/answer/4588281?ref_topic=6396150&sjid=18314938579342094533-NC#option3&zippy=).", + "type": "string" + }, + "customAttributes": { + "description": "Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "dataSource": { + "description": "Output only. The primary data source of the promotion.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The name of the promotion. Format: `accounts/{account}/promotions/{promotion}`", + "type": "string" + }, + "promotionId": { + "description": "Required. The user provided promotion ID to uniquely identify the promotion. Follow [minimum requirements](https://support.google.com/merchants/answer/7050148?ref_topic=7322920&sjid=871860036916537104-NC#minimum_requirements) to prevent promotion disapprovals.", + "type": "string" + }, + "promotionStatus": { + "$ref": "PromotionStatus", + "description": "Output only. The [status of a promotion](https://support.google.com/merchants/answer/3398326?ref_topic=7322924&sjid=5155774230887277618-NC), data validation issues, that is, information about a promotion computed asynchronously.", + "readOnly": true + }, + "redemptionChannel": { + "description": "Required. [Redemption channel](https://support.google.com/merchants/answer/13837674?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. At least one channel is required.", + "items": { + "enum": [ + "REDEMPTION_CHANNEL_UNSPECIFIED", + "IN_STORE", + "ONLINE" + ], + "enumDescriptions": [ + "Indicates that the channel is unspecified.", + "Indicates that the channel is in store. This is same as `local` channel used for `products`.", + "Indicates that the channel is online." + ], + "type": "string" + }, + "type": "array" + }, + "targetCountry": { + "description": "Required. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected countries, [Free Listings and Shopping ads](https://support.google.com/merchants/answer/4588460) [Local Inventory ads](https://support.google.com/merchants/answer/10146326)", + "type": "string" + }, + "versionNumber": { + "description": "Optional. Represents the existing version (freshness) of the promotion, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing promotion. Re-insertion (for example, promotion refresh after 30 days) can be performed with the current `version_number`. If the operation is prevented, the aborted exception will be thrown.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PromotionStatus": { + "description": "The status of the promotion.", + "id": "PromotionStatus", + "properties": { + "creationDate": { + "description": "Output only. Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example `2020-01-02T09:00:00+01:00` or `2020-01-02T09:00:00Z`", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "destinationStatuses": { + "description": "Output only. The intended destinations for the promotion.", + "items": { + "$ref": "DestinationStatus" + }, + "readOnly": true, + "type": "array" + }, + "itemLevelIssues": { + "description": "Output only. A list of issues associated with the promotion.", + "items": { + "$ref": "ItemLevelIssue" + }, + "readOnly": true, + "type": "array" + }, + "lastUpdateDate": { + "description": "Output only. Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example `2020-01-02T09:00:00+01:00` or `2020-01-02T09:00:00Z`", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "promotions_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-promotions_v1beta.json b/discovery/merchantapi-promotions_v1beta.json index 1e39195f6d..7bbbd73159 100644 --- a/discovery/merchantapi-promotions_v1beta.json +++ b/discovery/merchantapi-promotions_v1beta.json @@ -172,13 +172,13 @@ ], "parameters": { "pageSize": { - "description": "Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned.", + "description": "Optional. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Output only. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -203,7 +203,7 @@ } } }, - "revision": "20250727", + "revision": "20250805", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { diff --git a/discovery/merchantapi-quota_v1.json b/discovery/merchantapi-quota_v1.json new file mode 100644 index 0000000000..65cbd102fc --- /dev/null +++ b/discovery/merchantapi-quota_v1.json @@ -0,0 +1,393 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:quota_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "quotas": { + "methods": { + "list": { + "description": "Lists the daily call quota and usage per group for your Merchant Center account.", + "flatPath": "quota/v1/accounts/{accountsId}/quotas", + "httpMethod": "GET", + "id": "merchantapi.accounts.quotas.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of quotas to return in the response, used for paging. Defaults to 500; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The merchant account who owns the collection of method quotas Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "quota/v1/{+parent}/quotas", + "response": { + "$ref": "ListQuotaGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "ListQuotaGroupsResponse": { + "description": "Response message for the ListMethodGroups method.", + "id": "ListQuotaGroupsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "quotaGroups": { + "description": "The methods, current quota usage and limits per each group. The quota is shared between all methods in the group. The groups are sorted in descending order based on quota_usage.", + "items": { + "$ref": "QuotaGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "MethodDetails": { + "description": "The method details per method in the Merchant API.", + "id": "MethodDetails", + "properties": { + "method": { + "description": "Output only. The name of the method for example `products.list`.", + "readOnly": true, + "type": "string" + }, + "path": { + "description": "Output only. The path for the method such as `products/v1/productInputs.insert`", + "readOnly": true, + "type": "string" + }, + "subapi": { + "description": "Output only. The sub-API that the method belongs to.", + "readOnly": true, + "type": "string" + }, + "version": { + "description": "Output only. The API version that the method belongs to.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "QuotaGroup": { + "description": "The group information for methods in the Merchant API. The quota is shared between all methods in the group. Even if none of the methods within the group have usage the information for the group is returned.", + "id": "QuotaGroup", + "properties": { + "methodDetails": { + "description": "Output only. List of all methods group quota applies to.", + "items": { + "$ref": "MethodDetails" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Identifier. The resource name of the quota group. Format: accounts/{account}/quotas/{group} Note: There is no guarantee on the format of {group}", + "type": "string" + }, + "quotaLimit": { + "description": "Output only. The maximum number of calls allowed per day for the group.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "quotaMinuteLimit": { + "description": "Output only. The maximum number of calls allowed per minute for the group.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "quotaUsage": { + "description": "Output only. The current quota usage, meaning the number of calls already made on a given day to the methods in the group. The daily quota limits reset at at 12:00 PM midday UTC.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "quota_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-reports_v1.json b/discovery/merchantapi-reports_v1.json new file mode 100644 index 0000000000..977b56cb89 --- /dev/null +++ b/discovery/merchantapi-reports_v1.json @@ -0,0 +1,1550 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:reports_v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "reports": { + "methods": { + "search": { + "description": "Retrieves a report defined by a search query. The response might contain fewer rows than specified by `page_size`. Rely on `next_page_token` to determine if there are more rows to be requested.", + "flatPath": "reports/v1/accounts/{accountsId}/reports:search", + "httpMethod": "POST", + "id": "merchantapi.accounts.reports.search", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Id of the account making the call. Must be a standalone account or an MCA subaccount. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reports/v1/{+parent}/reports:search", + "request": { + "$ref": "SearchRequest" + }, + "response": { + "$ref": "SearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20250804", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "BestSellersBrandView": { + "description": "Fields available for query in `best_sellers_brand_view` table. [Best sellers](https://support.google.com/merchants/answer/9488679) report with top brands. Values are only set for fields requested explicitly in the request's search query.", + "id": "BestSellersBrandView", + "properties": { + "brand": { + "description": "Name of the brand.", + "type": "string" + }, + "previousRank": { + "description": "Popularity rank in the previous week or month.", + "format": "int64", + "type": "string" + }, + "previousRelativeDemand": { + "description": "Estimated demand in relation to the brand with the highest popularity rank in the same category and country in the previous week or month.", + "enum": [ + "RELATIVE_DEMAND_ENUM_UNSPECIFIED", + "VERY_LOW", + "LOW", + "MEDIUM", + "HIGH", + "VERY_HIGH" + ], + "enumDescriptions": [ + "Not specified.", + "Demand is 0-5% of the demand of the highest ranked product cluster or brand.", + "Demand is 6-10% of the demand of the highest ranked product cluster or brand.", + "Demand is 11-20% of the demand of the highest ranked product cluster or brand.", + "Demand is 21-50% of the demand of the highest ranked product cluster or brand.", + "Demand is 51-100% of the demand of the highest ranked product cluster or brand." + ], + "type": "string" + }, + "rank": { + "description": "Popularity of the brand on Ads and organic surfaces, in the selected category and country, based on the estimated number of units sold.", + "format": "int64", + "type": "string" + }, + "relativeDemand": { + "description": "Estimated demand in relation to the brand with the highest popularity rank in the same category and country.", + "enum": [ + "RELATIVE_DEMAND_ENUM_UNSPECIFIED", + "VERY_LOW", + "LOW", + "MEDIUM", + "HIGH", + "VERY_HIGH" + ], + "enumDescriptions": [ + "Not specified.", + "Demand is 0-5% of the demand of the highest ranked product cluster or brand.", + "Demand is 6-10% of the demand of the highest ranked product cluster or brand.", + "Demand is 11-20% of the demand of the highest ranked product cluster or brand.", + "Demand is 21-50% of the demand of the highest ranked product cluster or brand.", + "Demand is 51-100% of the demand of the highest ranked product cluster or brand." + ], + "type": "string" + }, + "relativeDemandChange": { + "description": "Change in the estimated demand. Whether it rose, sank or remained flat.", + "enum": [ + "RELATIVE_DEMAND_CHANGE_TYPE_ENUM_UNSPECIFIED", + "SINKER", + "FLAT", + "RISER" + ], + "enumDescriptions": [ + "Not specified.", + "Relative demand is lower than the previous time period.", + "Relative demand is equal to the previous time period.", + "Relative demand is higher than the previous time period." + ], + "type": "string" + }, + "reportCategoryId": { + "description": "Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. If a `WHERE` condition on `report_category_id` is not specified in the query, rankings for all top-level categories are returned.", + "format": "int64", + "type": "string" + }, + "reportCountryCode": { + "description": "Country where the ranking is calculated. Represented in the ISO 3166 format. Required in the `SELECT` clause. Condition on `report_country_code` is required in the `WHERE` clause.", + "type": "string" + }, + "reportDate": { + "$ref": "Date", + "description": "Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports, * The first day of the month for monthly reports. Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is not specified in the query, the latest available weekly or monthly report is returned." + }, + "reportGranularity": { + "description": "Granularity of the report. The ranking can be done over a week or a month timeframe. Required in the `SELECT` clause. Condition on `report_granularity` is required in the `WHERE` clause.", + "enum": [ + "REPORT_GRANULARITY_ENUM_UNSPECIFIED", + "WEEKLY", + "MONTHLY" + ], + "enumDescriptions": [ + "Not specified.", + "Report is computed over a week timeframe.", + "Report is computed over a month timeframe." + ], + "type": "string" + } + }, + "type": "object" + }, + "BestSellersProductClusterView": { + "description": "Fields available for query in `best_sellers_product_cluster_view` table. [Best sellers](https://support.google.com/merchants/answer/9488679) report with top product clusters. A product cluster is a grouping for different offers and variants that represent the same product, for example, Google Pixel 7. Values are only set for fields requested explicitly in the request's search query.", + "id": "BestSellersProductClusterView", + "properties": { + "brand": { + "description": "Brand of the product cluster.", + "type": "string" + }, + "brandInventoryStatus": { + "description": "Whether there is at least one product of the brand currently `IN_STOCK` in your product data source in at least one of the countries, all products are `OUT_OF_STOCK` in your product data source in all countries, or `NOT_IN_INVENTORY`. The field doesn't take the Best sellers report country filter into account.", + "enum": [ + "INVENTORY_STATUS_UNSPECIFIED", + "IN_STOCK", + "OUT_OF_STOCK", + "NOT_IN_INVENTORY" + ], + "enumDescriptions": [ + "Not specified.", + "You have a product for this product cluster or brand in stock.", + "You have a product for this product cluster or brand in inventory but it is currently out of stock.", + "You do not have a product for this product cluster or brand in inventory." + ], + "type": "string" + }, + "categoryL1": { + "description": "Product category (1st level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL2": { + "description": "Product category (2nd level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL3": { + "description": "Product category (3rd level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL4": { + "description": "Product category (4th level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL5": { + "description": "Product category (5th level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "inventoryStatus": { + "description": "Whether the product cluster is `IN_STOCK` in your product data source in at least one of the countries, `OUT_OF_STOCK` in your product data source in all countries, or `NOT_IN_INVENTORY` at all. The field doesn't take the Best sellers report country filter into account.", + "enum": [ + "INVENTORY_STATUS_UNSPECIFIED", + "IN_STOCK", + "OUT_OF_STOCK", + "NOT_IN_INVENTORY" + ], + "enumDescriptions": [ + "Not specified.", + "You have a product for this product cluster or brand in stock.", + "You have a product for this product cluster or brand in inventory but it is currently out of stock.", + "You do not have a product for this product cluster or brand in inventory." + ], + "type": "string" + }, + "previousRank": { + "description": "Popularity rank in the previous week or month.", + "format": "int64", + "type": "string" + }, + "previousRelativeDemand": { + "description": "Estimated demand in relation to the product cluster with the highest popularity rank in the same category and country in the previous week or month.", + "enum": [ + "RELATIVE_DEMAND_ENUM_UNSPECIFIED", + "VERY_LOW", + "LOW", + "MEDIUM", + "HIGH", + "VERY_HIGH" + ], + "enumDescriptions": [ + "Not specified.", + "Demand is 0-5% of the demand of the highest ranked product cluster or brand.", + "Demand is 6-10% of the demand of the highest ranked product cluster or brand.", + "Demand is 11-20% of the demand of the highest ranked product cluster or brand.", + "Demand is 21-50% of the demand of the highest ranked product cluster or brand.", + "Demand is 51-100% of the demand of the highest ranked product cluster or brand." + ], + "type": "string" + }, + "rank": { + "description": "Popularity of the product cluster on Ads and organic surfaces, in the selected category and country, based on the estimated number of units sold.", + "format": "int64", + "type": "string" + }, + "relativeDemand": { + "description": "Estimated demand in relation to the product cluster with the highest popularity rank in the same category and country.", + "enum": [ + "RELATIVE_DEMAND_ENUM_UNSPECIFIED", + "VERY_LOW", + "LOW", + "MEDIUM", + "HIGH", + "VERY_HIGH" + ], + "enumDescriptions": [ + "Not specified.", + "Demand is 0-5% of the demand of the highest ranked product cluster or brand.", + "Demand is 6-10% of the demand of the highest ranked product cluster or brand.", + "Demand is 11-20% of the demand of the highest ranked product cluster or brand.", + "Demand is 21-50% of the demand of the highest ranked product cluster or brand.", + "Demand is 51-100% of the demand of the highest ranked product cluster or brand." + ], + "type": "string" + }, + "relativeDemandChange": { + "description": "Change in the estimated demand. Whether it rose, sank or remained flat.", + "enum": [ + "RELATIVE_DEMAND_CHANGE_TYPE_ENUM_UNSPECIFIED", + "SINKER", + "FLAT", + "RISER" + ], + "enumDescriptions": [ + "Not specified.", + "Relative demand is lower than the previous time period.", + "Relative demand is equal to the previous time period.", + "Relative demand is higher than the previous time period." + ], + "type": "string" + }, + "reportCategoryId": { + "description": "Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. If a `WHERE` condition on `report_category_id` is not specified in the query, rankings for all top-level categories are returned.", + "format": "int64", + "type": "string" + }, + "reportCountryCode": { + "description": "Country where the ranking is calculated. Represented in the ISO 3166 format. Required in the `SELECT` clause. Condition on `report_country_code` is required in the `WHERE` clause.", + "type": "string" + }, + "reportDate": { + "$ref": "Date", + "description": "Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports, * The first day of the month for monthly reports. Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is not specified in the query, the latest available weekly or monthly report is returned." + }, + "reportGranularity": { + "description": "Granularity of the report. The ranking can be done over a week or a month timeframe. Required in the `SELECT` clause. Condition on `report_granularity` is required in the `WHERE` clause.", + "enum": [ + "REPORT_GRANULARITY_ENUM_UNSPECIFIED", + "WEEKLY", + "MONTHLY" + ], + "enumDescriptions": [ + "Not specified.", + "Report is computed over a week timeframe.", + "Report is computed over a month timeframe." + ], + "type": "string" + }, + "title": { + "description": "Title of the product cluster.", + "type": "string" + }, + "variantGtins": { + "description": "GTINs of example variants of the product cluster.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CompetitiveVisibilityBenchmarkView": { + "description": "Fields available for query in `competitive_visibility_benchmark_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with the category benchmark. Values are only set for fields requested explicitly in the request's search query.", + "id": "CompetitiveVisibilityBenchmarkView", + "properties": { + "categoryBenchmarkVisibilityTrend": { + "description": "Change in visibility based on impressions with respect to the start of the selected time range (or first day with non-zero impressions) for a combined set of merchants with highest visibility approximating the market. Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + }, + "date": { + "$ref": "Date", + "description": "Date of this row. Required in the `SELECT` clause. A condition on `date` is required in the `WHERE` clause." + }, + "reportCategoryId": { + "description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.", + "format": "int64", + "type": "string" + }, + "reportCountryCode": { + "description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause.", + "type": "string" + }, + "trafficSource": { + "description": "Traffic source of impressions. Required in the `SELECT` clause.", + "enum": [ + "TRAFFIC_SOURCE_ENUM_UNSPECIFIED", + "ORGANIC", + "ADS", + "ALL" + ], + "enumDescriptions": [ + "Not specified.", + "Organic traffic.", + "Traffic from ads.", + "Organic and ads traffic." + ], + "type": "string" + }, + "yourDomainVisibilityTrend": { + "description": "Change in visibility based on impressions for your domain with respect to the start of the selected time range (or first day with non-zero impressions). Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "CompetitiveVisibilityCompetitorView": { + "description": "Fields available for query in `competitive_visibility_competitor_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with businesses with similar visibility. Values are only set for fields requested explicitly in the request's search query.", + "id": "CompetitiveVisibilityCompetitorView", + "properties": { + "adsOrganicRatio": { + "description": "[Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) shows how often the domain receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + }, + "date": { + "$ref": "Date", + "description": "Date of this row. A condition on `date` is required in the `WHERE` clause." + }, + "domain": { + "description": "Domain of your competitor or your domain, if 'is_your_domain' is true. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause.", + "type": "string" + }, + "higherPositionRate": { + "description": "[Higher position rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) shows how often a competitor’s offer got placed in a higher position on the page than your offer. Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + }, + "isYourDomain": { + "description": "True if this row contains data for your domain. Cannot be filtered on in the 'WHERE' clause.", + "type": "boolean" + }, + "pageOverlapRate": { + "description": "[Page overlap rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) shows how frequently competing retailers’ offers are shown together with your offers on the same page. Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + }, + "rank": { + "description": "Position of the domain in the similar businesses ranking for the selected keys (`date`, `report_category_id`, `report_country_code`, `traffic_source`) based on impressions. 1 is the highest. Cannot be filtered on in the 'WHERE' clause.", + "format": "int64", + "type": "string" + }, + "relativeVisibility": { + "description": "[Relative visibility] (https://support.google.com/merchants/answer/11366442#zippy=%2Crelative-visibility) shows how often your competitors’ offers are shown compared to your offers. In other words, this is the number of displayed impressions of a competitor retailer divided by the number of your displayed impressions during a selected time range for a selected product category and country. Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + }, + "reportCategoryId": { + "description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.", + "format": "int64", + "type": "string" + }, + "reportCountryCode": { + "description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause.", + "type": "string" + }, + "trafficSource": { + "description": "Traffic source of impressions. Required in the `SELECT` clause.", + "enum": [ + "TRAFFIC_SOURCE_ENUM_UNSPECIFIED", + "ORGANIC", + "ADS", + "ALL" + ], + "enumDescriptions": [ + "Not specified.", + "Organic traffic.", + "Traffic from ads.", + "Organic and ads traffic." + ], + "type": "string" + } + }, + "type": "object" + }, + "CompetitiveVisibilityTopMerchantView": { + "description": "Fields available for query in `competitive_visibility_top_merchant_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with business with highest visibility. Values are only set for fields requested explicitly in the request's search query.", + "id": "CompetitiveVisibilityTopMerchantView", + "properties": { + "adsOrganicRatio": { + "description": "[Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) shows how often the domain receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + }, + "date": { + "$ref": "Date", + "description": "Date of this row. Cannot be selected in the `SELECT` clause. A condition on `date` is required in the `WHERE` clause." + }, + "domain": { + "description": "Domain of your competitor or your domain, if 'is_your_domain' is true. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause.", + "type": "string" + }, + "higherPositionRate": { + "description": "[Higher position rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) shows how often a competitor’s offer got placed in a higher position on the page than your offer. Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + }, + "isYourDomain": { + "description": "True if this row contains data for your domain. Cannot be filtered on in the 'WHERE' clause.", + "type": "boolean" + }, + "pageOverlapRate": { + "description": "[Page overlap rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) shows how frequently competing retailers’ offers are shown together with your offers on the same page. Cannot be filtered on in the 'WHERE' clause.", + "format": "double", + "type": "number" + }, + "rank": { + "description": "Position of the domain in the top merchants ranking for the selected keys (`date`, `report_category_id`, `report_country_code`, `traffic_source`) based on impressions. 1 is the highest. Cannot be filtered on in the 'WHERE' clause.", + "format": "int64", + "type": "string" + }, + "reportCategoryId": { + "description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.", + "format": "int64", + "type": "string" + }, + "reportCountryCode": { + "description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause.", + "type": "string" + }, + "trafficSource": { + "description": "Traffic source of impressions. Required in the `SELECT` clause.", + "enum": [ + "TRAFFIC_SOURCE_ENUM_UNSPECIFIED", + "ORGANIC", + "ADS", + "ALL" + ], + "enumDescriptions": [ + "Not specified.", + "Organic traffic.", + "Traffic from ads.", + "Organic and ads traffic." + ], + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "IssueSeverityPerReportingContext": { + "description": "Issue severity per reporting context.", + "id": "IssueSeverityPerReportingContext", + "properties": { + "demotedCountries": { + "description": "List of demoted countries in the reporting context, represented in ISO 3166 format.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disapprovedCountries": { + "description": "List of disapproved countries in the reporting context, represented in ISO 3166 format.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reportingContext": { + "description": "Reporting context the issue applies to.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ItemIssue": { + "description": "Item issue associated with the product.", + "id": "ItemIssue", + "properties": { + "resolution": { + "description": "Item issue resolution.", + "enum": [ + "ITEM_ISSUE_RESOLUTION_UNSPECIFIED", + "MERCHANT_ACTION", + "PENDING_PROCESSING" + ], + "enumDescriptions": [ + "Not specified.", + "The merchant has to fix the issue.", + "The issue will be resolved automatically (for example, image crawl) or through a Google review. No merchant action is required now. Resolution might lead to another issue (for example, if crawl fails)." + ], + "type": "string" + }, + "severity": { + "$ref": "ItemIssueSeverity", + "description": "Item issue severity." + }, + "type": { + "$ref": "ItemIssueType", + "description": "Item issue type." + } + }, + "type": "object" + }, + "ItemIssueSeverity": { + "description": "How the issue affects the serving of the product.", + "id": "ItemIssueSeverity", + "properties": { + "aggregatedSeverity": { + "description": "Aggregated severity of the issue for all reporting contexts it affects. **This field can be used for filtering the results.**", + "enum": [ + "AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED", + "DISAPPROVED", + "DEMOTED", + "PENDING" + ], + "enumDescriptions": [ + "Not specified.", + "Issue disapproves the product in at least one reporting context.", + "Issue demotes the product in all reporting contexts it affects.", + "Issue resolution is `PENDING_PROCESSING`." + ], + "type": "string" + }, + "severityPerReportingContext": { + "description": "Issue severity per reporting context.", + "items": { + "$ref": "IssueSeverityPerReportingContext" + }, + "type": "array" + } + }, + "type": "object" + }, + "ItemIssueType": { + "description": "Issue type.", + "id": "ItemIssueType", + "properties": { + "canonicalAttribute": { + "description": "Canonical attribute name for attribute-specific issues.", + "type": "string" + }, + "code": { + "description": "Error code of the issue, equivalent to the `code` of [Product issues](https://developers.google.com/shopping-content/guides/product-issues).", + "type": "string" + } + }, + "type": "object" + }, + "NonProductPerformanceView": { + "description": "Fields available for query in `non_product_performance_view` table. Performance data on images and online store links leading to your non-product pages. This includes performance metrics (for example, `clicks`) and dimensions according to which performance metrics are segmented (for example, `date`). Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for fields requested explicitly in the request's search query.", + "id": "NonProductPerformanceView", + "properties": { + "clickThroughRate": { + "description": "Click-through rate - the number of clicks (`clicks`) divided by the number of impressions (`impressions`) of images and online store links leading to your non-product pages. Metric.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "Number of clicks on images and online store links leading to your non-product pages. Metric.", + "format": "int64", + "type": "string" + }, + "date": { + "$ref": "Date", + "description": "Date in the merchant timezone to which metrics apply. Segment. Condition on `date` is required in the `WHERE` clause." + }, + "impressions": { + "description": "Number of times images and online store links leading to your non-product pages were shown. Metric.", + "format": "int64", + "type": "string" + }, + "week": { + "$ref": "Date", + "description": "First day of the week (Monday) of the metrics date in the merchant timezone. Segment." + } + }, + "type": "object" + }, + "Price": { + "description": "The price represented as a number and currency.", + "id": "Price", + "properties": { + "amountMicros": { + "description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", + "format": "int64", + "type": "string" + }, + "currencyCode": { + "description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", + "type": "string" + } + }, + "type": "object" + }, + "PriceCompetitivenessProductView": { + "description": "Fields available for query in `price_competitiveness_product_view` table. [Price competitiveness](https://support.google.com/merchants/answer/9626903) report. Values are only set for fields requested explicitly in the request's search query.", + "id": "PriceCompetitivenessProductView", + "properties": { + "benchmarkPrice": { + "$ref": "Price", + "description": "Latest available price benchmark for the product's catalog in the benchmark country." + }, + "brand": { + "description": "Brand of the product.", + "type": "string" + }, + "categoryL1": { + "description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL2": { + "description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL3": { + "description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL4": { + "description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL5": { + "description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "id": { + "description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Can be used to join data with the `product_view` table. Required in the `SELECT` clause.", + "type": "string" + }, + "offerId": { + "description": "Merchant-provided id of the product.", + "type": "string" + }, + "price": { + "$ref": "Price", + "description": "Current price of the product." + }, + "productTypeL1": { + "description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL2": { + "description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL3": { + "description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL4": { + "description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL5": { + "description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "reportCountryCode": { + "description": "Country of the price benchmark. Represented in the ISO 3166 format. Required in the `SELECT` clause.", + "type": "string" + }, + "title": { + "description": "Title of the product.", + "type": "string" + } + }, + "type": "object" + }, + "PriceInsightsProductView": { + "description": "Fields available for query in `price_insights_product_view` table. [Price insights](https://support.google.com/merchants/answer/11916926) report. Values are only set for fields requested explicitly in the request's search query.", + "id": "PriceInsightsProductView", + "properties": { + "brand": { + "description": "Brand of the product.", + "type": "string" + }, + "categoryL1": { + "description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL2": { + "description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL3": { + "description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL4": { + "description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL5": { + "description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "effectiveness": { + "description": "The predicted effectiveness of applying the price suggestion, bucketed.", + "enum": [ + "EFFECTIVENESS_UNSPECIFIED", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Effectiveness is unknown.", + "Effectiveness is low.", + "Effectiveness is medium.", + "Effectiveness is high." + ], + "type": "string" + }, + "id": { + "description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Can be used to join data with the `product_view` table. Required in the `SELECT` clause.", + "type": "string" + }, + "offerId": { + "description": "Merchant-provided id of the product.", + "type": "string" + }, + "predictedClicksChangeFraction": { + "description": "Predicted change in clicks as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in clicks.", + "format": "double", + "type": "number" + }, + "predictedConversionsChangeFraction": { + "description": "Predicted change in conversions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in conversions).", + "format": "double", + "type": "number" + }, + "predictedImpressionsChangeFraction": { + "description": "Predicted change in impressions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in impressions.", + "format": "double", + "type": "number" + }, + "price": { + "$ref": "Price", + "description": "Current price of the product." + }, + "productTypeL1": { + "description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL2": { + "description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL3": { + "description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL4": { + "description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL5": { + "description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "suggestedPrice": { + "$ref": "Price", + "description": "Latest suggested price for the product." + }, + "title": { + "description": "Title of the product.", + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_AFFILIATE", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "YouTube Checkout ." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductPerformanceView": { + "description": "Fields available for query in `product_performance_view` table. Product performance data for your account, including performance metrics (for example, `clicks`) and dimensions according to which performance metrics are segmented (for example, `offer_id`). Values of product dimensions, such as `offer_id`, reflect the state of a product at the time of the impression. Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for fields requested explicitly in the request's search query.", + "id": "ProductPerformanceView", + "properties": { + "brand": { + "description": "Brand of the product. Segment.", + "type": "string" + }, + "categoryL1": { + "description": "[Product category (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", + "type": "string" + }, + "categoryL2": { + "description": "[Product category (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", + "type": "string" + }, + "categoryL3": { + "description": "[Product category (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", + "type": "string" + }, + "categoryL4": { + "description": "[Product category (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", + "type": "string" + }, + "categoryL5": { + "description": "[Product category (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.", + "type": "string" + }, + "clickThroughRate": { + "description": "Click-through rate - the number of clicks merchant's products receive (clicks) divided by the number of times the products are shown (impressions). Metric.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "Number of clicks. Metric.", + "format": "int64", + "type": "string" + }, + "conversionRate": { + "description": "Number of conversions divided by the number of clicks, reported on the impression date. Metric. Available only for the `FREE` traffic source.", + "format": "double", + "type": "number" + }, + "conversionValue": { + "$ref": "Price", + "description": "Value of conversions attributed to the product, reported on the conversion date. Metric. Available only for the `FREE` traffic source." + }, + "conversions": { + "description": "Number of conversions attributed to the product, reported on the conversion date. Depending on the attribution model, a conversion might be distributed across multiple clicks, where each click gets its own credit assigned. This metric is a sum of all such credits. Metric. Available only for the `FREE` traffic source.", + "format": "double", + "type": "number" + }, + "customLabel0": { + "description": "Custom label 0 for custom grouping of products. Segment.", + "type": "string" + }, + "customLabel1": { + "description": "Custom label 1 for custom grouping of products. Segment.", + "type": "string" + }, + "customLabel2": { + "description": "Custom label 2 for custom grouping of products. Segment.", + "type": "string" + }, + "customLabel3": { + "description": "Custom label 3 for custom grouping of products. Segment.", + "type": "string" + }, + "customLabel4": { + "description": "Custom label 4 for custom grouping of products. Segment.", + "type": "string" + }, + "customerCountryCode": { + "description": "Code of the country where the customer is located at the time of the event. Represented in the ISO 3166 format. Segment. If the customer country cannot be determined, a special 'ZZ' code is returned.", + "type": "string" + }, + "date": { + "$ref": "Date", + "description": "Date in the merchant timezone to which metrics apply. Segment. Condition on `date` is required in the `WHERE` clause." + }, + "impressions": { + "description": "Number of times merchant's products are shown. Metric.", + "format": "int64", + "type": "string" + }, + "marketingMethod": { + "description": "Marketing method to which metrics apply. Segment.", + "enum": [ + "MARKETING_METHOD_ENUM_UNSPECIFIED", + "ORGANIC", + "ADS" + ], + "enumDescriptions": [ + "Not specified.", + "Organic marketing.", + "Ads-based marketing." + ], + "type": "string" + }, + "offerId": { + "description": "Merchant-provided id of the product. Segment.", + "type": "string" + }, + "productTypeL1": { + "description": "[Product type (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", + "type": "string" + }, + "productTypeL2": { + "description": "[Product type (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", + "type": "string" + }, + "productTypeL3": { + "description": "[Product type (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", + "type": "string" + }, + "productTypeL4": { + "description": "[Product type (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", + "type": "string" + }, + "productTypeL5": { + "description": "[Product type (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.", + "type": "string" + }, + "title": { + "description": "Title of the product. Segment.", + "type": "string" + }, + "week": { + "$ref": "Date", + "description": "First day of the week (Monday) of the metrics date in the merchant timezone. Segment." + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "eventTime": { + "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.", + "format": "google-datetime", + "type": "string" + }, + "expirationTime": { + "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `accounts/{account}/products/{product}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductView": { + "description": "Fields available for query in `product_view` table. Products in the current inventory. Products in this table are the same as in Products sub-API but not all product attributes from Products sub-API are available for query in this table. In contrast to Products sub-API, this table allows to filter the returned list of products by product attributes. To retrieve a single product by `id` or list all products, Products sub-API should be used. Values are only set for fields requested explicitly in the request's search query. ", + "id": "ProductView", + "properties": { + "aggregatedReportingContextStatus": { + "description": "Aggregated status.", + "enum": [ + "AGGREGATED_REPORTING_CONTEXT_STATUS_UNSPECIFIED", + "NOT_ELIGIBLE_OR_DISAPPROVED", + "PENDING", + "ELIGIBLE_LIMITED", + "ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Product is not eligible or is disapproved for all reporting contexts.", + "Product's status is pending in all reporting contexts.", + "Product is eligible for some (but not all) reporting contexts.", + "Product is eligible for all reporting contexts." + ], + "type": "string" + }, + "availability": { + "description": "[Availability](https://support.google.com/merchants/answer/6324448) of the product.", + "type": "string" + }, + "brand": { + "description": "Brand of the product.", + "type": "string" + }, + "categoryL1": { + "description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL2": { + "description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL3": { + "description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL4": { + "description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "categoryL5": { + "description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", + "type": "string" + }, + "channel": { + "description": "Channel of the product. Can be `ONLINE` or `LOCAL`.", + "enum": [ + "CHANNEL_ENUM_UNSPECIFIED", + "ONLINE", + "LOCAL" + ], + "enumDescriptions": [ + "Not specified.", + "Online product.", + "Local product." + ], + "type": "string" + }, + "clickPotential": { + "description": "Estimated performance potential compared to highest performing products of the merchant.", + "enum": [ + "CLICK_POTENTIAL_UNSPECIFIED", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Unknown predicted clicks impact.", + "Potential to receive a low number of clicks compared to the highest performing products of the merchant.", + "Potential to receive a moderate number of clicks compared to the highest performing products of the merchant.", + "Potential to receive a similar number of clicks as the highest performing products of the merchant." + ], + "type": "string" + }, + "clickPotentialRank": { + "description": "Rank of the product based on its click potential. A product with `click_potential_rank` 1 has the highest click potential among the merchant's products that fulfill the search query conditions.", + "format": "int64", + "type": "string" + }, + "condition": { + "description": "[Condition](https://support.google.com/merchants/answer/6324469) of the product.", + "type": "string" + }, + "creationTime": { + "description": "The time the merchant created the product in timestamp seconds.", + "format": "google-datetime", + "type": "string" + }, + "expirationDate": { + "$ref": "Date", + "description": "Expiration date for the product, specified on insertion." + }, + "feedLabel": { + "description": "Feed label of the product.", + "type": "string" + }, + "gtin": { + "description": "List of Global Trade Item Numbers (GTINs) of the product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Merchant API methods that operate on products take this as their `name` parameter. Required in the `SELECT` clause.", + "type": "string" + }, + "itemGroupId": { + "description": "Item group id provided by the merchant for grouping variants together.", + "type": "string" + }, + "itemIssues": { + "description": "List of item issues for the product. **This field cannot be used for sorting the results.** **Only selected attributes of this field (for example, `item_issues.severity.aggregated_severity`) can be used for filtering the results.**", + "items": { + "$ref": "ItemIssue" + }, + "type": "array" + }, + "languageCode": { + "description": "Language code of the product in BCP 47 format.", + "type": "string" + }, + "offerId": { + "description": "Merchant-provided id of the product.", + "type": "string" + }, + "price": { + "$ref": "Price", + "description": "Product price. Absent if the information about the price of the product is not available." + }, + "productTypeL1": { + "description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL2": { + "description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL3": { + "description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL4": { + "description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "productTypeL5": { + "description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).", + "type": "string" + }, + "shippingLabel": { + "description": "Normalized [shipping label](https://support.google.com/merchants/answer/6324504) specified in the data source.", + "type": "string" + }, + "thumbnailLink": { + "description": "Link to the processed image of the product, hosted on the Google infrastructure.", + "type": "string" + }, + "title": { + "description": "Title of the product.", + "type": "string" + } + }, + "type": "object" + }, + "ReportRow": { + "description": "Result row returned from the search query. Only the message corresponding to the queried table is populated in the response. Within the populated message, only the fields requested explicitly in the query are populated.", + "id": "ReportRow", + "properties": { + "bestSellersBrandView": { + "$ref": "BestSellersBrandView", + "description": "Fields available for query in `best_sellers_brand_view` table." + }, + "bestSellersProductClusterView": { + "$ref": "BestSellersProductClusterView", + "description": "Fields available for query in `best_sellers_product_cluster_view` table." + }, + "competitiveVisibilityBenchmarkView": { + "$ref": "CompetitiveVisibilityBenchmarkView", + "description": "Fields available for query in `competitive_visibility_benchmark_view` table." + }, + "competitiveVisibilityCompetitorView": { + "$ref": "CompetitiveVisibilityCompetitorView", + "description": "Fields available for query in `competitive_visibility_competitor_view` table." + }, + "competitiveVisibilityTopMerchantView": { + "$ref": "CompetitiveVisibilityTopMerchantView", + "description": "Fields available for query in `competitive_visibility_top_merchant_view` table." + }, + "nonProductPerformanceView": { + "$ref": "NonProductPerformanceView", + "description": "Fields available for query in `non_product_performance_view` table." + }, + "priceCompetitivenessProductView": { + "$ref": "PriceCompetitivenessProductView", + "description": "Fields available for query in `price_competitiveness_product_view` table." + }, + "priceInsightsProductView": { + "$ref": "PriceInsightsProductView", + "description": "Fields available for query in `price_insights_product_view` table." + }, + "productPerformanceView": { + "$ref": "ProductPerformanceView", + "description": "Fields available for query in `product_performance_view` table." + }, + "productView": { + "$ref": "ProductView", + "description": "Fields available for query in `product_view` table." + } + }, + "type": "object" + }, + "SearchRequest": { + "description": "Request message for the `ReportService.Search` method.", + "id": "SearchRequest", + "properties": { + "pageSize": { + "description": "Optional. Number of `ReportRows` to retrieve in a single page. Defaults to 1000. Values above 5000 are coerced to 5000.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Token of the page to retrieve. If not specified, the first page of results is returned. In order to request the next page of results, the value obtained from `next_page_token` in the previous response should be used.", + "type": "string" + }, + "query": { + "description": "Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the [Available fields](/merchant/api/reference/rest/reports_v1beta/accounts.reports).", + "type": "string" + } + }, + "type": "object" + }, + "SearchResponse": { + "description": "Response message for the `ReportService.Search` method.", + "id": "SearchResponse", + "properties": { + "nextPageToken": { + "description": "Token which can be sent as `page_token` to retrieve the next page. If omitted, there are no subsequent pages.", + "type": "string" + }, + "results": { + "description": "Rows that matched the search query.", + "items": { + "$ref": "ReportRow" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "reports_v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/merchantapi-reports_v1beta.json b/discovery/merchantapi-reports_v1beta.json index f7bedf9cbb..030b71a26e 100644 --- a/discovery/merchantapi-reports_v1beta.json +++ b/discovery/merchantapi-reports_v1beta.json @@ -142,7 +142,7 @@ } } }, - "revision": "20250621", + "revision": "20250808", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -1518,7 +1518,7 @@ "type": "string" }, "query": { - "description": "Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the [Available fields](/merchant/api/reference/rest/reports_v1beta/accounts.reports).", + "description": "Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the [Available fields](/merchant/api/reference/rest/reports_{api_version}/accounts.reports).", "type": "string" } }, diff --git a/src/apis/merchantapi/accounts_v1.ts b/src/apis/merchantapi/accounts_v1.ts new file mode 100644 index 0000000000..929e377cf8 --- /dev/null +++ b/src/apis/merchantapi/accounts_v1.ts @@ -0,0 +1,13566 @@ +// 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 merchantapi_accounts_v1 { + export interface Options extends GlobalOptions { + version: 'accounts_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + termsOfService: Resource$Termsofservice; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + this.termsOfService = new Resource$Termsofservice(this.context); + } + } + + /** + * Collection of information related to the about page ([impressum](https://support.google.com/merchants/answer/14675634?ref_topic=15145634&sjid=6892280366904591178-NC)). + */ + export interface Schema$About { + /** + * Output only. The state of the URI. + */ + state?: string | null; + /** + * Required. The about page URI. + */ + uri?: string | null; + } + /** + * 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 { + /** + * Required. The account where the acceptance was recorded. This can be the account itself or, in the case of subaccounts, the advanced account. + */ + acceptedBy?: string | null; + /** + * Required. The accepted termsOfService. + */ + termsOfService?: string | null; + /** + * Optional. When set, it states that the accepted `TermsOfService` is only valid until the end of this date (in UTC). A new one must be accepted before then. The information of the required `TermsOfService` is found in the `Required` message. + */ + validUntil?: Schema$Date; + } + /** + * Response message for the `AcceptTermsOfService` method. + */ + export interface Schema$AcceptTermsOfServiceResponse { + /** + * The agreement state after accepting the ToS. + */ + termsOfServiceAgreementState?: Schema$TermsOfServiceAgreementState; + } + /** + * The `Account` message represents a business's account within Shopping Ads. It's the primary entity for managing product data, settings, and interactions with Google's services and external providers. Accounts can operate as standalone entities or be part of a advanced account structure. In an advanced account setup the parent account manages multiple sub-accounts. Establishing an account involves configuring attributes like the account name, time zone, and language preferences. The `Account` message is the parent entity for many other resources, for example, `AccountRelationship`, `Homepage`, `BusinessInfo` and so on. + */ + export interface Schema$Account { + /** + * Output only. The ID of the account. + */ + accountId?: string | null; + /** + * Required. A human-readable name of the account. See [store name](https://support.google.com/merchants/answer/160556) and [business name](https://support.google.com/merchants/answer/12159159) for more information. + */ + accountName?: string | null; + /** + * Optional. Whether this account contains adult content. + */ + adultContent?: boolean | null; + /** + * Required. The account's [BCP-47 language code](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`. + */ + languageCode?: string | null; + /** + * Identifier. The resource name of the account. Format: `accounts/{account\}` + */ + name?: string | null; + /** + * Output only. Whether this is a test account. + */ + testAccount?: boolean | null; + /** + * Required. The time zone of the account. On writes, `time_zone` sets both the `reporting_time_zone` and the `display_time_zone`. For reads, `time_zone` always returns the `display_time_zone`. If `display_time_zone` doesn't exist for your account, `time_zone` is empty. The `version` field is not supported, won't be set in responses and will be silently ignored if specified in requests. + */ + timeZone?: Schema$TimeZone; + } + /** + * `AccountAggregation` payload. + */ + export interface Schema$AccountAggregation {} + /** + * Issues with your Merchant Center account that can impact all your products. For more information, see [Account-level issues in Merchant Center](https://support.google.com/merchants/answer/12153802?sjid=17798438912526418908-EU#account). + */ + export interface Schema$AccountIssue { + /** + * Further localized details about the issue. + */ + detail?: string | null; + /** + * Link to Merchant Center Help Center providing further information about the issue and how to fix it. + */ + documentationUri?: string | null; + /** + * The impact this issue has on various destinations. + */ + impactedDestinations?: Schema$ImpactedDestination[]; + /** + * Identifier. The resource name of the account issue. Format: `accounts/{account\}/issues/{id\}`. For example, `accounts/123456/issues/misrepresentation-of-self-or-products-unacceptable-business-practice-policy`. + */ + name?: string | null; + /** + * The overall severity of the issue. + */ + severity?: string | null; + /** + * The localized title of the issue. + */ + title?: string | null; + } + /** + * `AccountManagement` payload. + */ + export interface Schema$AccountManagement {} + /** + * The `AccountRelationship` message defines a formal connection between a merchant's account and a service provider's account. This relationship enables the provider to offer specific services to the business, such as product management or campaign management. It specifies the access rights and permissions to the business's data relevant to those services. Establishing an account relationship involves linking the merchant's account with a provider's account. The provider could be another Google account (like Google Ads or Google My Business) or a third-party platform (such as Shopify or WooCommerce). + */ + export interface Schema$AccountRelationship { + /** + * Optional. An optional alias you can assign to this account relationship. This alias acts as a convenient identifier for your own reference and management. It must be unique among all your account relationships with the same provider. For example, you might use `account_id_alias` to assign a friendly name to this relationship for easier identification in your systems. + */ + accountIdAlias?: string | null; + /** + * Identifier. The resource name of the account relationship. Format: `accounts/{account\}/relationships/{relationship\}`. For example, `accounts/123456/relationships/567890`. + */ + name?: string | null; + /** + * Immutable. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`). + */ + provider?: string | null; + /** + * Output only. The human-readable display name of the provider account. + */ + providerDisplayName?: string | null; + } + /** + * The `AccountService` message represents a specific service that a provider account offers to a Merchant Center account. `AccountService` defines the permissions and capabilities granted to the provider, allowing for operations such as product management or campaign management. The lifecycle of an `AccountService` involves a proposal phase, where one party suggests the service, and an approval phase, where the other party accepts or rejects it. This handshake mechanism ensures mutual consent before any access is granted. This mechanism safeguards both parties by ensuring that access rights are granted appropriately and that both the business and provider are aware of the services enabled. In scenarios where a user is an admin of both accounts, the approval can happen automatically. The mutability of a service is also managed through `AccountService`. Some services might be immutable, for example, if they were established through other systems or APIs, and you cannot alter them through this API. + */ + export interface Schema$AccountService { + /** + * Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many Merchant Center accounts. + */ + accountAggregation?: Schema$AccountAggregation; + /** + * Service type for account management. Enables the provider to perform administrative actions on the business's account, such as configuring account settings, managing users, or updating business information. + */ + accountManagement?: Schema$AccountManagement; + /** + * Service type for managing advertising campaigns. Grants the provider access to create and manage the business's ad campaigns, including setting up campaigns, adjusting bids, and optimizing performance. + */ + campaignsManagement?: Schema$CampaignsManagement; + /** + * Immutable. An optional, immutable identifier that Google uses to refer to this account when communicating with the provider. This should be the unique account ID within the provider's system (for example, your shop ID in Shopify). If you have multiple accounts with the same provider - for instance, different accounts for various regions — the `external_account_id` differentiates between them, ensuring accurate linking and integration between Google and the provider. + */ + externalAccountId?: string | null; + /** + * Output only. Information about the state of the service in terms of establishing it (e.g. is it pending approval or approved). + */ + handshake?: Schema$Handshake; + /** + * Service type for local listings management. The business group associated with the external account id will be used to provide local inventory to this Merchant Center account. + */ + localListingManagement?: Schema$LocalListingManagement; + /** + * Output only. Whether the service is mutable (e.g. through Approve / Reject RPCs). A service that was created through another system or API might be immutable. + */ + mutability?: string | null; + /** + * Identifier. The resource name of the account service. Format: `accounts/{account\}/services/{service\}` + */ + name?: string | null; + /** + * Service type for managing products. This allows the provider to handle product data on behalf of the business, including reading and writing product listings. It's commonly used when the provider offers inventory management or catalog synchronization services to keep the business's product information up-to-date across platforms. + */ + productsManagement?: Schema$ProductsManagement; + /** + * Output only. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`). + */ + provider?: string | null; + /** + * Output only. The human-readable display name of the provider account. + */ + providerDisplayName?: string | null; + } + /** + * Additional instructions to add account services during creation of the account. + */ + export interface Schema$AddAccountService { + /** + * The provider is an [aggregator](https://support.google.com/merchants/answer/188487) for the account. Payload for service type Account Aggregation. + */ + accountAggregation?: Schema$AccountAggregation; + /** + * Required. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`). + */ + provider?: string | null; + } + /** + * Shipping address of the warehouse. + */ + export interface Schema$Address { + /** + * Required. Top-level administrative subdivision of the country. For example, a state like California ("CA") or a province like Quebec ("QC"). + */ + administrativeArea?: string | null; + /** + * Required. City, town or commune. May also include dependent localities or sublocalities (For example neighborhoods or suburbs). + */ + city?: string | null; + /** + * Required. Postal code or ZIP (For example "94043"). + */ + postalCode?: string | null; + /** + * Required. [CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) (For example "US"). + */ + regionCode?: string | null; + /** + * Street-level part of the address. For example: `111w 31st Street`. + */ + streetAddress?: string | null; + } + /** + * Instruction for adding a user to the account during creation. + */ + export interface Schema$AddUser { + /** + * Optional. Details about the user to be added. At the moment, only access rights may be specified. + */ + user?: Schema$User; + /** + * Required. The email address of the user (for example, `john.doe@gmail.com`). + */ + userId?: string | null; + } + /** + * Request to approve an account service. + */ + export interface Schema$ApproveAccountServiceRequest {} + /** + * Collection of information related to the [autofeed](https://support.google.com/merchants/answer/7538732) settings. + */ + export interface Schema$AutofeedSettings { + /** + * Output only. Determines whether the business is eligible for being enrolled into an autofeed. + */ + eligible?: boolean | null; + /** + * Required. Enables or disables product crawling through the autofeed for the given account. Autofeed accounts must meet [certain conditions](https://support.google.com/merchants/answer/7538732#Configure_automated_feeds_Standard_Experience), which can be checked through the `eligible` field. The account must **not** be a marketplace. When the autofeed is enabled for the first time, the products usually appear instantly. When re-enabling, it might take up to 24 hours for products to appear. + */ + enableProducts?: boolean | null; + /** + * Identifier. The resource name of the autofeed settings. Format: `accounts/{account\}/autofeedSettings`. + */ + name?: string | null; + } + /** + * This improvement will attempt to automatically correct submitted images if they don't meet the [image requirements](https://support.google.com/merchants/answer/6324350), for example, removing overlays. If successful, the image will be replaced and approved. This improvement is only applied to images of disapproved offers. For more information see: [Automatic image improvements](https://support.google.com/merchants/answer/9242973) + */ + export interface Schema$AutomaticImageImprovements { + /** + * Optional. Determines how the images should be automatically updated. If this field is not present and provided in the update mask, then the settings will be deleted. If there are no settings for subaccount, they are inherited from aggregator. + */ + accountImageImprovementsSettings?: Schema$ImageImprovementsAccountLevelSettings; + /** + * Output only. The effective value of allow_automatic_image_improvements. If account_image_improvements_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. Read-only. + */ + effectiveAllowAutomaticImageImprovements?: boolean | null; + } + /** + * Collection of information related to the [automatic improvements](https://developers.google.com/shopping-content/guides/automatic-improvements) of an account. + */ + export interface Schema$AutomaticImprovements { + /** + * This improvement will attempt to automatically correct submitted images if they don't meet the [image requirements](https://support.google.com/merchants/answer/6324350), for example, removing overlays. If successful, the image will be replaced and approved. This improvement is only applied to images of disapproved offers. For more information see: [Automatic image improvements](https://support.google.com/merchants/answer/9242973) This field is only updated (cleared) if provided in the update mask. + */ + imageImprovements?: Schema$AutomaticImageImprovements; + /** + * Turning on [item updates](https://support.google.com/merchants/answer/3246284) allows Google to automatically update items for you. When item updates are on, Google uses the structured data markup on the website and advanced data extractors to update the price and availability of the items. When the item updates are off, items with mismatched data aren't shown. This field is only updated (cleared) if provided in the update mask. + */ + itemUpdates?: Schema$AutomaticItemUpdates; + /** + * Identifier. The resource name of the automatic improvements. Format: `accounts/{account\}/automaticImprovements`. + */ + name?: string | null; + /** + * Not available for [advanced accounts](https://support.google.com/merchants/answer/188487). By turning on [automatic shipping improvements](https://support.google.com/merchants/answer/10027038), you are allowing Google to improve the accuracy of your delivery times shown to shoppers using Google. More accurate delivery times, especially when faster, typically lead to better conversion rates. Google will improve your estimated delivery times based on various factors: * Delivery address of an order * Current handling time and shipping time settings * Estimated weekdays or business days * Parcel tracking data This field is only updated (cleared) if provided in the update mask. + */ + shippingImprovements?: Schema$AutomaticShippingImprovements; + } + /** + * Turning on [item updates](https://support.google.com/merchants/answer/3246284) allows Google to automatically update items for you. When item updates are on, Google uses the structured data markup on the website and advanced data extractors to update the price and availability of the items. When the item updates are off, items with mismatched data aren't shown. + */ + export interface Schema$AutomaticItemUpdates { + /** + * Optional. Determines which attributes of the items should be automatically updated. If this field is not present and provided in the update mask, then the settings will be deleted. If there are no settings for subaccount, they are inherited from aggregator. + */ + accountItemUpdatesSettings?: Schema$ItemUpdatesAccountLevelSettings; + /** + * Output only. The effective value of allow_availability_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. The default value is true if no settings are present. Read-only. + */ + effectiveAllowAvailabilityUpdates?: boolean | null; + /** + * Output only. The effective value of allow_condition_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. The default value is true if no settings are present. Read-only. + */ + effectiveAllowConditionUpdates?: boolean | null; + /** + * Output only. The effective value of allow_price_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. The default value is true if no settings are present. Read-only. + */ + effectiveAllowPriceUpdates?: boolean | null; + /** + * Output only. The effective value of allow_strict_availability_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. The default value is true if no settings are present. Read-only. + */ + effectiveAllowStrictAvailabilityUpdates?: boolean | null; + } + /** + * Not available for [advanced accounts](https://support.google.com/merchants/answer/188487). By turning on [automatic shipping improvements](https://support.google.com/merchants/answer/10027038), you are allowing Google to improve the accuracy of your delivery times shown to shoppers using Google. More accurate delivery times, especially when faster, typically lead to better conversion rates. Google will improve your estimated delivery times based on various factors: * Delivery address of an order * Current handling time and shipping time settings * Estimated weekdays or business days * Parcel tracking data + */ + export interface Schema$AutomaticShippingImprovements { + /** + * Enables automatic shipping improvements. + */ + allowShippingImprovements?: boolean | null; + } + /** + * Business days of the warehouse. + */ + export interface Schema$BusinessDayConfig { + /** + * Required. Regular business days. May not be empty. + */ + businessDays?: string[] | null; + } + /** + * Collection of information related to the [identity of a business](https://support.google.com/merchants/answer/12564247). + */ + export interface Schema$BusinessIdentity { + /** + * Optional. Specifies whether the business identifies itself as being black-owned. This optional field will only be available for businesses with the business country set to `US`. It is also not applicable for marketplaces or marketplace sellers. + */ + blackOwned?: Schema$IdentityAttribute; + /** + * Optional. Specifies whether the business identifies itself as being latino-owned. This optional field will only be available for businesses with the business country set to `US`. It is also not applicable for marketplaces or marketplace sellers. + */ + latinoOwned?: Schema$IdentityAttribute; + /** + * Identifier. The resource name of the business identity. Format: `accounts/{account\}/businessIdentity` + */ + name?: string | null; + /** + * Required. Whether the identity attributes may be used for promotions. + */ + promotionsConsent?: string | null; + /** + * Optional. Specifies whether the business identifies itself as a small business. This optional field will only be available for businesses with a business country set to `US`. It is also not applicable for marketplaces. + */ + smallBusiness?: Schema$IdentityAttribute; + /** + * Optional. Specifies whether the business identifies itself as being veteran-owned. This optional field will only be available for businesses with a business country set to `US`. It is also not applicable for marketplaces or marketplace sellers. + */ + veteranOwned?: Schema$IdentityAttribute; + /** + * Optional. Specifies whether the business identifies itself as being women-owned. This optional field will only be available for businesses with a business country set to `US`. It is also not applicable for marketplaces or marketplace sellers. + */ + womenOwned?: Schema$IdentityAttribute; + } + /** + * The `BusinessInfo` message contains essential information about a business. This message captures key business details such as physical address, customer service contacts, and region-specific identifiers. + */ + export interface Schema$BusinessInfo { + /** + * Optional. The address of the business. Only `region_code`, `address_lines`, `postal_code`, `administrative_area` and `locality` fields are supported. All other fields are ignored. + */ + address?: Schema$PostalAddress; + /** + * Optional. The customer service of the business. + */ + customerService?: Schema$CustomerService; + /** + * Optional. The 10-digit [Korean business registration number](https://support.google.com/merchants/answer/9037766) separated with dashes in the format: XXX-XX-XXXXX. + */ + koreanBusinessRegistrationNumber?: string | null; + /** + * Identifier. The resource name of the business info. Format: `accounts/{account\}/businessInfo` + */ + name?: string | null; + /** + * Output only. The phone number of the business. + */ + phone?: Schema$PhoneNumber; + /** + * Output only. The phone verification state of the business. + */ + phoneVerificationState?: string | null; + } + /** + * `CampaignManagement` payload. + */ + export interface Schema$CampaignsManagement {} + /** + * A list of carrier rates that can be referred to by `main_table` or `single_value`. Supported carrier services are defined in https://support.google.com/merchants/answer/12577710?ref_topic=12570808&sjid=10662598224319463032-NC#zippy=%2Cdelivery-cost-rate-type%2Ccarrier-rate-au-de-uk-and-us-only. + */ + export interface Schema$CarrierRate { + /** + * Required. Carrier service, such as `"UPS"` or `"Fedex"`. + */ + carrier?: string | null; + /** + * Required. Carrier service, such as `"ground"` or `"2 days"`. + */ + carrierService?: string | null; + /** + * Optional. Additive shipping rate modifier. Can be negative. For example `{ "amount_micros": 1, "currency_code" : "USD" \}` adds $1 to the rate, `{ "amount_micros": -3, "currency_code" : "USD" \}` removes $3 from the rate. + */ + flatAdjustment?: Schema$Price; + /** + * Required. Name of the carrier rate. Must be unique per rate group. + */ + name?: string | null; + /** + * Required. Shipping origin for this carrier rate. + */ + originPostalCode?: string | null; + /** + * Optional. Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example `"5.4"` increases the rate by 5.4%, `"-3"` decreases the rate by 3%. + */ + percentageAdjustment?: string | null; + } + /** + * [CheckoutSettings](https://support.google.com/merchants/answer/13945960) for a specific merchant. + */ + export interface Schema$CheckoutSettings { + /** + * Output only. The effective value of enrollment_state for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account (for only marketplace sellers). + */ + effectiveEnrollmentState?: string | null; + /** + * Output only. The effective value of `review_state` for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account (for only marketplace sellers). + */ + effectiveReviewState?: string | null; + /** + * Output only. The effective value of `uri_settings` for a given merchant. If account level settings are present then this value will be a copy of url settings. Otherwise, it will have the value of the parent account (for only marketplace sellers). + */ + effectiveUriSettings?: Schema$UriSettings; + /** + * 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; + /** + * Output only. Reflects the merchant enrollment state in `Checkout` program. + */ + enrollmentState?: string | null; + /** + * Identifier. The resource name of the program configuration settings. Format: `accounts/{account\}/programs/{program\}/checkoutSettings` + */ + name?: string | null; + /** + * Output only. Reflects the merchant review state in `Checkout` program. This is set based on the data quality reviews of the URL provided by the merchant. A merchant with enrollment state as `ENROLLED` can be in the following review states: `IN_REVIEW`, `APPROVED` or `DISAPPROVED`. A merchant must be in an `enrollment_state` of `ENROLLED` before a review can begin for the merchant.For more details, check the help center doc. + */ + reviewState?: string | null; + /** + * URI settings for cart or checkout URL. + */ + uriSettings?: Schema$UriSettings; + } + /** + * Request message for the `ClaimHomepage` method. + */ + export interface Schema$ClaimHomepageRequest { + /** + * Optional. When set to `true`, this option removes any existing claim on the requested website from any other account to the account making the request, effectively replacing the previous claim. + */ + overwrite?: boolean | null; + } + /** + * Request message for the `CreateAndConfigureAccount` method. + */ + export interface Schema$CreateAndConfigureAccountRequest { + /** + * Required. The account to be created. + */ + account?: Schema$Account; + /** + * Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `product_management` services may be provided. + */ + service?: Schema$AddAccountService[]; + /** + * Optional. Users to be added to the account. + */ + user?: Schema$AddUser[]; + } + /** + * Customer service information. + */ + export interface Schema$CustomerService { + /** + * Optional. The email address where customer service may be reached. + */ + email?: string | null; + /** + * Optional. The phone number where customer service may be called. + */ + phone?: Schema$PhoneNumber; + /** + * Optional. The URI where customer service may be found. + */ + uri?: string | null; + } + /** + * Configs related to local delivery ends for the day. + */ + export interface Schema$CutoffConfig { + /** + * Time that local delivery ends for the day. + */ + localCutoffTime?: Schema$LocalCutoffTime; + /** + * Businesses can opt-out of showing n+1 day local delivery when they have a shipping service configured to n day local delivery. For example, if the shipping service defines same-day delivery, and it's past the cut-off, setting this field to `true` results in the calculated shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the same example, setting this field to `false` results in the calculated shipping time being one day. This is only for local delivery. + */ + noDeliveryPostCutoff?: boolean | null; + /** + * Only valid with local delivery fulfillment. Represents cutoff time as the number of hours before store closing. Mutually exclusive with `local_cutoff_time`. + */ + storeCloseOffsetHours?: string | null; + } + /** + * Business days cutoff time definition. + */ + export interface Schema$CutoffTime { + /** + * Required. Hour of the cutoff time until which an order has to be placed to be processed in the same day. + */ + hour?: number | null; + /** + * Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day. + */ + minute?: number | null; + /** + * Required. [Timezone identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids) For example "Europe/Zurich". + */ + timeZone?: string | null; + } + /** + * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + */ + export interface Schema$Date { + /** + * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + */ + day?: number | null; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + month?: number | null; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + year?: number | null; + } + /** + * Time spent in various aspects from order to the delivery of the product. + */ + export interface Schema$DeliveryTime { + /** + * Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST. + */ + cutoffTime?: Schema$CutoffTime; + /** + * The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed. + */ + handlingBusinessDayConfig?: Schema$BusinessDayConfig; + /** + * Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to `min_handling_days`. 'min_handling_days' and 'max_handling_days' should be either set or not set at the same time. + */ + maxHandlingDays?: number | null; + /** + * Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to `min_transit_days`. + */ + maxTransitDays?: number | null; + /** + * Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. 'min_handling_days' and 'max_handling_days' should be either set or not set at the same time. + */ + minHandlingDays?: number | null; + /** + * Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either `min_transit_days`, `max_transit_days` or `transit_time_table` must be set, but not both. + */ + minTransitDays?: number | null; + /** + * The business days during which orders can be in-transit. If not provided, Monday to Friday business days will be assumed. + */ + transitBusinessDayConfig?: Schema$BusinessDayConfig; + /** + * Transit time table, number of business days spent in transit based on row and column dimensions. Either `min_transit_days`, `max_transit_days` or `transit_time_table` can be set, but not both. + */ + transitTimeTable?: Schema$TransitTable; + /** + * Optional. Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in delivery time should be set. + */ + warehouseBasedDeliveryTimes?: Schema$WarehouseBasedDeliveryTime[]; + } + /** + * Represents a developer registration owned by a Merchant account. + */ + export interface Schema$DeveloperRegistration { + /** + * Output only. The GCP ids attached to this developer registration + */ + gcpIds?: string[] | null; + /** + * Identifier. The `name` (ID) of the developer registration. Generated by the Content API upon creation of a new `DeveloperRegistration`. The `account` represents the merchant ID of the merchant that owns the registration. + */ + name?: string | null; + } + /** + * Request message for the DisableProgram method. + */ + export interface Schema$DisableProgramRequest {} + /** + * Maximum delivery radius. This is only required for the local delivery shipment type. + */ + export interface Schema$Distance { + /** + * Unit can differ based on country, it is parameterized to include miles and kilometers. + */ + unit?: string | null; + /** + * Integer value of distance. + */ + value?: string | null; + } + /** + * The categories of notifications the user opted into / opted out of. The email preferences do not include mandatory announcements as users can't opt out of them. + */ + export interface Schema$EmailPreferences { + /** + * Identifier. The name of the EmailPreferences. The endpoint is only supported for the authenticated user. + */ + name?: string | null; + /** + * Optional. Updates on new features, tips and best practices. + */ + newsAndTips?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * Request message for the EnableProgram method. + */ + export interface Schema$EnableProgramRequest {} + /** + * Response message for the FindLfpProviders method. + */ + export interface Schema$FindLfpProvidersResponse { + /** + * The LFP providers from the specified merchant in the specified country. + */ + lfpProviders?: Schema$LfpProvider[]; + /** + * 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; + } + /** + * Collection of information related to a Google Business Profile (GBP) account. + */ + export interface Schema$GbpAccount { + /** + * The id of the GBP account. + */ + gbpAccountId?: string | null; + /** + * The name of the Business Profile. For personal accounts: Email id of the owner. For Business accounts: Name of the Business Account. + */ + gbpAccountName?: string | null; + /** + * Number of listings under this account. + */ + listingCount?: string | null; + /** + * Identifier. The resource name of the GBP account. Format: `accounts/{account\}/gbpAccount/{gbp_account\}` + */ + name?: string | null; + /** + * The type of the Business Profile. + */ + type?: string | null; + } + /** + * A list of geotargets that defines the region area. + */ + export interface Schema$GeoTargetArea { + /** + * Required. A non-empty list of [location IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting). They must all be of the same location type (for example, state). + */ + geotargetCriteriaIds?: string[] | null; + } + /** + * The current status of establishing of the service. (for example, pending approval or approved). + */ + export interface Schema$Handshake { + /** + * Output only. The most recent account to modify the account service's `approval_status`. + */ + actor?: string | null; + /** + * Output only. The approval state of this handshake. + */ + approvalState?: string | null; + } + /** + * A non-empty list of row or column headers for a table. Exactly one of `prices`, `weights`, `num_items`, `postal_code_group_names`, or `location` must be set. + */ + export interface Schema$Headers { + /** + * Required. A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set. + */ + locations?: Schema$LocationIdSet[]; + /** + * Required. A list of inclusive number of items upper bounds. The last value can be `"infinity"`. For example `["10", "50", "infinity"]` represents the headers "<= 10 items", "<= 50 items", and "\> 50 items". Must be non-empty. Can only be set if all other fields are not set. + */ + numberOfItems?: string[] | null; + /** + * Required. A list of postal group names. The last value can be `"all other locations"`. Example: `["zone 1", "zone 2", "all other locations"]`. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set. + */ + postalCodeGroupNames?: string[] | null; + /** + * Required. A list of inclusive order price upper bounds. The last price's value can be infinity by setting price amount_micros = -1. For example `[{"amount_micros": 10000000, "currency_code": "USD"\}, {"amount_micros": 500000000, "currency_code": "USD"\}, {"amount_micros": -1, "currency_code": "USD"\}]` represents the headers "<= $10", "<= $500", and "\> $500". All prices within a service must have the same currency. Must be non-empty. Must be positive except -1. Can only be set if all other fields are not set. + */ + prices?: Schema$Price[]; + /** + * Required. A list of inclusive order weight upper bounds. The last weight's value can be infinity by setting price amount_micros = -1. For example `[{"amount_micros": 10000000, "unit": "kg"\}, {"amount_micros": 50000000, "unit": "kg"\}, {"amount_micros": -1, "unit": "kg"\}]` represents the headers "<= 10kg", "<= 50kg", and "\> 50kg". All weights within a service must have the same unit. Must be non-empty. Must be positive except -1. Can only be set if all other fields are not set. + */ + weights?: Schema$Weight[]; + } + /** + * The `Homepage` message represents a business's store homepage within the system. A business's homepage is the primary domain where customers interact with their store. The homepage can be claimed and verified as a proof of ownership and allows the business to unlock features that require a verified website. For more information, see [Understanding online store URL verification](//support.google.com/merchants/answer/176793). + */ + export interface Schema$Homepage { + /** + * Output only. Whether the homepage is claimed. See https://support.google.com/merchants/answer/176793. + */ + claimed?: boolean | null; + /** + * Identifier. The resource name of the store's homepage. Format: `accounts/{account\}/homepage` + */ + name?: string | null; + /** + * Required. The URI (typically a URL) of the store's homepage. + */ + uri?: string | null; + } + /** + * All information related to an identity attribute. + */ + export interface Schema$IdentityAttribute { + /** + * Required. The declaration of identity for this attribute. + */ + identityDeclaration?: string | null; + } + /** + * Settings for the Automatic Image Improvements. + */ + export interface Schema$ImageImprovementsAccountLevelSettings { + /** + * Enables automatic image improvements. + */ + allowAutomaticImageImprovements?: boolean | null; + } + /** + * The impact of the issue on a region. + */ + export interface Schema$Impact { + /** + * The [CLDR region code](https://cldr.unicode.org/) where this issue applies. + */ + regionCode?: string | null; + /** + * The severity of the issue on the destination and region. + */ + severity?: string | null; + } + /** + * The impact of the issue on a destination. + */ + export interface Schema$ImpactedDestination { + /** + * The (negative) impact for various regions on the given destination. + */ + impacts?: Schema$Impact[]; + /** + * The impacted reporting context. + */ + reportingContext?: string | null; + } + /** + * Collection of information related to InStock. + */ + export interface Schema$InStock { + /** + * Output only. The state of the in-stock serving. + */ + state?: string | null; + /** + * Optional. Product landing page URI. It is only used for the review of MHLSF in-stock serving. This URI domain should match with the business's homepage. Required to be empty if the lsf_type is GHLSF, and required when the lsf_type is MHLSF_FULL or MHLSF_BASIC. + */ + uri?: string | null; + } + /** + * Collection of information related to [inventory verification](https://support.google.com/merchants/answer/14684499?ref_topic=15145634&sjid=6892280366904591178-NC). + */ + export interface Schema$InventoryVerification { + /** + * Required. The name of the contact for the inventory verification process. + */ + contact?: string | null; + /** + * Required. The email address of the contact for the inventory verification process. + */ + contactEmail?: string | null; + /** + * Output only. The state of the contact verification. + */ + contactState?: string | null; + /** + * Output only. The state of the inventory verification process. + */ + state?: string | null; + } + /** + * Settings for the Automatic Item Updates. + */ + export interface Schema$ItemUpdatesAccountLevelSettings { + /** + * If availability updates are enabled, any previous availability values get overwritten if Google finds an out-of-stock annotation on the offer's page. If additionally `allow_strict_availability_updates` field is set to true, values get overwritten if Google finds an in-stock annotation on the offer’s page. + */ + allowAvailabilityUpdates?: boolean | null; + /** + * If condition updates are enabled, Google always updates item condition with the condition detected from the details of your product. + */ + allowConditionUpdates?: boolean | null; + /** + * If price updates are enabled, Google always updates the active price with the crawled information. + */ + allowPriceUpdates?: boolean | null; + /** + * If `allow_availability_updates` is enabled, items are automatically updated in all your Shopping target countries. By default, availability updates will only be applied to items that are 'out of stock' on your website but 'in stock' on Shopping. Set this to true to also update items that are 'in stock' on your website, but 'out of stock' on Google Shopping. In order for this field to have an effect, you must also set `allow_availability_updates`. + */ + allowStrictAvailabilityUpdates?: boolean | null; + } + /** + * Collection of information related to the LFP link. + */ + export interface Schema$LfpLink { + /** + * Required. The account ID by which this merchant is known to the LFP provider. + */ + externalAccountId?: string | null; + /** + * Required. The resource name of the LFP provider. Format: `lfpProviders/{lfp_provider\}` + */ + lfpProvider?: string | null; + /** + * Output only. The state of the LFP link. + */ + state?: string | null; + } + /** + * Collection of information related to a Local Feed Partnership (LFP) provider. + */ + export interface Schema$LfpProvider { + /** + * The display name of the LFP provider. + */ + displayName?: string | null; + /** + * Identifier. The resource name of the LFP provider. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}/lfpProviders/{lfp_provider\}` + */ + name?: string | null; + /** + * Output only. Region code defined by [CLDR](https://cldr.unicode.org/). + */ + regionCode?: string | null; + } + /** + * Request message for the LinkGbpAccount method. + */ + export interface Schema$LinkGbpAccountRequest { + /** + * Required. The email address of the Business Profile account. + */ + gbpEmail?: string | null; + } + /** + * Response message for the LinkGbpAccount method. + */ + export interface Schema$LinkGbpAccountResponse { + /** + * Empty response. + */ + response?: Schema$Empty; + } + /** + * Request message for the LinkLfpProvider method. + */ + export interface Schema$LinkLfpProviderRequest { + /** + * Required. The external account ID by which this merchant is known to the LFP provider. + */ + externalAccountId?: string | null; + } + /** + * Response message for the LinkLfpProvider method. + */ + export interface Schema$LinkLfpProviderResponse { + /** + * Empty response. + */ + response?: Schema$Empty; + } + /** + * Response message for the `ListAccountIssues` method. + */ + export interface Schema$ListAccountIssuesResponse { + /** + * The issues from the specified account. + */ + accountIssues?: Schema$AccountIssue[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response after trying to list account relationships. + */ + export interface Schema$ListAccountRelationshipsResponse { + /** + * The account relationships that match your filter. + */ + accountRelationships?: Schema$AccountRelationship[]; + /** + * A page token. You can send the `page_token` to get the next page. Only included in the `list` response if there are more pages. + */ + nextPageToken?: string | null; + } + /** + * Response after trying to list account services. + */ + export interface Schema$ListAccountServicesResponse { + /** + * The account services that match your filter. + */ + accountServices?: Schema$AccountService[]; + /** + * A page token. You can send the `page_token` to get the next page. Only included in the `list` response if there are more pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for the `accounts.list` method. + */ + export interface Schema$ListAccountsResponse { + /** + * The accounts matching the `ListAccountsRequest`. + */ + accounts?: Schema$Account[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for the ListGbpAccounts method. + */ + export interface Schema$ListGbpAccountsResponse { + /** + * The GBP accounts from the specified merchant in the specified country. + */ + gbpAccounts?: Schema$GbpAccount[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for the ListOmnichannelSettings method. + */ + export interface Schema$ListOmnichannelSettingsResponse { + /** + * 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 omnichannel settings from the specified merchant. + */ + omnichannelSettings?: Schema$OmnichannelSetting[]; + } + /** + * Response message for the `ListOnlineReturnPolicies` method. + */ + export interface Schema$ListOnlineReturnPoliciesResponse { + /** + * A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The retrieved return policies. + */ + onlineReturnPolicies?: Schema$OnlineReturnPolicy[]; + } + /** + * Response message for the ListPrograms method. + */ + export interface Schema$ListProgramsResponse { + /** + * A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The programs for the given account. + */ + programs?: Schema$Program[]; + } + /** + * Response message for the `ListRegions` method. + */ + export interface Schema$ListRegionsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The regions from the specified business. + */ + regions?: Schema$Region[]; + } + /** + * Response message for the `ListSubAccounts` method. + */ + export interface Schema$ListSubAccountsResponse { + /** + * The accounts for which the given parent account is an aggregator. + */ + accounts?: Schema$Account[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for the `ListUsers` method. + */ + export interface Schema$ListUsersResponse { + /** + * 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 users from the specified account. + */ + users?: Schema$User[]; + } + /** + * Time that local delivery ends for the day. + */ + export interface Schema$LocalCutoffTime { + /** + * Hour local delivery orders must be placed by to process the same day. + */ + hour?: string | null; + /** + * Minute local delivery orders must be placed by to process the same day. + */ + minute?: string | null; + } + /** + * `LocalListingManagement` payload. + */ + export interface Schema$LocalListingManagement {} + /** + * A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set. + */ + export interface Schema$LocationIdSet { + /** + * Required. A non-empty list of [location IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting). They must all be of the same location type (For example, state). + */ + locationIds?: string[] | null; + } + /** + * [Loyalty program](https://support.google.com/merchants/answer/12922446) provided by a business. + */ + export interface Schema$LoyaltyProgram { + /** + * Optional. Loyalty program tier of this shipping service. + */ + loyaltyProgramTiers?: Schema$LoyaltyProgramTiers[]; + /** + * This is the loyalty program label set in your loyalty program settings in Merchant Center. This sub-attribute allows Google to map your loyalty program to eligible offers. + */ + programLabel?: string | null; + } + /** + * Subset of a business's loyalty program. + */ + export interface Schema$LoyaltyProgramTiers { + /** + * The tier label [tier_label] sub-attribute differentiates offer level benefits between each tier. This value is also set in your program settings in Merchant Center, and is required for data source changes even if your loyalty program only has 1 tier. + */ + tierLabel?: string | null; + } + /** + * Table of per store minimum order values for the pickup fulfillment type. + */ + export interface Schema$MinimumOrderValueTable { + /** + * Required. A list of store code sets sharing the same minimum order value (MOV). At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency. + */ + storeCodeSetWithMovs?: Schema$StoreCodeSetWithMov[]; + } + /** + * Collection of information related to the omnichannel settings of a merchant. + */ + export interface Schema$OmnichannelSetting { + /** + * Optional. The about page URI and state for this country. + */ + about?: Schema$About; + /** + * Optional. The InStock URI and state for this country. + */ + inStock?: Schema$InStock; + /** + * Optional. The inventory verification contact and state for this country. + */ + inventoryVerification?: Schema$InventoryVerification; + /** + * Output only. The established link to a LFP provider. + */ + lfpLink?: Schema$LfpLink; + /** + * Required. The Local Store Front type for this country. + */ + lsfType?: string | null; + /** + * Identifier. The resource name of the omnichannel setting. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}` + */ + name?: string | null; + /** + * Optional. The On Display to Order (ODO) policy URI and state for this country. + */ + odo?: Schema$OnDisplayToOrder; + /** + * Optional. The Pickup URI and state for this country. + */ + pickup?: Schema$Pickup; + /** + * Required. Immutable. Region code defined by [CLDR](https://cldr.unicode.org/). Must be provided in the Create method, and is immutable. + */ + regionCode?: string | null; + } + /** + * Collection of information related to the on display to order ([ODO](https://support.google.com/merchants/answer/14615056?ref_topic=15145747&sjid=6892280366904591178-NC)). + */ + export interface Schema$OnDisplayToOrder { + /** + * Output only. The state of the URI. + */ + state?: string | null; + /** + * Required. The on display to order (ODO) policy URI. + */ + uri?: string | null; + } + /** + * [Online return policy](https://support.google.com/merchants/answer/10220642) object. This is currently used to represent return policies for ads and free listings programs. + */ + export interface Schema$OnlineReturnPolicy { + /** + * Optional. This field specifies if business only accepts defective products for returns. + */ + acceptDefectiveOnly?: boolean | null; + /** + * Optional. This field specifies if business allows customers to exchange products. + */ + acceptExchange?: boolean | null; + /** + * Required. Immutable. The countries of sale where the return policy applies. The values must be a valid 2 letter ISO 3166 code. + */ + countries?: string[] | null; + /** + * Optional. The item conditions accepted for returns must not be empty unless the type of return policy is 'noReturns'. + */ + itemConditions?: string[] | null; + /** + * Optional. Immutable. This field represents the unique user-defined label of the return policy for the given country. It is important to note that the same label cannot be used in different return policies for the same country. If not given, policies will be automatically treated as the 'default' for the country. When using label, you are creating an exception policy in that country to assign a custom return policy to certain product groups, follow the instructions provided in the [Return policy label] (https://support.google.com/merchants/answer/9445425). The label can contain up to 50 characters. + */ + label?: string | null; + /** + * Identifier. The name of the `OnlineReturnPolicy` resource. Format: `accounts/{account\}/onlineReturnPolicies/{return_policy\}` + */ + name?: string | null; + /** + * Optional. The return policy. + */ + policy?: Schema$Policy; + /** + * Optional. The field specifies the number of days it takes for business to process refunds. + */ + processRefundDays?: number | null; + /** + * Optional. The restocking fee that applies to all return reason categories. This would be treated as a free restocking fee if the value is not set. + */ + restockingFee?: Schema$RestockingFee; + /** + * Optional. The field specifies the return label source. + */ + returnLabelSource?: string | null; + /** + * Optional. The return methods of how customers can return an item. This value is required to not be empty unless the type of return policy is noReturns. + */ + returnMethods?: string[] | null; + /** + * Output only. Return policy ID generated by Google. + */ + returnPolicyId?: string | null; + /** + * Required. The return policy uri. This can used by Google to do a sanity check for the policy. It must be a valid URL. + */ + returnPolicyUri?: string | null; + /** + * Optional. The return shipping fee. Should be set only when customer need to download and print the return label. + */ + returnShippingFee?: Schema$ReturnShippingFee; + /** + * Optional. Overrides to the general policy for orders placed during a specific set of time intervals. + */ + seasonalOverrides?: Schema$SeasonalOverride[]; + } + /** + * An object representing a phone number, suitable as an API wire format. This representation: - should not be used for locale-specific formatting of a phone number, such as "+1 (650) 253-0000 ext. 123" - is not designed for efficient storage - may not be suitable for dialing - specialized libraries (see references) should be used to parse the number for that purpose To do something meaningful with this number, such as format it for various use-cases, convert it to an `i18n.phonenumbers.PhoneNumber` object first. For instance, in Java this would be: com.google.type.PhoneNumber wireProto = com.google.type.PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ"); if (!wireProto.getExtension().isEmpty()) { phoneNumber.setExtension(wireProto.getExtension()); \} Reference(s): - https://github.com/google/libphonenumber + */ + export interface Schema$PhoneNumber { + /** + * The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting. For example: - correct: "+15552220123" - incorrect: "+1 (555) 222-01234 x123" The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.wikipedia.org/wiki/List_of_country_calling_codes + */ + e164Number?: string | null; + /** + * The phone number's extension. The extension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. Other than digits, some other dialing characters such as ',' (indicating a wait) or '#' may be stored here. Note that no regions currently use extensions with short codes, so this field is normally only set in conjunction with an E.164 number. It is held separately from the E.164 number to allow for short code extensions in the future. + */ + extension?: string | null; + /** + * A short code. Reference(s): - https://wikipedia.org/wiki/Short_code + */ + shortCode?: Schema$ShortCode; + } + /** + * Collection of information related to Pickup. + */ + export interface Schema$Pickup { + /** + * Output only. The state of the pickup serving. + */ + state?: string | null; + /** + * Required. Pickup product page URI. It is only used for the review of pickup serving. This URI domain should match with the business's homepage. + */ + uri?: string | null; + } + /** + * The available policies. + */ + export interface Schema$Policy { + /** + * The number of days items can be returned after delivery, where one day is defined as 24 hours after the delivery timestamp. Required for `NUMBER_OF_DAYS_AFTER_DELIVERY` returns. + */ + days?: string | null; + /** + * Policy type. + */ + type?: string | null; + } + /** + * Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or mountains. In typical usage, an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input or editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput. - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478. + */ + export interface Schema$PostalAddress { + /** + * Unstructured address lines describing the lower levels of an address. Because values in `address_lines` do not have type information and may sometimes contain multiple values in a single field (for example, "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country or region of the address. In places where this can vary (for example, Japan), `address_language` is used to make it explicit (for example, "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a `region_code` with all remaining information placed in the `address_lines`. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a `region_code` and `address_lines` and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + */ + addressLines?: string[] | null; + /** + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. For Spain, this is the province and not the autonomous community (for example, "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example, in Switzerland, this should be left unpopulated. + */ + administrativeArea?: string | null; + /** + * Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: "zh-Hant", "ja", "ja-Latn", "en". + */ + languageCode?: string | null; + /** + * Optional. Generally refers to the city or town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave `locality` empty and use `address_lines`. + */ + locality?: string | null; + /** + * Optional. The name of the organization at the address. + */ + organization?: string | null; + /** + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (for example, state or zip code validation in the United States). + */ + postalCode?: string | null; + /** + * Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain "care of" information. + */ + recipients?: string[] | null; + /** + * Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: "CH" for Switzerland. + */ + regionCode?: string | null; + /** + * The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions. + */ + revision?: number | null; + /** + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (Côte d'Ivoire). + */ + sortingCode?: string | null; + /** + * Optional. Sublocality of the address. For example, this can be a neighborhood, borough, or district. + */ + sublocality?: string | null; + } + /** + * A list of postal codes that defines the region area. Note: All regions defined using postal codes are accessible through the account's `ShippingSettings.postalCodeGroups` resource. + */ + export interface Schema$PostalCodeArea { + /** + * Required. A range of postal codes. + */ + postalCodes?: Schema$PostalCodeRange[]; + /** + * Required. [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) or the country the postal code group applies to. + */ + regionCode?: string | null; + } + /** + * A range of postal codes that defines the region area. + */ + export interface Schema$PostalCodeRange { + /** + * Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: `94108`, `9410*`, `9*`. + */ + begin?: string | null; + /** + * Optional. A postal code or a pattern of the form `prefix*` denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin. + */ + end?: string | null; + } + /** + * The price represented as a number and currency. + */ + export interface Schema$Price { + /** + * The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). + */ + amountMicros?: string | null; + /** + * The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). + */ + currencyCode?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * `ProductsManagement` payload. + */ + export interface Schema$ProductsManagement {} + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `free-listings` * `shopping-ads` * `youtube-shopping-checkout` + */ + export interface Schema$Program { + /** + * Output only. The regions in which the account is actively participating in the program. Active regions are defined as those where all program requirements affecting the regions have been met. Region codes are defined by [CLDR](https://cldr.unicode.org/). This is either a country where the program applies specifically to that country or `001` when the program applies globally. + */ + activeRegionCodes?: string[] | null; + /** + * Output only. The URL of a Merchant Center help page describing the program. + */ + documentationUri?: string | null; + /** + * Identifier. The resource name of the program. Format: `accounts/{account\}/programs/{program\}` + */ + name?: string | null; + /** + * Output only. The participation state of the account in the program. + */ + state?: string | null; + /** + * Output only. The requirements that the account has not yet satisfied that are affecting participation in the program. + */ + unmetRequirements?: Schema$Requirement[]; + } + /** + * Request to propose an account service. + */ + export interface Schema$ProposeAccountServiceRequest { + /** + * Required. The account service to propose. + */ + accountService?: Schema$AccountService; + /** + * Required. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`). + */ + provider?: string | null; + } + /** + * Shipping rate group definitions. Only the last one is allowed to have an empty `applicable_shipping_labels`, which means "everything else". The other `applicable_shipping_labels` must not overlap. + */ + export interface Schema$RateGroup { + /** + * Required. A list of [shipping labels](https://support.google.com/merchants/answer/6324504) defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. + */ + applicableShippingLabels?: string[] | null; + /** + * Optional. A list of carrier rates that can be referred to by `main_table` or `single_value`. + */ + carrierRates?: Schema$CarrierRate[]; + /** + * A table defining the rate group, when `single_value` is not expressive enough. Can only be set if `single_value` is not set. + */ + mainTable?: Schema$Table; + /** + * Optional. Name of the rate group. If set has to be unique within shipping service. + */ + name?: string | null; + /** + * The value of the rate group (For example flat rate $10). Can only be set if `main_table` and `subtables` are not set. + */ + singleValue?: Schema$Value; + /** + * Optional. A list of subtables referred to by `main_table`. Can only be set if `main_table` is set. + */ + subtables?: Schema$Table[]; + } + /** + * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. + */ + export interface Schema$Region { + /** + * Optional. The display name of the region. + */ + displayName?: string | null; + /** + * Optional. A list of geotargets that defines the region area. + */ + geotargetArea?: Schema$GeoTargetArea; + /** + * Identifier. The resource name of the region. Format: `accounts/{account\}/regions/{region\}` + */ + name?: string | null; + /** + * Optional. A list of postal codes that defines the region area. + */ + postalCodeArea?: Schema$PostalCodeArea; + /** + * Output only. Indicates if the region is eligible for use in the Regional Inventory configuration. + */ + regionalInventoryEligible?: boolean | null; + /** + * Output only. Indicates if the region is eligible for use in the Shipping Services configuration. + */ + shippingEligible?: boolean | null; + } + /** + * Request message for the RegisterGCP method. + */ + export interface Schema$RegisterGcpRequest { + /** + * Immutable. If the developer email provided is associated with a user in the merchant account provided, the user will be updated to have "API developer" access type and the email preference corresponding to that user will be updated to have the new "API notifications" preference. If the developer email provided is not associated with any user we will just add it as a contact. The email preference corresponding to that contact will have the new "API notifications" preference + */ + developerEmail?: string | null; + } + /** + * Request to reject an account service. + */ + export interface Schema$RejectAccountServiceRequest {} + /** + * Request message for the RequestInventoryVerification method. + */ + export interface Schema$RequestInventoryVerificationRequest {} + /** + * Response message for the RequestInventoryVerification method. + */ + export interface Schema$RequestInventoryVerificationResponse { + /** + * The omnichannel setting that was updated. + */ + omnichannelSetting?: Schema$OmnichannelSetting; + } + /** + * Describes the terms of service which are required to be accepted. + */ + export interface Schema$Required { + /** + * Required. The `TermsOfService` that need to be accepted. + */ + termsOfService?: string | null; + /** + * Required. Full URL to the terms of service file. This field is the same as `TermsOfService.file_uri`, it is added here for convenience only. + */ + tosFileUri?: string | null; + } + /** + * Defines a requirement specified for participation in the program. + */ + export interface Schema$Requirement { + /** + * Output only. The regions that are currently affected by this requirement not being met. Region codes are defined by [CLDR](https://cldr.unicode.org/). This is either a country where the program applies specifically to that country or `001` when the program applies globally. + */ + affectedRegionCodes?: string[] | null; + /** + * Output only. The URL of a help page describing the requirement. + */ + documentationUri?: string | null; + /** + * Output only. Name of the requirement. + */ + title?: string | null; + } + /** + * The restocking fee. This can be a flat fee or a micro percent. + */ + export interface Schema$RestockingFee { + /** + * Fixed restocking fee. + */ + fixedFee?: Schema$Price; + /** + * Percent of total price in micros. 15,000,000 means 15% of the total price would be charged. + */ + microPercent?: number | null; + } + /** + * The return shipping fee. This can either be a fixed fee or a boolean to indicate that the customer pays the actual shipping cost. + */ + export interface Schema$ReturnShippingFee { + /** + * Fixed return shipping fee amount. This value is only applicable when type is `FIXED`. We will treat the return shipping fee as free if type is `FIXED` and this value is not set. + */ + fixedFee?: Schema$Price; + /** + * Required. Type of return shipping fee. + */ + type?: string | null; + } + /** + * Include a list of cells. + */ + export interface Schema$Row { + /** + * Required. The list of cells that constitute the row. Must have the same length as `columnHeaders` for two-dimensional tables, a length of 1 for one-dimensional tables. + */ + cells?: Schema$Value[]; + } + export interface Schema$SeasonalOverride { + /** + * Required. seasonal override end date (inclusive). + */ + endDate?: Schema$Date; + /** + * Required. Display name of this seasonal override in Merchant Center. + */ + label?: string | null; + /** + * Number of days (from the delivery date) that the product can be returned. + */ + returnDays?: number | null; + /** + * Fixed end date until which the product can be returned. + */ + returnUntilDate?: Schema$Date; + /** + * Required. Defines the date range when this seasonal override applies. Both start_date and end_date are inclusive. The dates of the seasonal overrides should not overlap. + */ + startDate?: Schema$Date; + } + /** + * Shipping service. + */ + export interface Schema$Service { + /** + * Required. A boolean exposing the active status of the shipping service. + */ + active?: boolean | null; + /** + * Required. The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups. + */ + currencyCode?: string | null; + /** + * Required. The CLDR territory code of the countries to which the service applies. + */ + deliveryCountries?: string[] | null; + /** + * Required. Time spent in various aspects from order to the delivery of the product. + */ + deliveryTime?: Schema$DeliveryTime; + /** + * Optional. Loyalty programs that this shipping service is limited to. + */ + loyaltyPrograms?: Schema$LoyaltyProgram[]; + /** + * Optional. Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with `minimum_order_value_table`. + */ + minimumOrderValue?: Schema$Price; + /** + * Optional. Table of per store minimum order values for the pickup fulfillment type. Cannot be set together with `minimum_order_value`. + */ + minimumOrderValueTable?: Schema$MinimumOrderValueTable; + /** + * Optional. Shipping rate group definitions. Only the last one is allowed to have an empty `applicable_shipping_labels`, which means "everything else". The other `applicable_shipping_labels` must not overlap. + */ + rateGroups?: Schema$RateGroup[]; + /** + * Required. Free-form name of the service. Must be unique within target account. + */ + serviceName?: string | null; + /** + * Optional. Type of locations this service ships orders to. + */ + shipmentType?: string | null; + /** + * A list of stores your products are delivered from. This is only valid for the local delivery shipment type. + */ + storeConfig?: Schema$StoreConfig; + } + /** + * The Merchant Center account's [shipping settings](https://support.google.com/merchants/answer/6069284). The `ShippingSettings` resource lets you retrieve and update the shipping settings of your advanced account and all its associated sub-accounts. + */ + export interface Schema$ShippingSettings { + /** + * Required. This field helps avoid async issues. It ensures that the shipping setting data doesn't change between the `get` call and the `insert` call. The user should follow these steps: 1. Set the etag field as an empty string for the initial shipping setting creation. 2. After the initial creation, call the `get` method to obtain an etag and the current shipping setting data before calling `insert`. 3. Modify the shipping setting information. 4. Call the `insert` method with the shipping setting information and the etag obtained in step 2. 5. If the shipping setting data changes between step 2 and step 4, the insert request will fail because the etag changes every time the shipping setting data changes. In this case, the user should repeat steps 2-4 with the new etag. + */ + etag?: string | null; + /** + * Identifier. The resource name of the shipping settings. Format: `accounts/{account\}/shippingSettings`. For example, `accounts/123456/shippingSettings`. + */ + name?: string | null; + /** + * Optional. The target account's list of services. + */ + services?: Schema$Service[]; + /** + * Optional. A list of warehouses which can be referred to in `services`. + */ + warehouses?: Schema$Warehouse[]; + } + /** + * An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (For example "Text 611 to see how many minutes you have remaining on your plan."). Short codes are restricted to a region and are not internationally dialable, which means the same short code can exist in different regions, with different usage and pricing, even if those regions share the same country calling code (For example: US and CA). + */ + export interface Schema$ShortCode { + /** + * Required. The short code digits, without a leading plus ('+') or country calling code. For example "611". + */ + number?: string | null; + /** + * Required. The BCP-47 region code of the location where calls to this short code can be made, such as "US" and "BB". Reference(s): - http://www.unicode.org/reports/tr35/#unicode_region_subtag + */ + regionCode?: string | null; + } + /** + * A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency. + */ + export interface Schema$StoreCodeSetWithMov { + /** + * Optional. A list of unique store codes or empty for the catch all. + */ + storeCodes?: string[] | null; + /** + * The minimum order value for the given stores. + */ + value?: Schema$Price; + } + /** + * A list of stores your products are delivered from. This is only valid for the local delivery shipment type. + */ + export interface Schema$StoreConfig { + /** + * Configs related to local delivery ends for the day. + */ + cutoffConfig?: Schema$CutoffConfig; + /** + * Maximum delivery radius. This is only required for the local delivery shipment type. + */ + serviceRadius?: Schema$Distance; + /** + * Optional. A list of store codes that provide local delivery. If empty, then `all_stores` must be true. + */ + storeCodes?: string[] | null; + /** + * Indicates whether all stores, or selected stores, listed by this business provide local delivery. + */ + storeServiceType?: string | null; + } + /** + * A table defining the rate group, when `single_value` is not expressive enough. + */ + export interface Schema$Table { + /** + * Headers of the table's columns. Optional: if not set then the table has only one dimension. + */ + columnHeaders?: Schema$Headers; + /** + * Name of the table. Required for subtables, ignored for the main table. + */ + name?: string | null; + /** + * Required. Headers of the table's rows. + */ + rowHeaders?: Schema$Headers; + /** + * Required. The list of rows that constitute the table. Must have the same length as `row_headers`. + */ + rows?: Schema$Row[]; + } + /** + * The `TermsOfService` message represents a specific version of the terms of service that merchants must accept to access certain features or services. For more information, see [Terms of Service](https://support.google.com/merchants/answer/160173). This message is important for the onboarding process, ensuring that merchants agree to the necessary legal agreements for using the service. Merchants can retrieve the latest terms of service for a given `kind` and `region` through `RetrieveLatestTermsOfService`, and accept them as required through `AcceptTermsOfService`. + */ + export interface Schema$TermsOfService { + /** + * Whether this terms of service version is external. External terms of service versions can only be agreed through external processes and not directly by the merchant through UI or API. + */ + external?: boolean | null; + /** + * URI for terms of service file that needs to be displayed to signing users. + */ + fileUri?: string | null; + /** + * The Kind this terms of service version applies to. + */ + kind?: string | null; + /** + * Identifier. The resource name of the terms of service version. Format: `termsOfService/{version\}` + */ + name?: string | null; + /** + * Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country where the ToS applies specifically to that country or `001` when the same `TermsOfService` can be signed in any country. However note that when signing a ToS that applies globally we still expect that a specific country is provided (this should be merchant business country or program country of participation). + */ + regionCode?: string | null; + } + /** + * This resource represents the agreement state for a given account and terms of service kind. The state is as follows: * If the business has accepted a terms of service, `accepted` will be populated, otherwise it will be empty * If the business must sign a terms of service, `required` will be populated, otherwise it will be empty. Note that both `required` and `accepted` can be present. In this case the `accepted` terms of services will have an expiration date set in the `valid_until` field. The `required` terms of services need to be accepted before `valid_until` in order for the account to continue having a valid agreement. When accepting new terms of services we expect third-party providers to display the text associated with the given terms of service agreement (the url to the file containing the text is added in the Required message below as `tos_file_uri`). The actual acceptance of the terms of service is done by calling accept on the `TermsOfService` resource. `valid_until` field. The `required` terms of services need to be accepted before `valid_until` in order for the account to continue having a valid agreement. When accepting new terms of services, we expect third-party providers to display the text associated with the given terms of service agreement (the url to the file containing the text is added in the Required message below as `tos_file_uri`. The actual acceptance of the terms of service is done by calling accept on the `TermsOfService` resource. + */ + export interface Schema$TermsOfServiceAgreementState { + /** + * Optional. The accepted terms of service of this kind and for the associated region_code + */ + accepted?: Schema$Accepted; + /** + * Identifier. The resource name of the terms of service version. Format: `accounts/{account\}/termsOfServiceAgreementState/{identifier\}` The identifier format is: `{TermsOfServiceKind\}-{country\}` For example, an identifier could be: `MERCHANT_CENTER-EU` or `MERCHANT_CENTER-US`. + */ + name?: string | null; + /** + * Required. Region code as defined by https://cldr.unicode.org/. This is the country the current state applies to. + */ + regionCode?: string | null; + /** + * Optional. The required terms of service + */ + required?: Schema$Required; + /** + * Required. Terms of Service kind associated with the particular version. + */ + termsOfServiceKind?: string | null; + } + /** + * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). + */ + export interface Schema$TimeZone { + /** + * IANA Time Zone Database time zone. For example "America/New_York". + */ + id?: string | null; + /** + * Optional. IANA Time Zone Database version number. For example "2019a". + */ + version?: string | null; + } + /** + * Transit time table, number of business days spent in transit based on row and column dimensions. Either `min_transit_days`, `max_transit_days` or `transit_time_table` can be set, but not both. + */ + export interface Schema$TransitTable { + /** + * Required. A list of region names Region.name . The last value can be `"all other locations"`. Example: `["zone 1", "zone 2", "all other locations"]`. The referred postal code groups must match the delivery country of the service. + */ + postalCodeGroupNames?: string[] | null; + /** + * Required. If there's only one dimension set of `postal_code_group_names` or `transit_time_labels`, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a `postal_code_group_names`, and columns (values) to a `transit_time_labels`. + */ + rows?: Schema$TransitTimeRow[]; + /** + * Required. A list of transit time labels. The last value can be `"all other labels"`. Example: `["food", "electronics", "all other labels"]`. + */ + transitTimeLabels?: string[] | null; + } + /** + * If there's only one dimension set of `postal_code_group_names` or `transit_time_labels`, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a `postal_code_group_names`, and columns (values) to a `transit_time_labels`. + */ + export interface Schema$TransitTimeRow { + /** + * Required. Transit time range (min-max) in business days. + */ + values?: Schema$TransitTimeValue[]; + } + /** + * Transit time range (min-max) in business days. + */ + export interface Schema$TransitTimeValue { + /** + * Must be greater than or equal to `min_transit_days`. + */ + maxTransitDays?: number | null; + /** + * Minimum transit time range in business days. 0 means same day delivery, 1 means next day delivery. + */ + minTransitDays?: number | null; + } + /** + * Request message for the `UnclaimHomepage` method. + */ + export interface Schema$UnclaimHomepageRequest {} + /** + * Request message for the UnregisterGCP method. + */ + export interface Schema$UnregisterGcpRequest {} + /** + * URL settings for cart or checkout URL. + */ + export interface Schema$UriSettings { + /** + * Cart URL template. When the placeholders are expanded will redirect the buyer to the cart page on the merchant website with the selected item in cart. For more details, check the [help center doc](https://support.google.com/merchants/answer/13945960#method1&zippy=%2Cproduct-level-url-formatting%2Caccount-level-url-formatting) + */ + cartUriTemplate?: string | null; + /** + * Checkout URL template. When the placeholders are expanded will redirect the buyer to the merchant checkout page with the item in the cart. For more details, check the [help center doc](https://support.google.com/merchants/answer/13945960#method1&zippy=%2Cproduct-level-url-formatting%2Caccount-level-url-formatting) + */ + checkoutUriTemplate?: string | null; + } + /** + * The `User` message represents a user associated with a Merchant Center account. It is used to manage user permissions and access rights within the account. For more information, see [Frequently asked questions about people and access levels](//support.google.com/merchants/answer/12160472). + */ + export interface Schema$User { + /** + * Required. The [access rights](https://support.google.com/merchants/answer/12160472?sjid=6789834943175119429-EU#accesstypes) the user has. + */ + accessRights?: string[] | null; + /** + * Identifier. The resource name of the user. Format: `accounts/{account\}/user/{email\}` Use `me` to refer to your own email address, for example `accounts/{account\}/users/me`. + */ + name?: string | null; + /** + * Output only. The state of the user. + */ + state?: string | null; + } + /** + * The single value of a rate group or the value of a rate group table's cell. Exactly one of `no_shipping`, `flat_rate`, `price_percentage`, `carrier_rateName`, `subtable_name` must be set. + */ + export interface Schema$Value { + /** + * The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set. + */ + carrierRate?: string | null; + /** + * A flat rate. Can only be set if all other fields are not set. + */ + flatRate?: Schema$Price; + /** + * If true, then the product can't be shipped. Must be true when set, can only be set if all other fields are not set. + */ + noShipping?: boolean | null; + /** + * A percentage of the price represented as a number in decimal notation (For example, `"5.4"`). Can only be set if all other fields are not set. + */ + pricePercentage?: string | null; + /** + * The name of a subtable. Can only be set in table cells (For example, not for single values), and only if all other fields are not set. + */ + subtable?: string | null; + } + /** + * A fulfillment warehouse, which stores and handles inventory. + */ + export interface Schema$Warehouse { + /** + * Business days of the warehouse. If not set, will be Monday to Friday by default. + */ + businessDayConfig?: Schema$BusinessDayConfig; + /** + * Required. The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code. + */ + cutoffTime?: Schema$WarehouseCutoffTime; + /** + * Required. The number of days it takes for this warehouse to pack up and ship an item. This is on the warehouse level, but can be overridden on the offer level based on the attributes of an item. + */ + handlingDays?: string | null; + /** + * Required. The name of the warehouse. Must be unique within account. + */ + name?: string | null; + /** + * Required. Shipping address of the warehouse. + */ + shippingAddress?: Schema$Address; + } + /** + * Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in `delivery_time` should be set. + */ + export interface Schema$WarehouseBasedDeliveryTime { + /** + * Required. Carrier, such as `"UPS"` or `"Fedex"`. [supported carriers](https://support.google.com/merchants/answer/7050921#zippy=%2Ccarrier-rates-au-de-uk-and-us-only) + */ + carrier?: string | null; + /** + * Required. Carrier service, such as `"ground"` or `"2 days"`. The name of the service must be in the eddSupportedServices list. + */ + carrierService?: string | null; + /** + * Required. Warehouse name. This should match warehouse. + */ + warehouse?: string | null; + } + /** + * The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code. + */ + export interface Schema$WarehouseCutoffTime { + /** + * Required. Hour of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Hour is based on the timezone of warehouse. + */ + hour?: number | null; + /** + * Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Minute is based on the timezone of warehouse. + */ + minute?: number | null; + } + /** + * The weight represented as the value in string and the unit. + */ + export interface Schema$Weight { + /** + * Required. The weight represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 kg = 1000000 micros). This field can also be set as infinity by setting to -1. This field only support -1 and positive value. + */ + amountMicros?: string | null; + /** + * Required. The weight unit. Acceptable values are: kg and lb + */ + unit?: string | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + autofeedSettings: Resource$Accounts$Autofeedsettings; + automaticImprovements: Resource$Accounts$Automaticimprovements; + businessIdentity: Resource$Accounts$Businessidentity; + businessInfo: Resource$Accounts$Businessinfo; + developerRegistration: Resource$Accounts$Developerregistration; + emailPreferences: Resource$Accounts$Emailpreferences; + gbpAccounts: Resource$Accounts$Gbpaccounts; + homepage: Resource$Accounts$Homepage; + issues: Resource$Accounts$Issues; + omnichannelSettings: Resource$Accounts$Omnichannelsettings; + onlineReturnPolicies: Resource$Accounts$Onlinereturnpolicies; + programs: Resource$Accounts$Programs; + regions: Resource$Accounts$Regions; + relationships: Resource$Accounts$Relationships; + services: Resource$Accounts$Services; + shippingSettings: Resource$Accounts$Shippingsettings; + termsOfServiceAgreementStates: Resource$Accounts$Termsofserviceagreementstates; + users: Resource$Accounts$Users; + constructor(context: APIRequestContext) { + this.context = context; + this.autofeedSettings = new Resource$Accounts$Autofeedsettings( + this.context + ); + this.automaticImprovements = new Resource$Accounts$Automaticimprovements( + this.context + ); + this.businessIdentity = new Resource$Accounts$Businessidentity( + this.context + ); + this.businessInfo = new Resource$Accounts$Businessinfo(this.context); + this.developerRegistration = new Resource$Accounts$Developerregistration( + this.context + ); + this.emailPreferences = new Resource$Accounts$Emailpreferences( + this.context + ); + this.gbpAccounts = new Resource$Accounts$Gbpaccounts(this.context); + this.homepage = new Resource$Accounts$Homepage(this.context); + this.issues = new Resource$Accounts$Issues(this.context); + this.omnichannelSettings = new Resource$Accounts$Omnichannelsettings( + this.context + ); + this.onlineReturnPolicies = new Resource$Accounts$Onlinereturnpolicies( + this.context + ); + this.programs = new Resource$Accounts$Programs(this.context); + this.regions = new Resource$Accounts$Regions(this.context); + this.relationships = new Resource$Accounts$Relationships(this.context); + this.services = new Resource$Accounts$Services(this.context); + this.shippingSettings = new Resource$Accounts$Shippingsettings( + this.context + ); + this.termsOfServiceAgreementStates = + new Resource$Accounts$Termsofserviceagreementstates(this.context); + this.users = new Resource$Accounts$Users(this.context); + } + + /** + * Creates a Merchant Center account with additional configuration. Adds the user that makes the request as an admin for the new account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.createAndConfigure({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "account": {}, + * // "service": [], + * // "user": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountId": "my_accountId", + * // "accountName": "my_accountName", + * // "adultContent": false, + * // "languageCode": "my_languageCode", + * // "name": "my_name", + * // "testAccount": false, + * // "timeZone": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + createAndConfigure( + params: Params$Resource$Accounts$Createandconfigure, + options: StreamMethodOptions + ): Promise>; + createAndConfigure( + params?: Params$Resource$Accounts$Createandconfigure, + options?: MethodOptions + ): Promise>; + createAndConfigure( + params: Params$Resource$Accounts$Createandconfigure, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createAndConfigure( + params: Params$Resource$Accounts$Createandconfigure, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createAndConfigure( + params: Params$Resource$Accounts$Createandconfigure, + callback: BodyResponseCallback + ): void; + createAndConfigure(callback: BodyResponseCallback): void; + createAndConfigure( + paramsOrCallback?: + | Params$Resource$Accounts$Createandconfigure + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Createandconfigure; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Createandconfigure; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/accounts:createAndConfigure').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified account regardless of its type: standalone, advanced account or sub-account. Deleting an advanced account leads to the deletion of all of its sub-accounts. Executing this method requires admin access. The deletion succeeds only if the account does not provide services to any other account and has no processed offers. You can use the `force` parameter to override this. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.delete({ + * // Optional. If set to `true`, the account is deleted even if it provides services to other accounts or has processed offers. + * force: 'placeholder-value', + * // Required. The name of the account to delete. Format: `accounts/{account\}` + * name: 'accounts/my-account', + * }); + * 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$Accounts$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Accounts$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves an account from your Merchant Center account. After inserting, updating, or deleting an account, it may take several minutes before changes take effect. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.get({ + * // Required. The name of the account to retrieve. Format: `accounts/{account\}` + * name: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountId": "my_accountId", + * // "accountName": "my_accountName", + * // "adultContent": false, + * // "languageCode": "my_languageCode", + * // "name": "my_name", + * // "testAccount": false, + * // "timeZone": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Accounts$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Note: For the `accounts.list` method, quota and limits usage are charged for each user, and not for the Merchant Center ID or the advanced account ID. To list several sub-accounts, you should use the `accounts.listSubaccounts` method, which is more suitable for advanced accounts use case. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.list({ + * // Optional. Returns only accounts that match the [filter](https://developers.google.com/merchant/api/guides/accounts/filter). For more details, see the [filter syntax reference](https://developers.google.com/merchant/api/guides/accounts/filter-syntax). + * filter: 'placeholder-value', + * // Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 250 accounts are returned. The maximum value is 500; values above 500 are coerced to 500. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `accounts.list` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided in the `accounts.list` request must match the call that provided the page token. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accounts": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Accounts$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/accounts').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List all sub-accounts for a given advanced account. This is a convenience wrapper for the more powerful `accounts.list` method. This method will produce the same results as calling `ListsAccounts` with the following filter: `relationship(providerId={parent\} AND service(type="ACCOUNT_AGGREGATION"))` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.listSubaccounts({ + * // Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 250 accounts are returned. The maximum value is 500; values above 500 are coerced to 500. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `accounts.list` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided in the `accounts.list` request must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The aggregation service provider. Format: `accounts/{accountId\}` + * provider: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accounts": [], + * // "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. + */ + listSubaccounts( + params: Params$Resource$Accounts$Listsubaccounts, + options: StreamMethodOptions + ): Promise>; + listSubaccounts( + params?: Params$Resource$Accounts$Listsubaccounts, + options?: MethodOptions + ): Promise>; + listSubaccounts( + params: Params$Resource$Accounts$Listsubaccounts, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listSubaccounts( + params: Params$Resource$Accounts$Listsubaccounts, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listSubaccounts( + params: Params$Resource$Accounts$Listsubaccounts, + callback: BodyResponseCallback + ): void; + listSubaccounts( + callback: BodyResponseCallback + ): void; + listSubaccounts( + paramsOrCallback?: + | Params$Resource$Accounts$Listsubaccounts + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Listsubaccounts; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Listsubaccounts; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+provider}:listSubaccounts').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['provider'], + pathParams: ['provider'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates an account regardless of its type: standalone, advanced account or sub-account. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.patch({ + * // Identifier. The resource name of the account. Format: `accounts/{account\}` + * name: 'accounts/my-account', + * // Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_name` - `adult_content` - `language_code` - `time_zone` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accountId": "my_accountId", + * // "accountName": "my_accountName", + * // "adultContent": false, + * // "languageCode": "my_languageCode", + * // "name": "my_name", + * // "testAccount": false, + * // "timeZone": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountId": "my_accountId", + * // "accountName": "my_accountName", + * // "adultContent": false, + * // "languageCode": "my_languageCode", + * // "name": "my_name", + * // "testAccount": false, + * // "timeZone": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Accounts$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Createandconfigure + extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$CreateAndConfigureAccountRequest; + } + export interface Params$Resource$Accounts$Delete extends StandardParameters { + /** + * Optional. If set to `true`, the account is deleted even if it provides services to other accounts or has processed offers. + */ + force?: boolean; + /** + * Required. The name of the account to delete. Format: `accounts/{account\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Get extends StandardParameters { + /** + * Required. The name of the account to retrieve. Format: `accounts/{account\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$List extends StandardParameters { + /** + * Optional. Returns only accounts that match the [filter](https://developers.google.com/merchant/api/guides/accounts/filter). For more details, see the [filter syntax reference](https://developers.google.com/merchant/api/guides/accounts/filter-syntax). + */ + filter?: string; + /** + * Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 250 accounts are returned. The maximum value is 500; values above 500 are coerced to 500. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `accounts.list` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided in the `accounts.list` request must match the call that provided the page token. + */ + pageToken?: string; + } + export interface Params$Resource$Accounts$Listsubaccounts + extends StandardParameters { + /** + * Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 250 accounts are returned. The maximum value is 500; values above 500 are coerced to 500. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `accounts.list` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided in the `accounts.list` request must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The aggregation service provider. Format: `accounts/{accountId\}` + */ + provider?: string; + } + export interface Params$Resource$Accounts$Patch extends StandardParameters { + /** + * Identifier. The resource name of the account. Format: `accounts/{account\}` + */ + name?: string; + /** + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_name` - `adult_content` - `language_code` - `time_zone` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + + export class Resource$Accounts$Autofeedsettings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the autofeed settings of an account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.autofeedSettings.getAutofeedSettings({ + * // Required. The resource name of the autofeed settings. Format: `accounts/{account\}/autofeedSettings` + * name: 'accounts/my-account/autofeedSettings', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "eligible": false, + * // "enableProducts": false, + * // "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. + */ + getAutofeedSettings( + params: Params$Resource$Accounts$Autofeedsettings$Getautofeedsettings, + options: StreamMethodOptions + ): Promise>; + getAutofeedSettings( + params?: Params$Resource$Accounts$Autofeedsettings$Getautofeedsettings, + options?: MethodOptions + ): Promise>; + getAutofeedSettings( + params: Params$Resource$Accounts$Autofeedsettings$Getautofeedsettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAutofeedSettings( + params: Params$Resource$Accounts$Autofeedsettings$Getautofeedsettings, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAutofeedSettings( + params: Params$Resource$Accounts$Autofeedsettings$Getautofeedsettings, + callback: BodyResponseCallback + ): void; + getAutofeedSettings( + callback: BodyResponseCallback + ): void; + getAutofeedSettings( + paramsOrCallback?: + | Params$Resource$Accounts$Autofeedsettings$Getautofeedsettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Autofeedsettings$Getautofeedsettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Autofeedsettings$Getautofeedsettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Updates the autofeed settings of an account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.autofeedSettings.updateAutofeedSettings({ + * // Identifier. The resource name of the autofeed settings. Format: `accounts/{account\}/autofeedSettings`. + * name: 'accounts/my-account/autofeedSettings', + * // Required. List of fields being updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "eligible": false, + * // "enableProducts": false, + * // "name": "my_name" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "eligible": false, + * // "enableProducts": false, + * // "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. + */ + updateAutofeedSettings( + params: Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings, + options: StreamMethodOptions + ): Promise>; + updateAutofeedSettings( + params?: Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings, + options?: MethodOptions + ): Promise>; + updateAutofeedSettings( + params: Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateAutofeedSettings( + params: Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateAutofeedSettings( + params: Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings, + callback: BodyResponseCallback + ): void; + updateAutofeedSettings( + callback: BodyResponseCallback + ): void; + updateAutofeedSettings( + paramsOrCallback?: + | Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Autofeedsettings$Getautofeedsettings + extends StandardParameters { + /** + * Required. The resource name of the autofeed settings. Format: `accounts/{account\}/autofeedSettings` + */ + name?: string; + } + export interface Params$Resource$Accounts$Autofeedsettings$Updateautofeedsettings + extends StandardParameters { + /** + * Identifier. The resource name of the autofeed settings. Format: `accounts/{account\}/autofeedSettings`. + */ + name?: string; + /** + * Required. List of fields being updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AutofeedSettings; + } + + export class Resource$Accounts$Automaticimprovements { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the automatic improvements of an account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.automaticImprovements.getAutomaticImprovements({ + * // Required. The resource name of the automatic improvements. Format: `accounts/{account\}/automaticImprovements` + * name: 'accounts/my-account/automaticImprovements', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "imageImprovements": {}, + * // "itemUpdates": {}, + * // "name": "my_name", + * // "shippingImprovements": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getAutomaticImprovements( + params: Params$Resource$Accounts$Automaticimprovements$Getautomaticimprovements, + options: StreamMethodOptions + ): Promise>; + getAutomaticImprovements( + params?: Params$Resource$Accounts$Automaticimprovements$Getautomaticimprovements, + options?: MethodOptions + ): Promise>; + getAutomaticImprovements( + params: Params$Resource$Accounts$Automaticimprovements$Getautomaticimprovements, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAutomaticImprovements( + params: Params$Resource$Accounts$Automaticimprovements$Getautomaticimprovements, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAutomaticImprovements( + params: Params$Resource$Accounts$Automaticimprovements$Getautomaticimprovements, + callback: BodyResponseCallback + ): void; + getAutomaticImprovements( + callback: BodyResponseCallback + ): void; + getAutomaticImprovements( + paramsOrCallback?: + | Params$Resource$Accounts$Automaticimprovements$Getautomaticimprovements + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Automaticimprovements$Getautomaticimprovements; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Automaticimprovements$Getautomaticimprovements; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Updates the automatic improvements of an account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.automaticImprovements.updateAutomaticImprovements( + * { + * // Identifier. The resource name of the automatic improvements. Format: `accounts/{account\}/automaticImprovements`. + * name: 'accounts/my-account/automaticImprovements', + * // Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `item_updates` - `item_updates.account_level_settings` - `image_improvements` - `image_improvements.account_level_settings` - `shipping_improvements` - `shipping_improvements.allow_shipping_improvements` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "imageImprovements": {}, + * // "itemUpdates": {}, + * // "name": "my_name", + * // "shippingImprovements": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "imageImprovements": {}, + * // "itemUpdates": {}, + * // "name": "my_name", + * // "shippingImprovements": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateAutomaticImprovements( + params: Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements, + options: StreamMethodOptions + ): Promise>; + updateAutomaticImprovements( + params?: Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements, + options?: MethodOptions + ): Promise>; + updateAutomaticImprovements( + params: Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateAutomaticImprovements( + params: Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateAutomaticImprovements( + params: Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements, + callback: BodyResponseCallback + ): void; + updateAutomaticImprovements( + callback: BodyResponseCallback + ): void; + updateAutomaticImprovements( + paramsOrCallback?: + | Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Automaticimprovements$Getautomaticimprovements + extends StandardParameters { + /** + * Required. The resource name of the automatic improvements. Format: `accounts/{account\}/automaticImprovements` + */ + name?: string; + } + export interface Params$Resource$Accounts$Automaticimprovements$Updateautomaticimprovements + extends StandardParameters { + /** + * Identifier. The resource name of the automatic improvements. Format: `accounts/{account\}/automaticImprovements`. + */ + name?: string; + /** + * Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `item_updates` - `item_updates.account_level_settings` - `image_improvements` - `image_improvements.account_level_settings` - `shipping_improvements` - `shipping_improvements.allow_shipping_improvements` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AutomaticImprovements; + } + + export class Resource$Accounts$Businessidentity { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the business identity of an account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.businessIdentity.getBusinessIdentity({ + * // Required. The resource name of the business identity. Format: `accounts/{account\}/businessIdentity`. For example, `accounts/123456/businessIdentity`. + * name: 'accounts/my-account/businessIdentity', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "blackOwned": {}, + * // "latinoOwned": {}, + * // "name": "my_name", + * // "promotionsConsent": "my_promotionsConsent", + * // "smallBusiness": {}, + * // "veteranOwned": {}, + * // "womenOwned": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getBusinessIdentity( + params: Params$Resource$Accounts$Businessidentity$Getbusinessidentity, + options: StreamMethodOptions + ): Promise>; + getBusinessIdentity( + params?: Params$Resource$Accounts$Businessidentity$Getbusinessidentity, + options?: MethodOptions + ): Promise>; + getBusinessIdentity( + params: Params$Resource$Accounts$Businessidentity$Getbusinessidentity, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getBusinessIdentity( + params: Params$Resource$Accounts$Businessidentity$Getbusinessidentity, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getBusinessIdentity( + params: Params$Resource$Accounts$Businessidentity$Getbusinessidentity, + callback: BodyResponseCallback + ): void; + getBusinessIdentity( + callback: BodyResponseCallback + ): void; + getBusinessIdentity( + paramsOrCallback?: + | Params$Resource$Accounts$Businessidentity$Getbusinessidentity + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Businessidentity$Getbusinessidentity; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Businessidentity$Getbusinessidentity; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Updates the business identity of an account. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.businessIdentity.updateBusinessIdentity({ + * // Identifier. The resource name of the business identity. Format: `accounts/{account\}/businessIdentity` + * name: 'accounts/my-account/businessIdentity', + * // Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `black_owned` - `latino_owned` - `promotions_consent` - `small_business` - `veteran_owned` - `women_owned` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "blackOwned": {}, + * // "latinoOwned": {}, + * // "name": "my_name", + * // "promotionsConsent": "my_promotionsConsent", + * // "smallBusiness": {}, + * // "veteranOwned": {}, + * // "womenOwned": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "blackOwned": {}, + * // "latinoOwned": {}, + * // "name": "my_name", + * // "promotionsConsent": "my_promotionsConsent", + * // "smallBusiness": {}, + * // "veteranOwned": {}, + * // "womenOwned": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateBusinessIdentity( + params: Params$Resource$Accounts$Businessidentity$Updatebusinessidentity, + options: StreamMethodOptions + ): Promise>; + updateBusinessIdentity( + params?: Params$Resource$Accounts$Businessidentity$Updatebusinessidentity, + options?: MethodOptions + ): Promise>; + updateBusinessIdentity( + params: Params$Resource$Accounts$Businessidentity$Updatebusinessidentity, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateBusinessIdentity( + params: Params$Resource$Accounts$Businessidentity$Updatebusinessidentity, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateBusinessIdentity( + params: Params$Resource$Accounts$Businessidentity$Updatebusinessidentity, + callback: BodyResponseCallback + ): void; + updateBusinessIdentity( + callback: BodyResponseCallback + ): void; + updateBusinessIdentity( + paramsOrCallback?: + | Params$Resource$Accounts$Businessidentity$Updatebusinessidentity + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Businessidentity$Updatebusinessidentity; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Businessidentity$Updatebusinessidentity; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Businessidentity$Getbusinessidentity + extends StandardParameters { + /** + * Required. The resource name of the business identity. Format: `accounts/{account\}/businessIdentity`. For example, `accounts/123456/businessIdentity`. + */ + name?: string; + } + export interface Params$Resource$Accounts$Businessidentity$Updatebusinessidentity + extends StandardParameters { + /** + * Identifier. The resource name of the business identity. Format: `accounts/{account\}/businessIdentity` + */ + name?: string; + /** + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `black_owned` - `latino_owned` - `promotions_consent` - `small_business` - `veteran_owned` - `women_owned` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BusinessIdentity; + } + + export class Resource$Accounts$Businessinfo { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the business info of an account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.businessInfo.getBusinessInfo({ + * // Required. The resource name of the business info. Format: `accounts/{account\}/businessInfo`. For example, `accounts/123456/businessInfo`. + * name: 'accounts/my-account/businessInfo', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "address": {}, + * // "customerService": {}, + * // "koreanBusinessRegistrationNumber": "my_koreanBusinessRegistrationNumber", + * // "name": "my_name", + * // "phone": {}, + * // "phoneVerificationState": "my_phoneVerificationState" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getBusinessInfo( + params: Params$Resource$Accounts$Businessinfo$Getbusinessinfo, + options: StreamMethodOptions + ): Promise>; + getBusinessInfo( + params?: Params$Resource$Accounts$Businessinfo$Getbusinessinfo, + options?: MethodOptions + ): Promise>; + getBusinessInfo( + params: Params$Resource$Accounts$Businessinfo$Getbusinessinfo, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getBusinessInfo( + params: Params$Resource$Accounts$Businessinfo$Getbusinessinfo, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getBusinessInfo( + params: Params$Resource$Accounts$Businessinfo$Getbusinessinfo, + callback: BodyResponseCallback + ): void; + getBusinessInfo(callback: BodyResponseCallback): void; + getBusinessInfo( + paramsOrCallback?: + | Params$Resource$Accounts$Businessinfo$Getbusinessinfo + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Businessinfo$Getbusinessinfo; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Businessinfo$Getbusinessinfo; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Updates the business info of an account. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.businessInfo.updateBusinessInfo({ + * // Identifier. The resource name of the business info. Format: `accounts/{account\}/businessInfo` + * name: 'accounts/my-account/businessInfo', + * // Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `address` - `customer_service` - `korean_business_registration_number` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "address": {}, + * // "customerService": {}, + * // "koreanBusinessRegistrationNumber": "my_koreanBusinessRegistrationNumber", + * // "name": "my_name", + * // "phone": {}, + * // "phoneVerificationState": "my_phoneVerificationState" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "address": {}, + * // "customerService": {}, + * // "koreanBusinessRegistrationNumber": "my_koreanBusinessRegistrationNumber", + * // "name": "my_name", + * // "phone": {}, + * // "phoneVerificationState": "my_phoneVerificationState" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateBusinessInfo( + params: Params$Resource$Accounts$Businessinfo$Updatebusinessinfo, + options: StreamMethodOptions + ): Promise>; + updateBusinessInfo( + params?: Params$Resource$Accounts$Businessinfo$Updatebusinessinfo, + options?: MethodOptions + ): Promise>; + updateBusinessInfo( + params: Params$Resource$Accounts$Businessinfo$Updatebusinessinfo, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateBusinessInfo( + params: Params$Resource$Accounts$Businessinfo$Updatebusinessinfo, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateBusinessInfo( + params: Params$Resource$Accounts$Businessinfo$Updatebusinessinfo, + callback: BodyResponseCallback + ): void; + updateBusinessInfo( + callback: BodyResponseCallback + ): void; + updateBusinessInfo( + paramsOrCallback?: + | Params$Resource$Accounts$Businessinfo$Updatebusinessinfo + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Businessinfo$Updatebusinessinfo; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Businessinfo$Updatebusinessinfo; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Businessinfo$Getbusinessinfo + extends StandardParameters { + /** + * Required. The resource name of the business info. Format: `accounts/{account\}/businessInfo`. For example, `accounts/123456/businessInfo`. + */ + name?: string; + } + export interface Params$Resource$Accounts$Businessinfo$Updatebusinessinfo + extends StandardParameters { + /** + * Identifier. The resource name of the business info. Format: `accounts/{account\}/businessInfo` + */ + name?: string; + /** + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `address` - `customer_service` - `korean_business_registration_number` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BusinessInfo; + } + + export class Resource$Accounts$Developerregistration { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves a developer registration for a merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.developerRegistration.getDeveloperRegistration({ + * // Required. The `name` (ID) of the developer registration. + * name: 'accounts/my-account/developerRegistration', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "gcpIds": [], + * // "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. + */ + getDeveloperRegistration( + params: Params$Resource$Accounts$Developerregistration$Getdeveloperregistration, + options: StreamMethodOptions + ): Promise>; + getDeveloperRegistration( + params?: Params$Resource$Accounts$Developerregistration$Getdeveloperregistration, + options?: MethodOptions + ): Promise>; + getDeveloperRegistration( + params: Params$Resource$Accounts$Developerregistration$Getdeveloperregistration, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getDeveloperRegistration( + params: Params$Resource$Accounts$Developerregistration$Getdeveloperregistration, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getDeveloperRegistration( + params: Params$Resource$Accounts$Developerregistration$Getdeveloperregistration, + callback: BodyResponseCallback + ): void; + getDeveloperRegistration( + callback: BodyResponseCallback + ): void; + getDeveloperRegistration( + paramsOrCallback?: + | Params$Resource$Accounts$Developerregistration$Getdeveloperregistration + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Developerregistration$Getdeveloperregistration; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Developerregistration$Getdeveloperregistration; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Registers the GCP used for the API call to the shopping account passed in the request. Will create a user with an "API developer" and add the "developer_email" as a contact with "API notifications" email preference on. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.developerRegistration.registerGcp({ + * // Required. The name of the developer registration to be created for the merchant account that the GCP will be registered with. Format: `accounts/{account\}/developerRegistration` + * name: 'accounts/my-account/developerRegistration', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "developerEmail": "my_developerEmail" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "gcpIds": [], + * // "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. + */ + registerGcp( + params: Params$Resource$Accounts$Developerregistration$Registergcp, + options: StreamMethodOptions + ): Promise>; + registerGcp( + params?: Params$Resource$Accounts$Developerregistration$Registergcp, + options?: MethodOptions + ): Promise>; + registerGcp( + params: Params$Resource$Accounts$Developerregistration$Registergcp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + registerGcp( + params: Params$Resource$Accounts$Developerregistration$Registergcp, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + registerGcp( + params: Params$Resource$Accounts$Developerregistration$Registergcp, + callback: BodyResponseCallback + ): void; + registerGcp( + callback: BodyResponseCallback + ): void; + registerGcp( + paramsOrCallback?: + | Params$Resource$Accounts$Developerregistration$Registergcp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Developerregistration$Registergcp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Developerregistration$Registergcp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:registerGcp').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); + } + } + + /** + * Unregister the calling GCP from the calling shopping account. Note that the GCP will still be able to access the API for at most 1 day from the unregister succussful call. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.developerRegistration.unregisterGcp({ + * // Required. The name of the developer registration to be created for the merchant account that the GCP will be registered with. Format: `accounts/{account\}/developerRegistration` + * name: 'accounts/my-account/developerRegistration', + * + * // 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. + */ + unregisterGcp( + params: Params$Resource$Accounts$Developerregistration$Unregistergcp, + options: StreamMethodOptions + ): Promise>; + unregisterGcp( + params?: Params$Resource$Accounts$Developerregistration$Unregistergcp, + options?: MethodOptions + ): Promise>; + unregisterGcp( + params: Params$Resource$Accounts$Developerregistration$Unregistergcp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + unregisterGcp( + params: Params$Resource$Accounts$Developerregistration$Unregistergcp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + unregisterGcp( + params: Params$Resource$Accounts$Developerregistration$Unregistergcp, + callback: BodyResponseCallback + ): void; + unregisterGcp(callback: BodyResponseCallback): void; + unregisterGcp( + paramsOrCallback?: + | Params$Resource$Accounts$Developerregistration$Unregistergcp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Developerregistration$Unregistergcp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Developerregistration$Unregistergcp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:unregisterGcp').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$Accounts$Developerregistration$Getdeveloperregistration + extends StandardParameters { + /** + * Required. The `name` (ID) of the developer registration. + */ + name?: string; + } + export interface Params$Resource$Accounts$Developerregistration$Registergcp + extends StandardParameters { + /** + * Required. The name of the developer registration to be created for the merchant account that the GCP will be registered with. Format: `accounts/{account\}/developerRegistration` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegisterGcpRequest; + } + export interface Params$Resource$Accounts$Developerregistration$Unregistergcp + extends StandardParameters { + /** + * Required. The name of the developer registration to be created for the merchant account that the GCP will be registered with. Format: `accounts/{account\}/developerRegistration` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UnregisterGcpRequest; + } + + export class Resource$Accounts$Emailpreferences { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the email preferences for a Merchant Center account user. This service only permits retrieving and updating email preferences for the authenticated user. Use the name=accounts/x/users/me/emailPreferences alias to get preferences for the authenticated user. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.emailPreferences.getEmailPreferences({ + * // Required. The name of the `EmailPreferences` resource. Format: `accounts/{account\}/users/{email\}/emailPreferences` + * name: 'accounts/my-account/users/my-user/emailPreferences', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "newsAndTips": "my_newsAndTips" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getEmailPreferences( + params: Params$Resource$Accounts$Emailpreferences$Getemailpreferences, + options: StreamMethodOptions + ): Promise>; + getEmailPreferences( + params?: Params$Resource$Accounts$Emailpreferences$Getemailpreferences, + options?: MethodOptions + ): Promise>; + getEmailPreferences( + params: Params$Resource$Accounts$Emailpreferences$Getemailpreferences, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEmailPreferences( + params: Params$Resource$Accounts$Emailpreferences$Getemailpreferences, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEmailPreferences( + params: Params$Resource$Accounts$Emailpreferences$Getemailpreferences, + callback: BodyResponseCallback + ): void; + getEmailPreferences( + callback: BodyResponseCallback + ): void; + getEmailPreferences( + paramsOrCallback?: + | Params$Resource$Accounts$Emailpreferences$Getemailpreferences + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Emailpreferences$Getemailpreferences; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Emailpreferences$Getemailpreferences; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Updates the email preferences for a Merchant Center account user. Advanced account users should specify the advanced account rather than a sub-account of the advanced account. Preferences which are not explicitly selected in the update mask will not be updated. It is invalid for updates to specify an UNCONFIRMED opt-in status value. Use the name=accounts/x/users/me/emailPreferences alias to update preferences for the authenticated user. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.emailPreferences.updateEmailPreferences({ + * // Identifier. The name of the EmailPreferences. The endpoint is only supported for the authenticated user. + * name: 'accounts/my-account/users/my-user/emailPreferences', + * // Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `news_and_tips` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name", + * // "newsAndTips": "my_newsAndTips" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "newsAndTips": "my_newsAndTips" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateEmailPreferences( + params: Params$Resource$Accounts$Emailpreferences$Updateemailpreferences, + options: StreamMethodOptions + ): Promise>; + updateEmailPreferences( + params?: Params$Resource$Accounts$Emailpreferences$Updateemailpreferences, + options?: MethodOptions + ): Promise>; + updateEmailPreferences( + params: Params$Resource$Accounts$Emailpreferences$Updateemailpreferences, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateEmailPreferences( + params: Params$Resource$Accounts$Emailpreferences$Updateemailpreferences, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateEmailPreferences( + params: Params$Resource$Accounts$Emailpreferences$Updateemailpreferences, + callback: BodyResponseCallback + ): void; + updateEmailPreferences( + callback: BodyResponseCallback + ): void; + updateEmailPreferences( + paramsOrCallback?: + | Params$Resource$Accounts$Emailpreferences$Updateemailpreferences + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Emailpreferences$Updateemailpreferences; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Emailpreferences$Updateemailpreferences; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Emailpreferences$Getemailpreferences + extends StandardParameters { + /** + * Required. The name of the `EmailPreferences` resource. Format: `accounts/{account\}/users/{email\}/emailPreferences` + */ + name?: string; + } + export interface Params$Resource$Accounts$Emailpreferences$Updateemailpreferences + extends StandardParameters { + /** + * Identifier. The name of the EmailPreferences. The endpoint is only supported for the authenticated user. + */ + name?: string; + /** + * Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `news_and_tips` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EmailPreferences; + } + + export class Resource$Accounts$Gbpaccounts { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Link the specified merchant to a GBP account for all countries. To run this method, you must have admin access to the Merchant Center account. If you don't have admin access, the request fails with the error message `User is not an administrator of account {ACCOUNT_ID\}`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.gbpAccounts.linkGbpAccount({ + * // Required. The name of the parent resource to which the GBP account is linked. Format: `accounts/{account\}`. + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "gbpEmail": "my_gbpEmail" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "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. + */ + linkGbpAccount( + params: Params$Resource$Accounts$Gbpaccounts$Linkgbpaccount, + options: StreamMethodOptions + ): Promise>; + linkGbpAccount( + params?: Params$Resource$Accounts$Gbpaccounts$Linkgbpaccount, + options?: MethodOptions + ): Promise>; + linkGbpAccount( + params: Params$Resource$Accounts$Gbpaccounts$Linkgbpaccount, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + linkGbpAccount( + params: Params$Resource$Accounts$Gbpaccounts$Linkgbpaccount, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + linkGbpAccount( + params: Params$Resource$Accounts$Gbpaccounts$Linkgbpaccount, + callback: BodyResponseCallback + ): void; + linkGbpAccount( + callback: BodyResponseCallback + ): void; + linkGbpAccount( + paramsOrCallback?: + | Params$Resource$Accounts$Gbpaccounts$Linkgbpaccount + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Gbpaccounts$Linkgbpaccount; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Gbpaccounts$Linkgbpaccount; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/accounts/v1/{+parent}/gbpAccounts:linkGbpAccount' + ).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); + } + } + + /** + * List the GBP accounts for a given merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.gbpAccounts.list({ + * // Optional. The maximum number of `GbpAccount` resources to return. The service returns fewer than this value if the number of gbp accounts is less that than the `pageSize`. The default value is 50. The maximum value is 1000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListGbpAccounts` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListGbpAccounts` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The name of the parent resource under which the GBP accounts are listed. Format: `accounts/{account\}`. + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "gbpAccounts": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Gbpaccounts$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Gbpaccounts$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Gbpaccounts$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Gbpaccounts$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Gbpaccounts$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Gbpaccounts$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Gbpaccounts$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Gbpaccounts$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/gbpAccounts').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$Accounts$Gbpaccounts$Linkgbpaccount + extends StandardParameters { + /** + * Required. The name of the parent resource to which the GBP account is linked. Format: `accounts/{account\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LinkGbpAccountRequest; + } + export interface Params$Resource$Accounts$Gbpaccounts$List + extends StandardParameters { + /** + * Optional. The maximum number of `GbpAccount` resources to return. The service returns fewer than this value if the number of gbp accounts is less that than the `pageSize`. The default value is 50. The maximum value is 1000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListGbpAccounts` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListGbpAccounts` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The name of the parent resource under which the GBP accounts are listed. Format: `accounts/{account\}`. + */ + parent?: string; + } + + export class Resource$Accounts$Homepage { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Claims a store's homepage. Executing this method requires admin access. If the homepage is already claimed, this will recheck the verification (unless the business is exempted from claiming, which also exempts from verification) and return a successful response. If ownership can no longer be verified, it will return an error, but it won't clear the claim. In case of failure, a canonical error message is returned: * PERMISSION_DENIED: User doesn't have the necessary permissions on this Merchant Center account. * FAILED_PRECONDITION: - The account is not a Merchant Center account. - Merchant Center account doesn't have a homepage. - Claiming failed (in this case the error message contains more details). + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.homepage.claim({ + * // Required. The name of the homepage to claim. Format: `accounts/{account\}/homepage` + * name: 'accounts/my-account/homepage', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "overwrite": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "claimed": false, + * // "name": "my_name", + * // "uri": "my_uri" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + claim( + params: Params$Resource$Accounts$Homepage$Claim, + options: StreamMethodOptions + ): Promise>; + claim( + params?: Params$Resource$Accounts$Homepage$Claim, + options?: MethodOptions + ): Promise>; + claim( + params: Params$Resource$Accounts$Homepage$Claim, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + claim( + params: Params$Resource$Accounts$Homepage$Claim, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + claim( + params: Params$Resource$Accounts$Homepage$Claim, + callback: BodyResponseCallback + ): void; + claim(callback: BodyResponseCallback): void; + claim( + paramsOrCallback?: + | Params$Resource$Accounts$Homepage$Claim + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Homepage$Claim; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Homepage$Claim; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:claim').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); + } + } + + /** + * Retrieves a store's homepage. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.homepage.getHomepage({ + * // Required. The name of the homepage to retrieve. Format: `accounts/{account\}/homepage` + * name: 'accounts/my-account/homepage', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "claimed": false, + * // "name": "my_name", + * // "uri": "my_uri" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getHomepage( + params: Params$Resource$Accounts$Homepage$Gethomepage, + options: StreamMethodOptions + ): Promise>; + getHomepage( + params?: Params$Resource$Accounts$Homepage$Gethomepage, + options?: MethodOptions + ): Promise>; + getHomepage( + params: Params$Resource$Accounts$Homepage$Gethomepage, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getHomepage( + params: Params$Resource$Accounts$Homepage$Gethomepage, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getHomepage( + params: Params$Resource$Accounts$Homepage$Gethomepage, + callback: BodyResponseCallback + ): void; + getHomepage(callback: BodyResponseCallback): void; + getHomepage( + paramsOrCallback?: + | Params$Resource$Accounts$Homepage$Gethomepage + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Homepage$Gethomepage; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Homepage$Gethomepage; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Unclaims a store's homepage. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.homepage.unclaim({ + * // Required. The name of the homepage to unclaim. Format: `accounts/{account\}/homepage` + * name: 'accounts/my-account/homepage', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "claimed": false, + * // "name": "my_name", + * // "uri": "my_uri" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + unclaim( + params: Params$Resource$Accounts$Homepage$Unclaim, + options: StreamMethodOptions + ): Promise>; + unclaim( + params?: Params$Resource$Accounts$Homepage$Unclaim, + options?: MethodOptions + ): Promise>; + unclaim( + params: Params$Resource$Accounts$Homepage$Unclaim, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + unclaim( + params: Params$Resource$Accounts$Homepage$Unclaim, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + unclaim( + params: Params$Resource$Accounts$Homepage$Unclaim, + callback: BodyResponseCallback + ): void; + unclaim(callback: BodyResponseCallback): void; + unclaim( + paramsOrCallback?: + | Params$Resource$Accounts$Homepage$Unclaim + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Homepage$Unclaim; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Homepage$Unclaim; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:unclaim').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 store's homepage. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.homepage.updateHomepage({ + * // Identifier. The resource name of the store's homepage. Format: `accounts/{account\}/homepage` + * name: 'accounts/my-account/homepage', + * // Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `uri` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "claimed": false, + * // "name": "my_name", + * // "uri": "my_uri" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "claimed": false, + * // "name": "my_name", + * // "uri": "my_uri" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateHomepage( + params: Params$Resource$Accounts$Homepage$Updatehomepage, + options: StreamMethodOptions + ): Promise>; + updateHomepage( + params?: Params$Resource$Accounts$Homepage$Updatehomepage, + options?: MethodOptions + ): Promise>; + updateHomepage( + params: Params$Resource$Accounts$Homepage$Updatehomepage, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateHomepage( + params: Params$Resource$Accounts$Homepage$Updatehomepage, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateHomepage( + params: Params$Resource$Accounts$Homepage$Updatehomepage, + callback: BodyResponseCallback + ): void; + updateHomepage(callback: BodyResponseCallback): void; + updateHomepage( + paramsOrCallback?: + | Params$Resource$Accounts$Homepage$Updatehomepage + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Homepage$Updatehomepage; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Homepage$Updatehomepage; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Homepage$Claim + extends StandardParameters { + /** + * Required. The name of the homepage to claim. Format: `accounts/{account\}/homepage` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ClaimHomepageRequest; + } + export interface Params$Resource$Accounts$Homepage$Gethomepage + extends StandardParameters { + /** + * Required. The name of the homepage to retrieve. Format: `accounts/{account\}/homepage` + */ + name?: string; + } + export interface Params$Resource$Accounts$Homepage$Unclaim + extends StandardParameters { + /** + * Required. The name of the homepage to unclaim. Format: `accounts/{account\}/homepage` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UnclaimHomepageRequest; + } + export interface Params$Resource$Accounts$Homepage$Updatehomepage + extends StandardParameters { + /** + * Identifier. The resource name of the store's homepage. Format: `accounts/{account\}/homepage` + */ + name?: string; + /** + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `uri` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Homepage; + } + + export class Resource$Accounts$Issues { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists all account issues of a Merchant Center account. When called on a multi-client account, this method only returns issues belonging to that account, not its sub-accounts. To retrieve issues for sub-accounts, you must first call the accounts.listSubaccounts method to obtain a list of sub-accounts, and then call `accounts.issues.list` for each sub-account individually. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.issues.list({ + * // Optional. The issues in the response will have human-readable fields in the given language. The format is [BCP-47](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`. If not value is provided, `en-US` will be used. + * languageCode: 'placeholder-value', + * // Optional. The maximum number of issues to return. The service may return fewer than this value. If unspecified, at most 50 issues will be returned. The maximum value is 100; values above 100 will be coerced to 100 + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListAccountIssues` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountIssues` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of issues. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * // Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in human-readable fields. For example 'America/Los_Angeles'. If not set, 'America/Los_Angeles' will be used. + * timeZone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountIssues": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Issues$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Issues$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Issues$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Issues$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Issues$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Issues$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Issues$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Issues$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + } + + export interface Params$Resource$Accounts$Issues$List + extends StandardParameters { + /** + * Optional. The issues in the response will have human-readable fields in the given language. The format is [BCP-47](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`. If not value is provided, `en-US` will be used. + */ + languageCode?: string; + /** + * Optional. The maximum number of issues to return. The service may return fewer than this value. If unspecified, at most 50 issues will be returned. The maximum value is 100; values above 100 will be coerced to 100 + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListAccountIssues` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountIssues` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of issues. Format: `accounts/{account\}` + */ + parent?: string; + /** + * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in human-readable fields. For example 'America/Los_Angeles'. If not set, 'America/Los_Angeles' will be used. + */ + timeZone?: string; + } + + export class Resource$Accounts$Omnichannelsettings { + context: APIRequestContext; + lfpProviders: Resource$Accounts$Omnichannelsettings$Lfpproviders; + constructor(context: APIRequestContext) { + this.context = context; + this.lfpProviders = + new Resource$Accounts$Omnichannelsettings$Lfpproviders(this.context); + } + + /** + * Create the omnichannel settings for a given merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.omnichannelSettings.create({ + * // Required. The parent resource where this omnichannel setting will be created. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "about": {}, + * // "inStock": {}, + * // "inventoryVerification": {}, + * // "lfpLink": {}, + * // "lsfType": "my_lsfType", + * // "name": "my_name", + * // "odo": {}, + * // "pickup": {}, + * // "regionCode": "my_regionCode" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "about": {}, + * // "inStock": {}, + * // "inventoryVerification": {}, + * // "lfpLink": {}, + * // "lsfType": "my_lsfType", + * // "name": "my_name", + * // "odo": {}, + * // "pickup": {}, + * // "regionCode": "my_regionCode" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Omnichannelsettings$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Omnichannelsettings$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Omnichannelsettings$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Omnichannelsettings$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Omnichannelsettings$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Omnichannelsettings$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Omnichannelsettings$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Omnichannelsettings$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/accounts/v1/{+parent}/omnichannelSettings' + ).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); + } + } + + /** + * Get the omnichannel settings for a given merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.omnichannelSettings.get({ + * // Required. The name of the omnichannel setting to retrieve. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}` + * name: 'accounts/my-account/omnichannelSettings/my-omnichannelSetting', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "about": {}, + * // "inStock": {}, + * // "inventoryVerification": {}, + * // "lfpLink": {}, + * // "lsfType": "my_lsfType", + * // "name": "my_name", + * // "odo": {}, + * // "pickup": {}, + * // "regionCode": "my_regionCode" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Omnichannelsettings$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Omnichannelsettings$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Omnichannelsettings$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Omnichannelsettings$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Omnichannelsettings$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Omnichannelsettings$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Omnichannelsettings$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Omnichannelsettings$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List all the omnichannel settings for a given merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.omnichannelSettings.list({ + * // Optional. The maximum number of omnichannel settings to return. The service may return fewer than this value. If unspecified, at most 50 omnichannel settings 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 `ListOmnichannelSettings` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListOmnichannelSettings` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of omnichannel settings. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "omnichannelSettings": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Omnichannelsettings$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Omnichannelsettings$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Omnichannelsettings$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Omnichannelsettings$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Omnichannelsettings$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Omnichannelsettings$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Omnichannelsettings$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Omnichannelsettings$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/accounts/v1/{+parent}/omnichannelSettings' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update the omnichannel setting for a given merchant in a given country. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.omnichannelSettings.patch({ + * // Identifier. The resource name of the omnichannel setting. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}` + * name: 'accounts/my-account/omnichannelSettings/my-omnichannelSetting', + * // Required. The list of fields to be updated. The following fields are supported in snake_case only: - `lsf_type` - `in_stock` - `pickup` - `odo` - `about` - `inventory_verification` Full replacement with wildcard `*`is supported, while empty/implied update mask is not. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "about": {}, + * // "inStock": {}, + * // "inventoryVerification": {}, + * // "lfpLink": {}, + * // "lsfType": "my_lsfType", + * // "name": "my_name", + * // "odo": {}, + * // "pickup": {}, + * // "regionCode": "my_regionCode" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "about": {}, + * // "inStock": {}, + * // "inventoryVerification": {}, + * // "lfpLink": {}, + * // "lsfType": "my_lsfType", + * // "name": "my_name", + * // "odo": {}, + * // "pickup": {}, + * // "regionCode": "my_regionCode" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Omnichannelsettings$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Omnichannelsettings$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Omnichannelsettings$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Omnichannelsettings$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Omnichannelsettings$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Omnichannelsettings$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Omnichannelsettings$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Omnichannelsettings$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Requests inventory verification for a given merchant in a given country. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.omnichannelSettings.requestInventoryVerification( + * { + * // Required. The name of the omnichannel setting to request inventory verification. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}` + * name: 'accounts/my-account/omnichannelSettings/my-omnichannelSetting', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "omnichannelSetting": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + requestInventoryVerification( + params: Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification, + options: StreamMethodOptions + ): Promise>; + requestInventoryVerification( + params?: Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + requestInventoryVerification( + params: Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + requestInventoryVerification( + params: Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + requestInventoryVerification( + params: Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification, + callback: BodyResponseCallback + ): void; + requestInventoryVerification( + callback: BodyResponseCallback + ): void; + requestInventoryVerification( + paramsOrCallback?: + | Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/accounts/v1/{+name}:requestInventoryVerification' + ).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$Accounts$Omnichannelsettings$Create + extends StandardParameters { + /** + * Required. The parent resource where this omnichannel setting will be created. Format: `accounts/{account\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$OmnichannelSetting; + } + export interface Params$Resource$Accounts$Omnichannelsettings$Get + extends StandardParameters { + /** + * Required. The name of the omnichannel setting to retrieve. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Omnichannelsettings$List + extends StandardParameters { + /** + * Optional. The maximum number of omnichannel settings to return. The service may return fewer than this value. If unspecified, at most 50 omnichannel settings 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 `ListOmnichannelSettings` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListOmnichannelSettings` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of omnichannel settings. Format: `accounts/{account\}` + */ + parent?: string; + } + export interface Params$Resource$Accounts$Omnichannelsettings$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the omnichannel setting. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}` + */ + name?: string; + /** + * Required. The list of fields to be updated. The following fields are supported in snake_case only: - `lsf_type` - `in_stock` - `pickup` - `odo` - `about` - `inventory_verification` Full replacement with wildcard `*`is supported, while empty/implied update mask is not. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$OmnichannelSetting; + } + export interface Params$Resource$Accounts$Omnichannelsettings$Requestinventoryverification + extends StandardParameters { + /** + * Required. The name of the omnichannel setting to request inventory verification. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RequestInventoryVerificationRequest; + } + + export class Resource$Accounts$Omnichannelsettings$Lfpproviders { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Find the LFP provider candidates in a given country. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.omnichannelSettings.lfpProviders.find({ + * // Optional. The maximum number of `LfpProvider` resources to return. The service returns fewer than this value if the number of lfp providers is less that than the `pageSize`. The default value is 50. The maximum value is 1000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `FindLfpProviders` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `FindLfpProviders` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The name of the parent resource under which the LFP providers are found. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}`. + * parent: 'accounts/my-account/omnichannelSettings/my-omnichannelSetting', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "lfpProviders": [], + * // "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. + */ + find( + params: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Find, + options: StreamMethodOptions + ): Promise>; + find( + params?: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Find, + options?: MethodOptions + ): Promise>; + find( + params: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Find, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + find( + params: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Find, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + find( + params: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Find, + callback: BodyResponseCallback + ): void; + find(callback: BodyResponseCallback): void; + find( + paramsOrCallback?: + | Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Find + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Find; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Find; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/lfpProviders:find').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); + } + } + + /** + * Link the specified merchant to a LFP provider for the specified country. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.omnichannelSettings.lfpProviders.linkLfpProvider( + * { + * // Required. The name of the LFP provider resource to link. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}/lfpProviders/{lfp_provider\}`. The `lfp_provider` is the LFP provider ID. + * name: 'accounts/my-account/omnichannelSettings/my-omnichannelSetting/lfpProviders/my-lfpProvider', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "externalAccountId": "my_externalAccountId" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "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. + */ + linkLfpProvider( + params: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider, + options: StreamMethodOptions + ): Promise>; + linkLfpProvider( + params?: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider, + options?: MethodOptions + ): Promise>; + linkLfpProvider( + params: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + linkLfpProvider( + params: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + linkLfpProvider( + params: Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider, + callback: BodyResponseCallback + ): void; + linkLfpProvider( + callback: BodyResponseCallback + ): void; + linkLfpProvider( + paramsOrCallback?: + | Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:linkLfpProvider').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$Accounts$Omnichannelsettings$Lfpproviders$Find + extends StandardParameters { + /** + * Optional. The maximum number of `LfpProvider` resources to return. The service returns fewer than this value if the number of lfp providers is less that than the `pageSize`. The default value is 50. The maximum value is 1000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `FindLfpProviders` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `FindLfpProviders` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The name of the parent resource under which the LFP providers are found. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}`. + */ + parent?: string; + } + export interface Params$Resource$Accounts$Omnichannelsettings$Lfpproviders$Linklfpprovider + extends StandardParameters { + /** + * Required. The name of the LFP provider resource to link. Format: `accounts/{account\}/omnichannelSettings/{omnichannel_setting\}/lfpProviders/{lfp_provider\}`. The `lfp_provider` is the LFP provider ID. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LinkLfpProviderRequest; + } + + export class Resource$Accounts$Onlinereturnpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new return policy for a given business. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.onlineReturnPolicies.create({ + * // Required. The Merchant Center account for which the return policy will be created. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "acceptDefectiveOnly": false, + * // "acceptExchange": false, + * // "countries": [], + * // "itemConditions": [], + * // "label": "my_label", + * // "name": "my_name", + * // "policy": {}, + * // "processRefundDays": 0, + * // "restockingFee": {}, + * // "returnLabelSource": "my_returnLabelSource", + * // "returnMethods": [], + * // "returnPolicyId": "my_returnPolicyId", + * // "returnPolicyUri": "my_returnPolicyUri", + * // "returnShippingFee": {}, + * // "seasonalOverrides": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "acceptDefectiveOnly": false, + * // "acceptExchange": false, + * // "countries": [], + * // "itemConditions": [], + * // "label": "my_label", + * // "name": "my_name", + * // "policy": {}, + * // "processRefundDays": 0, + * // "restockingFee": {}, + * // "returnLabelSource": "my_returnLabelSource", + * // "returnMethods": [], + * // "returnPolicyId": "my_returnPolicyId", + * // "returnPolicyUri": "my_returnPolicyUri", + * // "returnShippingFee": {}, + * // "seasonalOverrides": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Onlinereturnpolicies$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Onlinereturnpolicies$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Onlinereturnpolicies$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Onlinereturnpolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Onlinereturnpolicies$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Onlinereturnpolicies$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Onlinereturnpolicies$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Onlinereturnpolicies$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/accounts/v1/{+parent}/onlineReturnPolicies' + ).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 existing return policy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.onlineReturnPolicies.delete({ + * // Required. The name of the return policy to delete. Format: `accounts/{account\}/onlineReturnPolicies/{return_policy\}` + * name: 'accounts/my-account/onlineReturnPolicies/my-onlineReturnPolicie', + * }); + * 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$Accounts$Onlinereturnpolicies$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Onlinereturnpolicies$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Onlinereturnpolicies$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Onlinereturnpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Onlinereturnpolicies$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Onlinereturnpolicies$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Onlinereturnpolicies$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Onlinereturnpolicies$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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 existing return policy for a given business. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.onlineReturnPolicies.get({ + * // Required. The name of the return policy to retrieve. Format: `accounts/{account\}/onlineReturnPolicies/{return_policy\}` + * name: 'accounts/my-account/onlineReturnPolicies/my-onlineReturnPolicie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "acceptDefectiveOnly": false, + * // "acceptExchange": false, + * // "countries": [], + * // "itemConditions": [], + * // "label": "my_label", + * // "name": "my_name", + * // "policy": {}, + * // "processRefundDays": 0, + * // "restockingFee": {}, + * // "returnLabelSource": "my_returnLabelSource", + * // "returnMethods": [], + * // "returnPolicyId": "my_returnPolicyId", + * // "returnPolicyUri": "my_returnPolicyUri", + * // "returnShippingFee": {}, + * // "seasonalOverrides": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Onlinereturnpolicies$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Onlinereturnpolicies$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Onlinereturnpolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Onlinereturnpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Onlinereturnpolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Onlinereturnpolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Onlinereturnpolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Onlinereturnpolicies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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 existing return policies for a given business. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.onlineReturnPolicies.list({ + * // Optional. The maximum number of `OnlineReturnPolicy` resources to return. The service returns fewer than this value if the number of return policies for the given business is less that than the `pageSize`. The default value is 10. The maximum value is 100; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListOnlineReturnPolicies` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListOnlineReturnPolicies` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request. + * pageToken: 'placeholder-value', + * // Required. The Merchant Center account for which to list return policies. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "onlineReturnPolicies": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Onlinereturnpolicies$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Onlinereturnpolicies$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Accounts$Onlinereturnpolicies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Onlinereturnpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Onlinereturnpolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Onlinereturnpolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Onlinereturnpolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Onlinereturnpolicies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/accounts/v1/{+parent}/onlineReturnPolicies' + ).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$Accounts$Onlinereturnpolicies$Create + extends StandardParameters { + /** + * Required. The Merchant Center account for which the return policy will be created. Format: `accounts/{account\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$OnlineReturnPolicy; + } + export interface Params$Resource$Accounts$Onlinereturnpolicies$Delete + extends StandardParameters { + /** + * Required. The name of the return policy to delete. Format: `accounts/{account\}/onlineReturnPolicies/{return_policy\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Onlinereturnpolicies$Get + extends StandardParameters { + /** + * Required. The name of the return policy to retrieve. Format: `accounts/{account\}/onlineReturnPolicies/{return_policy\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Onlinereturnpolicies$List + extends StandardParameters { + /** + * Optional. The maximum number of `OnlineReturnPolicy` resources to return. The service returns fewer than this value if the number of return policies for the given business is less that than the `pageSize`. The default value is 10. The maximum value is 100; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListOnlineReturnPolicies` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListOnlineReturnPolicies` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request. + */ + pageToken?: string; + /** + * Required. The Merchant Center account for which to list return policies. Format: `accounts/{account\}` + */ + parent?: string; + } + + export class Resource$Accounts$Programs { + context: APIRequestContext; + checkoutSettings: Resource$Accounts$Programs$Checkoutsettings; + constructor(context: APIRequestContext) { + this.context = context; + this.checkoutSettings = new Resource$Accounts$Programs$Checkoutsettings( + this.context + ); + } + + /** + * Disable participation in the specified program for the account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.programs.disable({ + * // Required. The name of the program for which to disable participation for the given account. Format: `accounts/{account\}/programs/{program\}`. For example, `accounts/123456/programs/free-listings`. + * name: 'accounts/my-account/programs/my-program', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "activeRegionCodes": [], + * // "documentationUri": "my_documentationUri", + * // "name": "my_name", + * // "state": "my_state", + * // "unmetRequirements": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + disable( + params: Params$Resource$Accounts$Programs$Disable, + options: StreamMethodOptions + ): Promise>; + disable( + params?: Params$Resource$Accounts$Programs$Disable, + options?: MethodOptions + ): Promise>; + disable( + params: Params$Resource$Accounts$Programs$Disable, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + disable( + params: Params$Resource$Accounts$Programs$Disable, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + disable( + params: Params$Resource$Accounts$Programs$Disable, + callback: BodyResponseCallback + ): void; + disable(callback: BodyResponseCallback): void; + disable( + paramsOrCallback?: + | Params$Resource$Accounts$Programs$Disable + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Programs$Disable; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Programs$Disable; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:disable').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); + } + } + + /** + * Enable participation in the specified program for the account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.programs.enable({ + * // Required. The name of the program for which to enable participation for the given account. Format: `accounts/{account\}/programs/{program\}`. For example, `accounts/123456/programs/free-listings`. + * name: 'accounts/my-account/programs/my-program', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "activeRegionCodes": [], + * // "documentationUri": "my_documentationUri", + * // "name": "my_name", + * // "state": "my_state", + * // "unmetRequirements": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + enable( + params: Params$Resource$Accounts$Programs$Enable, + options: StreamMethodOptions + ): Promise>; + enable( + params?: Params$Resource$Accounts$Programs$Enable, + options?: MethodOptions + ): Promise>; + enable( + params: Params$Resource$Accounts$Programs$Enable, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enable( + params: Params$Resource$Accounts$Programs$Enable, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enable( + params: Params$Resource$Accounts$Programs$Enable, + callback: BodyResponseCallback + ): void; + enable(callback: BodyResponseCallback): void; + enable( + paramsOrCallback?: + | Params$Resource$Accounts$Programs$Enable + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Programs$Enable; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Programs$Enable; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:enable').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); + } + } + + /** + * Retrieves the specified program for the account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.programs.get({ + * // Required. The name of the program to retrieve. Format: `accounts/{account\}/programs/{program\}`. For example, `accounts/123456/programs/free-listings`. + * name: 'accounts/my-account/programs/my-program', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "activeRegionCodes": [], + * // "documentationUri": "my_documentationUri", + * // "name": "my_name", + * // "state": "my_state", + * // "unmetRequirements": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Programs$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Programs$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Programs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Programs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Programs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Programs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Programs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Programs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Retrieves all programs for the account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.programs.list({ + * // Optional. The maximum number of programs to return in a single response. If unspecified (or 0), a default size of 1000 is used. The maximum value is 1000; values above 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. A continuation token, received from a previous `ListPrograms` call. Provide this to retrieve the next page. + * pageToken: 'placeholder-value', + * // Required. The name of the account for which to retrieve all programs. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "programs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Programs$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Programs$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Programs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Programs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Programs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Programs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Programs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Programs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/programs').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$Accounts$Programs$Disable + extends StandardParameters { + /** + * Required. The name of the program for which to disable participation for the given account. Format: `accounts/{account\}/programs/{program\}`. For example, `accounts/123456/programs/free-listings`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DisableProgramRequest; + } + export interface Params$Resource$Accounts$Programs$Enable + extends StandardParameters { + /** + * Required. The name of the program for which to enable participation for the given account. Format: `accounts/{account\}/programs/{program\}`. For example, `accounts/123456/programs/free-listings`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EnableProgramRequest; + } + export interface Params$Resource$Accounts$Programs$Get + extends StandardParameters { + /** + * Required. The name of the program to retrieve. Format: `accounts/{account\}/programs/{program\}`. For example, `accounts/123456/programs/free-listings`. + */ + name?: string; + } + export interface Params$Resource$Accounts$Programs$List + extends StandardParameters { + /** + * Optional. The maximum number of programs to return in a single response. If unspecified (or 0), a default size of 1000 is used. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A continuation token, received from a previous `ListPrograms` call. Provide this to retrieve the next page. + */ + pageToken?: string; + /** + * Required. The name of the account for which to retrieve all programs. Format: `accounts/{account\}` + */ + parent?: string; + } + + export class Resource$Accounts$Programs$Checkoutsettings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates `CheckoutSettings` for the given merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.programs.checkoutSettings.create({ + * // Required. The merchant account for which the `CheckoutSettings` will be created. + * parent: 'accounts/my-account/programs/my-program', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "effectiveEnrollmentState": "my_effectiveEnrollmentState", + * // "effectiveReviewState": "my_effectiveReviewState", + * // "effectiveUriSettings": {}, + * // "eligibleDestinations": [], + * // "enrollmentState": "my_enrollmentState", + * // "name": "my_name", + * // "reviewState": "my_reviewState", + * // "uriSettings": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "effectiveEnrollmentState": "my_effectiveEnrollmentState", + * // "effectiveReviewState": "my_effectiveReviewState", + * // "effectiveUriSettings": {}, + * // "eligibleDestinations": [], + * // "enrollmentState": "my_enrollmentState", + * // "name": "my_name", + * // "reviewState": "my_reviewState", + * // "uriSettings": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Programs$Checkoutsettings$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Programs$Checkoutsettings$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Programs$Checkoutsettings$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Programs$Checkoutsettings$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/checkoutSettings').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 `CheckoutSettings` and unenrolls merchant from `Checkout` program. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.programs.checkoutSettings.deleteCheckoutSettings( + * { + * // Required. The name/identifier of the merchant account. Format: `accounts/{account\}/programs/{program\}/checkoutSettings` + * name: 'accounts/my-account/programs/my-program/checkoutSettings', + * }, + * ); + * 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. + */ + deleteCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings, + options: StreamMethodOptions + ): Promise>; + deleteCheckoutSettings( + params?: Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings, + options?: MethodOptions + ): Promise>; + deleteCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deleteCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deleteCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings, + callback: BodyResponseCallback + ): void; + deleteCheckoutSettings(callback: BodyResponseCallback): void; + deleteCheckoutSettings( + paramsOrCallback?: + | Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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 `CheckoutSettings` for the given merchant. This includes information about review state, enrollment state and URL settings. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.programs.checkoutSettings.getCheckoutSettings({ + * // Required. The name/identifier of the merchant account. Format: `accounts/{account\}/programs/{program\}/checkoutSettings` + * name: 'accounts/my-account/programs/my-program/checkoutSettings', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "effectiveEnrollmentState": "my_effectiveEnrollmentState", + * // "effectiveReviewState": "my_effectiveReviewState", + * // "effectiveUriSettings": {}, + * // "eligibleDestinations": [], + * // "enrollmentState": "my_enrollmentState", + * // "name": "my_name", + * // "reviewState": "my_reviewState", + * // "uriSettings": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings, + options: StreamMethodOptions + ): Promise>; + getCheckoutSettings( + params?: Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings, + options?: MethodOptions + ): Promise>; + getCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings, + callback: BodyResponseCallback + ): void; + getCheckoutSettings( + callback: BodyResponseCallback + ): void; + getCheckoutSettings( + paramsOrCallback?: + | Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Updates `CheckoutSettings` for the given merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.programs.checkoutSettings.updateCheckoutSettings( + * { + * // Identifier. The resource name of the program configuration settings. Format: `accounts/{account\}/programs/{program\}/checkoutSettings` + * name: 'accounts/my-account/programs/my-program/checkoutSettings', + * // Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `eligible_destinations` - `uri_settings` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "effectiveEnrollmentState": "my_effectiveEnrollmentState", + * // "effectiveReviewState": "my_effectiveReviewState", + * // "effectiveUriSettings": {}, + * // "eligibleDestinations": [], + * // "enrollmentState": "my_enrollmentState", + * // "name": "my_name", + * // "reviewState": "my_reviewState", + * // "uriSettings": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "effectiveEnrollmentState": "my_effectiveEnrollmentState", + * // "effectiveReviewState": "my_effectiveReviewState", + * // "effectiveUriSettings": {}, + * // "eligibleDestinations": [], + * // "enrollmentState": "my_enrollmentState", + * // "name": "my_name", + * // "reviewState": "my_reviewState", + * // "uriSettings": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings, + options: StreamMethodOptions + ): Promise>; + updateCheckoutSettings( + params?: Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings, + options?: MethodOptions + ): Promise>; + updateCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateCheckoutSettings( + params: Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings, + callback: BodyResponseCallback + ): void; + updateCheckoutSettings( + callback: BodyResponseCallback + ): void; + updateCheckoutSettings( + paramsOrCallback?: + | Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Programs$Checkoutsettings$Create + extends StandardParameters { + /** + * Required. The merchant account for which the `CheckoutSettings` will be created. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CheckoutSettings; + } + export interface Params$Resource$Accounts$Programs$Checkoutsettings$Deletecheckoutsettings + extends StandardParameters { + /** + * Required. The name/identifier of the merchant account. Format: `accounts/{account\}/programs/{program\}/checkoutSettings` + */ + name?: string; + } + export interface Params$Resource$Accounts$Programs$Checkoutsettings$Getcheckoutsettings + extends StandardParameters { + /** + * Required. The name/identifier of the merchant account. Format: `accounts/{account\}/programs/{program\}/checkoutSettings` + */ + name?: string; + } + export interface Params$Resource$Accounts$Programs$Checkoutsettings$Updatecheckoutsettings + extends StandardParameters { + /** + * Identifier. The resource name of the program configuration settings. Format: `accounts/{account\}/programs/{program\}/checkoutSettings` + */ + name?: string; + /** + * Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `eligible_destinations` - `uri_settings` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CheckoutSettings; + } + + export class Resource$Accounts$Regions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a region definition in your Merchant Center account. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.regions.create({ + * // Required. The account to create a region for. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * // Required. The identifier for the region, unique over all regions of the same account. + * regionId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "displayName": "my_displayName", + * // "geotargetArea": {}, + * // "name": "my_name", + * // "postalCodeArea": {}, + * // "regionalInventoryEligible": false, + * // "shippingEligible": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "geotargetArea": {}, + * // "name": "my_name", + * // "postalCodeArea": {}, + * // "regionalInventoryEligible": false, + * // "shippingEligible": false + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Regions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Regions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Regions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Regions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Regions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Regions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Regions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Regions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/regions').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 region definition from your Merchant Center account. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.regions.delete({ + * // Required. The name of the region to delete. Format: `accounts/{account\}/regions/{region\}` + * name: 'accounts/my-account/regions/my-region', + * }); + * 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$Accounts$Regions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Regions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Regions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Regions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Regions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Regions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Regions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Regions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a region defined in your Merchant Center account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.regions.get({ + * // Required. The name of the region to retrieve. Format: `accounts/{account\}/regions/{region\}` + * name: 'accounts/my-account/regions/my-region', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "geotargetArea": {}, + * // "name": "my_name", + * // "postalCodeArea": {}, + * // "regionalInventoryEligible": false, + * // "shippingEligible": false + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Regions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Regions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Regions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Regions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Regions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Regions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Regions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Regions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the regions in your Merchant Center account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.regions.list({ + * // Optional. The maximum number of regions to return. The service may return fewer than this value. If unspecified, at most 50 regions 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 `ListRegions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegions` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The account to list regions for. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "regions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Regions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Regions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Regions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Regions$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Regions$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Regions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Regions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Regions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/regions').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 region definition in your Merchant Center account. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.regions.patch({ + * // Identifier. The resource name of the region. Format: `accounts/{account\}/regions/{region\}` + * name: 'accounts/my-account/regions/my-region', + * // Optional. The comma-separated field mask indicating the fields to update. Example: `"displayName,postalCodeArea.regionCode"`. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "displayName": "my_displayName", + * // "geotargetArea": {}, + * // "name": "my_name", + * // "postalCodeArea": {}, + * // "regionalInventoryEligible": false, + * // "shippingEligible": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "geotargetArea": {}, + * // "name": "my_name", + * // "postalCodeArea": {}, + * // "regionalInventoryEligible": false, + * // "shippingEligible": false + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Regions$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Regions$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Regions$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Regions$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Regions$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Regions$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Regions$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Regions$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Regions$Create + extends StandardParameters { + /** + * Required. The account to create a region for. Format: `accounts/{account\}` + */ + parent?: string; + /** + * Required. The identifier for the region, unique over all regions of the same account. + */ + regionId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Region; + } + export interface Params$Resource$Accounts$Regions$Delete + extends StandardParameters { + /** + * Required. The name of the region to delete. Format: `accounts/{account\}/regions/{region\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Regions$Get + extends StandardParameters { + /** + * Required. The name of the region to retrieve. Format: `accounts/{account\}/regions/{region\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Regions$List + extends StandardParameters { + /** + * Optional. The maximum number of regions to return. The service may return fewer than this value. If unspecified, at most 50 regions 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 `ListRegions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegions` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account to list regions for. Format: `accounts/{account\}` + */ + parent?: string; + } + export interface Params$Resource$Accounts$Regions$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the region. Format: `accounts/{account\}/regions/{region\}` + */ + name?: string; + /** + * Optional. The comma-separated field mask indicating the fields to update. Example: `"displayName,postalCodeArea.regionCode"`. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Region; + } + + export class Resource$Accounts$Relationships { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieve an account relationship. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.relationships.get({ + * // Required. The resource name of the account relationship to get. Format: `accounts/{account\}/relationships/{relationship\}`. For example, `accounts/123456/relationships/567890`. + * name: 'accounts/my-account/relationships/my-relationship', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountIdAlias": "my_accountIdAlias", + * // "name": "my_name", + * // "provider": "my_provider", + * // "providerDisplayName": "my_providerDisplayName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Relationships$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Relationships$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Relationships$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Relationships$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Relationships$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Relationships$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Relationships$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Relationships$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List account relationships for the specified account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.relationships.list({ + * // Optional. The maximum number of elements to return in the response. Use for paging. If no `page_size` is specified, `100` is used as the default value. The maximum allowed value is `1000`. + * pageSize: 'placeholder-value', + * // Optional. The token returned by the previous `list` request. + * pageToken: 'placeholder-value', + * // Required. The parent account of the account relationship to filter by. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountRelationships": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Relationships$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Relationships$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Accounts$Relationships$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Relationships$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Relationships$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Relationships$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Relationships$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Relationships$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/relationships').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 account relationship. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.relationships.patch({ + * // Identifier. The resource name of the account relationship. Format: `accounts/{account\}/relationships/{relationship\}`. For example, `accounts/123456/relationships/567890`. + * name: 'accounts/my-account/relationships/my-relationship', + * // Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_id_alias` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accountIdAlias": "my_accountIdAlias", + * // "name": "my_name", + * // "provider": "my_provider", + * // "providerDisplayName": "my_providerDisplayName" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountIdAlias": "my_accountIdAlias", + * // "name": "my_name", + * // "provider": "my_provider", + * // "providerDisplayName": "my_providerDisplayName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Relationships$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Relationships$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Relationships$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Relationships$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Relationships$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Relationships$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Relationships$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Relationships$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Relationships$Get + extends StandardParameters { + /** + * Required. The resource name of the account relationship to get. Format: `accounts/{account\}/relationships/{relationship\}`. For example, `accounts/123456/relationships/567890`. + */ + name?: string; + } + export interface Params$Resource$Accounts$Relationships$List + extends StandardParameters { + /** + * Optional. The maximum number of elements to return in the response. Use for paging. If no `page_size` is specified, `100` is used as the default value. The maximum allowed value is `1000`. + */ + pageSize?: number; + /** + * Optional. The token returned by the previous `list` request. + */ + pageToken?: string; + /** + * Required. The parent account of the account relationship to filter by. Format: `accounts/{account\}` + */ + parent?: string; + } + export interface Params$Resource$Accounts$Relationships$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the account relationship. Format: `accounts/{account\}/relationships/{relationship\}`. For example, `accounts/123456/relationships/567890`. + */ + name?: string; + /** + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_id_alias` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AccountRelationship; + } + + export class Resource$Accounts$Services { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Approve an account service proposal. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.services.approve({ + * // Required. The resource name of the account service to approve. Format: `accounts/{account\}/services/{service\}` + * name: 'accounts/my-account/services/my-service', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountAggregation": {}, + * // "accountManagement": {}, + * // "campaignsManagement": {}, + * // "externalAccountId": "my_externalAccountId", + * // "handshake": {}, + * // "localListingManagement": {}, + * // "mutability": "my_mutability", + * // "name": "my_name", + * // "productsManagement": {}, + * // "provider": "my_provider", + * // "providerDisplayName": "my_providerDisplayName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + approve( + params: Params$Resource$Accounts$Services$Approve, + options: StreamMethodOptions + ): Promise>; + approve( + params?: Params$Resource$Accounts$Services$Approve, + options?: MethodOptions + ): Promise>; + approve( + params: Params$Resource$Accounts$Services$Approve, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + approve( + params: Params$Resource$Accounts$Services$Approve, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + approve( + params: Params$Resource$Accounts$Services$Approve, + callback: BodyResponseCallback + ): void; + approve(callback: BodyResponseCallback): void; + approve( + paramsOrCallback?: + | Params$Resource$Accounts$Services$Approve + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Services$Approve; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Services$Approve; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:approve').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); + } + } + + /** + * Retrieve an account service. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.services.get({ + * // Required. The resource name of the account service to get. Format: `accounts/{account\}/services/{service\}` + * name: 'accounts/my-account/services/my-service', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountAggregation": {}, + * // "accountManagement": {}, + * // "campaignsManagement": {}, + * // "externalAccountId": "my_externalAccountId", + * // "handshake": {}, + * // "localListingManagement": {}, + * // "mutability": "my_mutability", + * // "name": "my_name", + * // "productsManagement": {}, + * // "provider": "my_provider", + * // "providerDisplayName": "my_providerDisplayName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Services$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Services$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Services$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Services$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Services$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Services$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Services$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Services$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List account services for the specified accounts. Supports filtering. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.services.list({ + * // Optional. The maximum number of elements to return in the response. Use for paging. If no `page_size` is specified, `100` is used as the default value. The maximum allowed value is `1000`. + * pageSize: 'placeholder-value', + * // Optional. The token returned by the previous `list` request. + * pageToken: 'placeholder-value', + * // Required. The parent account of the account service to filter by. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountServices": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Services$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Services$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Services$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Services$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Services$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Services$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Services$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Services$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/services').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); + } + } + + /** + * Propose an account service. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.services.propose({ + * // Required. The resource name of the parent account for the service. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accountService": {}, + * // "provider": "my_provider" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accountAggregation": {}, + * // "accountManagement": {}, + * // "campaignsManagement": {}, + * // "externalAccountId": "my_externalAccountId", + * // "handshake": {}, + * // "localListingManagement": {}, + * // "mutability": "my_mutability", + * // "name": "my_name", + * // "productsManagement": {}, + * // "provider": "my_provider", + * // "providerDisplayName": "my_providerDisplayName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + propose( + params: Params$Resource$Accounts$Services$Propose, + options: StreamMethodOptions + ): Promise>; + propose( + params?: Params$Resource$Accounts$Services$Propose, + options?: MethodOptions + ): Promise>; + propose( + params: Params$Resource$Accounts$Services$Propose, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + propose( + params: Params$Resource$Accounts$Services$Propose, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + propose( + params: Params$Resource$Accounts$Services$Propose, + callback: BodyResponseCallback + ): void; + propose(callback: BodyResponseCallback): void; + propose( + paramsOrCallback?: + | Params$Resource$Accounts$Services$Propose + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Services$Propose; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Services$Propose; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/services:propose').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); + } + } + + /** + * Reject an account service (both proposed and approve services can be rejected). + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.services.reject({ + * // Required. The resource name of the account service to reject. Format: `accounts/{account\}/services/{service\}` + * name: 'accounts/my-account/services/my-service', + * + * // 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. + */ + reject( + params: Params$Resource$Accounts$Services$Reject, + options: StreamMethodOptions + ): Promise>; + reject( + params?: Params$Resource$Accounts$Services$Reject, + options?: MethodOptions + ): Promise>; + reject( + params: Params$Resource$Accounts$Services$Reject, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + reject( + params: Params$Resource$Accounts$Services$Reject, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + reject( + params: Params$Resource$Accounts$Services$Reject, + callback: BodyResponseCallback + ): void; + reject(callback: BodyResponseCallback): void; + reject( + paramsOrCallback?: + | Params$Resource$Accounts$Services$Reject + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Services$Reject; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Services$Reject; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:reject').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$Accounts$Services$Approve + extends StandardParameters { + /** + * Required. The resource name of the account service to approve. Format: `accounts/{account\}/services/{service\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ApproveAccountServiceRequest; + } + export interface Params$Resource$Accounts$Services$Get + extends StandardParameters { + /** + * Required. The resource name of the account service to get. Format: `accounts/{account\}/services/{service\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Services$List + extends StandardParameters { + /** + * Optional. The maximum number of elements to return in the response. Use for paging. If no `page_size` is specified, `100` is used as the default value. The maximum allowed value is `1000`. + */ + pageSize?: number; + /** + * Optional. The token returned by the previous `list` request. + */ + pageToken?: string; + /** + * Required. The parent account of the account service to filter by. Format: `accounts/{account\}` + */ + parent?: string; + } + export interface Params$Resource$Accounts$Services$Propose + extends StandardParameters { + /** + * Required. The resource name of the parent account for the service. Format: `accounts/{account\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProposeAccountServiceRequest; + } + export interface Params$Resource$Accounts$Services$Reject + extends StandardParameters { + /** + * Required. The resource name of the account service to reject. Format: `accounts/{account\}/services/{service\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RejectAccountServiceRequest; + } + + export class Resource$Accounts$Shippingsettings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieve shipping setting information. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.shippingSettings.getShippingSettings({ + * // Required. The name of the shipping setting to retrieve. Format: `accounts/{account\}/shippingsettings` + * name: 'accounts/my-account/shippingSettings', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "name": "my_name", + * // "services": [], + * // "warehouses": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getShippingSettings( + params: Params$Resource$Accounts$Shippingsettings$Getshippingsettings, + options: StreamMethodOptions + ): Promise>; + getShippingSettings( + params?: Params$Resource$Accounts$Shippingsettings$Getshippingsettings, + options?: MethodOptions + ): Promise>; + getShippingSettings( + params: Params$Resource$Accounts$Shippingsettings$Getshippingsettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getShippingSettings( + params: Params$Resource$Accounts$Shippingsettings$Getshippingsettings, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getShippingSettings( + params: Params$Resource$Accounts$Shippingsettings$Getshippingsettings, + callback: BodyResponseCallback + ): void; + getShippingSettings( + callback: BodyResponseCallback + ): void; + getShippingSettings( + paramsOrCallback?: + | Params$Resource$Accounts$Shippingsettings$Getshippingsettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Shippingsettings$Getshippingsettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Shippingsettings$Getshippingsettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Replace the shipping setting of a business with the request shipping setting. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.shippingSettings.insert({ + * // Required. The account for which this shipping setting will be inserted. If you are using an advanced account, you must specify the unique identifier of the sub-account for which you want to insert the shipping setting. Format: `accounts/{ACCOUNT_ID\}` + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "etag": "my_etag", + * // "name": "my_name", + * // "services": [], + * // "warehouses": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "name": "my_name", + * // "services": [], + * // "warehouses": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Accounts$Shippingsettings$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Accounts$Shippingsettings$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Accounts$Shippingsettings$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Shippingsettings$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Shippingsettings$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Accounts$Shippingsettings$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Shippingsettings$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Shippingsettings$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/accounts/v1/{+parent}/shippingSettings:insert' + ).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$Accounts$Shippingsettings$Getshippingsettings + extends StandardParameters { + /** + * Required. The name of the shipping setting to retrieve. Format: `accounts/{account\}/shippingsettings` + */ + name?: string; + } + export interface Params$Resource$Accounts$Shippingsettings$Insert + extends StandardParameters { + /** + * Required. The account for which this shipping setting will be inserted. If you are using an advanced account, you must specify the unique identifier of the sub-account for which you want to insert the shipping setting. Format: `accounts/{ACCOUNT_ID\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ShippingSettings; + } + + export class Resource$Accounts$Termsofserviceagreementstates { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the state of a terms of service agreement. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.termsOfServiceAgreementStates.get({ + * // Required. The resource name of the terms of service version. Format: `accounts/{account\}/termsOfServiceAgreementStates/{identifier\}` The identifier format is: `{TermsOfServiceKind\}-{country\}` + * name: 'accounts/my-account/termsOfServiceAgreementStates/my-termsOfServiceAgreementState', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accepted": {}, + * // "name": "my_name", + * // "regionCode": "my_regionCode", + * // "required": {}, + * // "termsOfServiceKind": "my_termsOfServiceKind" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Termsofserviceagreementstates$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Termsofserviceagreementstates$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Termsofserviceagreementstates$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Termsofserviceagreementstates$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Termsofserviceagreementstates$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Termsofserviceagreementstates$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Termsofserviceagreementstates$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Termsofserviceagreementstates$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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 + ); + } + } + + /** + * Retrieves the state of the agreement for the application terms of service. Application terms of service covers permissions related to the usage of data provided through Merchant Center, CSS Center, Manufacturer Center, and more. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await merchantapi.accounts.termsOfServiceAgreementStates.retrieveForApplication( + * { + * // Required. The account for which to get a TermsOfServiceAgreementState Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "accepted": {}, + * // "name": "my_name", + * // "regionCode": "my_regionCode", + * // "required": {}, + * // "termsOfServiceKind": "my_termsOfServiceKind" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveForApplication( + params: Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication, + options: StreamMethodOptions + ): Promise>; + retrieveForApplication( + params?: Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication, + options?: MethodOptions + ): Promise>; + retrieveForApplication( + params: Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveForApplication( + params: Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveForApplication( + params: Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication, + callback: BodyResponseCallback + ): void; + retrieveForApplication( + callback: BodyResponseCallback + ): void; + retrieveForApplication( + paramsOrCallback?: + | Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/accounts/v1/{+parent}/termsOfServiceAgreementStates:retrieveForApplication' + ).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$Accounts$Termsofserviceagreementstates$Get + extends StandardParameters { + /** + * Required. The resource name of the terms of service version. Format: `accounts/{account\}/termsOfServiceAgreementStates/{identifier\}` The identifier format is: `{TermsOfServiceKind\}-{country\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Termsofserviceagreementstates$Retrieveforapplication + extends StandardParameters { + /** + * Required. The account for which to get a TermsOfServiceAgreementState Format: `accounts/{account\}` + */ + parent?: string; + } + + export class Resource$Accounts$Users { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a Merchant Center account user. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.users.create({ + * // Required. The resource name of the account for which a user will be created. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * // Required. The email address of the user (for example, `john.doe@gmail.com`). + * userId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessRights": [], + * // "name": "my_name", + * // "state": "my_state" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessRights": [], + * // "name": "my_name", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Users$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Users$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Users$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Users$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Users$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Users$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Users$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Users$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/users').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 Merchant Center account user. Executing this method requires admin access. The user to be deleted can't be the last admin user of that account. Also a user is protected from deletion if it is managed by Business Manager" + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.users.delete({ + * // Required. The name of the user to delete. Format: `accounts/{account\}/users/{email\}` It is also possible to delete the user corresponding to the caller by using `me` rather than an email address as in `accounts/{account\}/users/me`. + * name: 'accounts/my-account/users/my-user', + * }); + * 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$Accounts$Users$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Users$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Users$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Users$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Users$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Users$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Users$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Users$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a Merchant Center account user. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.users.get({ + * // Required. The name of the user to retrieve. Format: `accounts/{account\}/users/{email\}` It is also possible to retrieve the user corresponding to the caller by using `me` rather than an email address as in `accounts/{account\}/users/me`. + * name: 'accounts/my-account/users/my-user', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessRights": [], + * // "name": "my_name", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Users$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Users$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Users$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Users$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Users$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Users$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Users$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Users$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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 users of a Merchant Center account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.users.list({ + * // Optional. The maximum number of users to return. The service may return fewer than this value. If unspecified, at most 50 users will be returned. The maximum value is 100; values above 100 will be coerced to 100 + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUsers` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of users. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "users": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Users$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Users$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Users$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Users$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Users$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Users$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Users$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Users$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+parent}/users').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 Merchant Center account user. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.users.patch({ + * // Identifier. The resource name of the user. Format: `accounts/{account\}/user/{email\}` Use `me` to refer to your own email address, for example `accounts/{account\}/users/me`. + * name: 'accounts/my-account/users/my-user', + * // Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `access_rights` + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessRights": [], + * // "name": "my_name", + * // "state": "my_state" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessRights": [], + * // "name": "my_name", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Users$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Users$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Users$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Users$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Users$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Users$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Users$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Users$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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$Accounts$Users$Create + extends StandardParameters { + /** + * Required. The resource name of the account for which a user will be created. Format: `accounts/{account\}` + */ + parent?: string; + /** + * Required. The email address of the user (for example, `john.doe@gmail.com`). + */ + userId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$User; + } + export interface Params$Resource$Accounts$Users$Delete + extends StandardParameters { + /** + * Required. The name of the user to delete. Format: `accounts/{account\}/users/{email\}` It is also possible to delete the user corresponding to the caller by using `me` rather than an email address as in `accounts/{account\}/users/me`. + */ + name?: string; + } + export interface Params$Resource$Accounts$Users$Get + extends StandardParameters { + /** + * Required. The name of the user to retrieve. Format: `accounts/{account\}/users/{email\}` It is also possible to retrieve the user corresponding to the caller by using `me` rather than an email address as in `accounts/{account\}/users/me`. + */ + name?: string; + } + export interface Params$Resource$Accounts$Users$List + extends StandardParameters { + /** + * Optional. The maximum number of users to return. The service may return fewer than this value. If unspecified, at most 50 users will be returned. The maximum value is 100; values above 100 will be coerced to 100 + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUsers` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of users. Format: `accounts/{account\}` + */ + parent?: string; + } + export interface Params$Resource$Accounts$Users$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the user. Format: `accounts/{account\}/user/{email\}` Use `me` to refer to your own email address, for example `accounts/{account\}/users/me`. + */ + name?: string; + /** + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `access_rights` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$User; + } + + export class Resource$Termsofservice { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Accepts a `TermsOfService`. Executing this method requires admin access. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.termsOfService.accept({ + * // Required. The account for which to accept the ToS. Format: `accounts/{account\}` + * account: 'placeholder-value', + * // Required. The resource name of the terms of service version. Format: `termsOfService/{version\}` + * name: 'termsOfService/[^/]+', + * // Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country when the ToS applies specifically to that country or 001 when it applies globally. + * regionCode: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "termsOfServiceAgreementState": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + accept( + params: Params$Resource$Termsofservice$Accept, + options: StreamMethodOptions + ): Promise>; + accept( + params?: Params$Resource$Termsofservice$Accept, + options?: MethodOptions + ): Promise>; + accept( + params: Params$Resource$Termsofservice$Accept, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + accept( + params: Params$Resource$Termsofservice$Accept, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + accept( + params: Params$Resource$Termsofservice$Accept, + callback: BodyResponseCallback + ): void; + accept( + callback: BodyResponseCallback + ): void; + accept( + paramsOrCallback?: + | Params$Resource$Termsofservice$Accept + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Termsofservice$Accept; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Termsofservice$Accept; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/v1/{+name}:accept').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 + ); + } + } + + /** + * Retrieves the `TermsOfService` associated with the provided version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.termsOfService.get({ + * // Required. The resource name of the terms of service version. Format: `termsOfService/{version\}` + * name: 'termsOfService/[^/]+', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "external": false, + * // "fileUri": "my_fileUri", + * // "kind": "my_kind", + * // "name": "my_name", + * // "regionCode": "my_regionCode" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Termsofservice$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Termsofservice$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Termsofservice$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Termsofservice$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Termsofservice$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Termsofservice$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Termsofservice$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Termsofservice$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/accounts/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); + } + } + + /** + * Retrieves the latest version of the `TermsOfService` for a given `kind` and `region_code`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('accounts_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.termsOfService.retrieveLatest({ + * // Required. The Kind this terms of service version applies to. + * kind: 'placeholder-value', + * // Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country when the ToS applies specifically to that country or 001 when it applies globally. + * regionCode: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "external": false, + * // "fileUri": "my_fileUri", + * // "kind": "my_kind", + * // "name": "my_name", + * // "regionCode": "my_regionCode" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveLatest( + params: Params$Resource$Termsofservice$Retrievelatest, + options: StreamMethodOptions + ): Promise>; + retrieveLatest( + params?: Params$Resource$Termsofservice$Retrievelatest, + options?: MethodOptions + ): Promise>; + retrieveLatest( + params: Params$Resource$Termsofservice$Retrievelatest, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveLatest( + params: Params$Resource$Termsofservice$Retrievelatest, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveLatest( + params: Params$Resource$Termsofservice$Retrievelatest, + callback: BodyResponseCallback + ): void; + retrieveLatest(callback: BodyResponseCallback): void; + retrieveLatest( + paramsOrCallback?: + | Params$Resource$Termsofservice$Retrievelatest + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Termsofservice$Retrievelatest; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Termsofservice$Retrievelatest; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/accounts/v1/termsOfService:retrieveLatest' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Termsofservice$Accept + extends StandardParameters { + /** + * Required. The account for which to accept the ToS. Format: `accounts/{account\}` + */ + account?: string; + /** + * Required. The resource name of the terms of service version. Format: `termsOfService/{version\}` + */ + name?: string; + /** + * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country when the ToS applies specifically to that country or 001 when it applies globally. + */ + regionCode?: string; + } + export interface Params$Resource$Termsofservice$Get + extends StandardParameters { + /** + * Required. The resource name of the terms of service version. Format: `termsOfService/{version\}` + */ + name?: string; + } + export interface Params$Resource$Termsofservice$Retrievelatest + extends StandardParameters { + /** + * Required. The Kind this terms of service version applies to. + */ + kind?: string; + /** + * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a country when the ToS applies specifically to that country or 001 when it applies globally. + */ + regionCode?: string; + } +} diff --git a/src/apis/merchantapi/accounts_v1beta.ts b/src/apis/merchantapi/accounts_v1beta.ts index ff721fb24d..fdc2342411 100644 --- a/src/apis/merchantapi/accounts_v1beta.ts +++ b/src/apis/merchantapi/accounts_v1beta.ts @@ -127,7 +127,7 @@ export namespace merchantapi_accounts_v1beta { } /** - * Collection of information related to the about page ([impressum](https://support.google.com/merchants/answer/14675634?hl=en&ref_topic=15145634&sjid=6892280366904591178-NC)). + * Collection of information related to the about page ([impressum](https://support.google.com/merchants/answer/14675634?ref_topic=15145634&sjid=6892280366904591178-NC)). */ export interface Schema$About { /** @@ -953,7 +953,7 @@ export namespace merchantapi_accounts_v1beta { uri?: string | null; } /** - * Collection of information related to [inventory verification](https://support.google.com/merchants/answer/14684499?hl=en&ref_topic=15145634&sjid=6892280366904591178-NC). + * Collection of information related to [inventory verification](https://support.google.com/merchants/answer/14684499?ref_topic=15145634&sjid=6892280366904591178-NC). */ export interface Schema$InventoryVerification { /** @@ -1306,7 +1306,7 @@ export namespace merchantapi_accounts_v1beta { regionCode?: string | null; } /** - * Collection of information related to the on display to order ([ODO](https://support.google.com/merchants/answer/14615056?hl=en&ref_topic=15145747&sjid=6892280366904591178-NC)). + * Collection of information related to the on display to order ([ODO](https://support.google.com/merchants/answer/14615056?ref_topic=15145747&sjid=6892280366904591178-NC)). */ export interface Schema$OnDisplayToOrder { /** diff --git a/src/apis/merchantapi/conversions_v1.ts b/src/apis/merchantapi/conversions_v1.ts new file mode 100644 index 0000000000..3061aba294 --- /dev/null +++ b/src/apis/merchantapi/conversions_v1.ts @@ -0,0 +1,1284 @@ +// 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 merchantapi_conversions_v1 { + export interface Options extends GlobalOptions { + version: 'conversions_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('conversions_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * Represents attribution settings for conversion sources receiving pre-attribution data. + */ + export interface Schema$AttributionSettings { + /** + * Required. Lookback window (in days) used for attribution in this source. Supported values are `7`, `30` & `40`. + */ + attributionLookbackWindowDays?: number | null; + /** + * Required. Attribution model. + */ + attributionModel?: string | null; + /** + * Immutable. Unordered list. List of different conversion types a conversion event can be classified as. A standard "purchase" type will be automatically created if this list is empty at creation time. + */ + conversionType?: Schema$ConversionType[]; + } + /** + * Represents a conversion source owned by a Merchant account. A merchant account can have up to 200 conversion sources. + */ + export interface Schema$ConversionSource { + /** + * Output only. Controller of the conversion source. + */ + controller?: string | null; + /** + * Output only. The time when an archived conversion source becomes permanently deleted and is no longer available to undelete. + */ + expireTime?: string | null; + /** + * Immutable. Conversion Source of type "Link to Google Analytics Property". + */ + googleAnalyticsLink?: Schema$GoogleAnalyticsLink; + /** + * Conversion Source of type "Merchant Center Tag Destination". + */ + merchantCenterDestination?: Schema$MerchantCenterDestination; + /** + * Output only. Identifier. Generated by the Content API upon creation of a new `ConversionSource`. Format: `[a-z]{4\}:.+` The four characters before the colon represent the type of conversion source. Content after the colon represents the ID of the conversion source within that type. The ID of two different conversion sources might be the same across different types. The following type prefixes are supported: * `galk`: For GoogleAnalyticsLink sources. * `mcdn`: For MerchantCenterDestination sources. + */ + name?: string | null; + /** + * Output only. Current state of this conversion source. Can't be edited through the API. + */ + state?: string | null; + } + /** + * Message representing the type of a conversion event. + */ + export interface Schema$ConversionType { + /** + * Output only. Conversion event name, as it'll be reported by the client. + */ + name?: string | null; + /** + * Output only. Option indicating if the type should be included in Merchant Center reporting. + */ + report?: boolean | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * "Google Analytics Link" sources can be used to get conversion data from an existing Google Analytics property into the linked Merchant Center account. + */ + export interface Schema$GoogleAnalyticsLink { + /** + * Output only. Attribution settings for the linked Google Analytics property. + */ + attributionSettings?: Schema$AttributionSettings; + /** + * Output only. Name of the Google Analytics property the merchant is linked to. + */ + property?: string | null; + /** + * Required. Immutable. ID of the Google Analytics property the merchant is linked to. + */ + propertyId?: string | null; + } + /** + * Response message for the ListConversionSources method. + */ + export interface Schema$ListConversionSourcesResponse { + /** + * List of conversion sources. + */ + conversionSources?: Schema$ConversionSource[]; + /** + * Token to be used to fetch the next results page. + */ + nextPageToken?: string | null; + } + /** + * "Merchant Center Destination" sources can be used to send conversion events from an online store using a Google tag directly to a Merchant Center account where the source is created. + */ + export interface Schema$MerchantCenterDestination { + /** + * Required. Attribution settings used for the Merchant Center Destination. + */ + attributionSettings?: Schema$AttributionSettings; + /** + * Required. Three-letter currency code (ISO 4217). The currency code defines in which currency the conversions sent to this destination will be reported in Merchant Center. + */ + currencyCode?: string | null; + /** + * Output only. Merchant Center Destination ID. + */ + destination?: string | null; + /** + * Required. Merchant-specified display name for the destination. This is the name that identifies the conversion source within the Merchant Center UI. The maximum length is 64 characters. + */ + displayName?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * Request message for the UndeleteConversionSource method. + */ + export interface Schema$UndeleteConversionSourceRequest {} + + export class Resource$Accounts { + context: APIRequestContext; + conversionSources: Resource$Accounts$Conversionsources; + constructor(context: APIRequestContext) { + this.context = context; + this.conversionSources = new Resource$Accounts$Conversionsources( + this.context + ); + } + } + + export class Resource$Accounts$Conversionsources { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new conversion source. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('conversions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.conversionSources.create({ + * // Required. The merchant account that will own the new conversion source. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "controller": "my_controller", + * // "expireTime": "my_expireTime", + * // "googleAnalyticsLink": {}, + * // "merchantCenterDestination": {}, + * // "name": "my_name", + * // "state": "my_state" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "controller": "my_controller", + * // "expireTime": "my_expireTime", + * // "googleAnalyticsLink": {}, + * // "merchantCenterDestination": {}, + * // "name": "my_name", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Conversionsources$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Conversionsources$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Conversionsources$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Conversionsources$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Conversionsources$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Conversionsources$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Conversionsources$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Conversionsources$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/conversions/v1/{+parent}/conversionSources' + ).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); + } + } + + /** + * Archives an existing conversion source. If the conversion source is a Merchant Center Destination, it will be recoverable for 30 days. If the conversion source is a Google Analytics Link, it will be deleted immediately and can be restored by creating a new one. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('conversions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.conversionSources.delete({ + * // Required. The name of the conversion source to be deleted. Format: `accounts/{account\}/conversionSources/{conversion_source\}` + * name: 'accounts/my-account/conversionSources/my-conversionSource', + * }); + * 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$Accounts$Conversionsources$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Conversionsources$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Conversionsources$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Conversionsources$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Conversionsources$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Conversionsources$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Conversionsources$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Conversionsources$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/conversions/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 conversion source. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('conversions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.conversionSources.get({ + * // Required. The name of the conversion source to be fetched. Format: `accounts/{account\}/conversionSources/{conversion_source\}` + * name: 'accounts/my-account/conversionSources/my-conversionSource', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "controller": "my_controller", + * // "expireTime": "my_expireTime", + * // "googleAnalyticsLink": {}, + * // "merchantCenterDestination": {}, + * // "name": "my_name", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Conversionsources$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Conversionsources$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Conversionsources$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Conversionsources$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Conversionsources$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Conversionsources$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Conversionsources$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Conversionsources$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/conversions/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); + } + } + + /** + * Retrieves the list of conversion sources the caller has access to. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('conversions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.conversionSources.list({ + * // Optional. The maximum number of conversion sources to return in a page. If no `page_size` is specified, `100` is used as the default value. The maximum value is `200`. Values above `200` will be coerced to `200`. Regardless of pagination, at most `200` conversion sources are returned in total. + * pageSize: 'placeholder-value', + * // Optional. Page token. + * pageToken: 'placeholder-value', + * // Required. The merchant account who owns the collection of conversion sources. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * // Optional. Show deleted (archived) conversion sources. By default, deleted conversion sources are not returned. + * showDeleted: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "conversionSources": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Conversionsources$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Conversionsources$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Conversionsources$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Conversionsources$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Conversionsources$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Conversionsources$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Conversionsources$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Conversionsources$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/conversions/v1/{+parent}/conversionSources' + ).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 information of an existing conversion source. Available only for Merchant Center Destination conversion sources. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('conversions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.conversionSources.patch({ + * // Output only. Identifier. Generated by the Content API upon creation of a new `ConversionSource`. Format: `[a-z]{4\}:.+` The four characters before the colon represent the type of conversion source. Content after the colon represents the ID of the conversion source within that type. The ID of two different conversion sources might be the same across different types. The following type prefixes are supported: * `galk`: For GoogleAnalyticsLink sources. * `mcdn`: For MerchantCenterDestination sources. + * name: 'accounts/my-account/conversionSources/my-conversionSource', + * // Optional. List of fields being updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "controller": "my_controller", + * // "expireTime": "my_expireTime", + * // "googleAnalyticsLink": {}, + * // "merchantCenterDestination": {}, + * // "name": "my_name", + * // "state": "my_state" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "controller": "my_controller", + * // "expireTime": "my_expireTime", + * // "googleAnalyticsLink": {}, + * // "merchantCenterDestination": {}, + * // "name": "my_name", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Conversionsources$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Conversionsources$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Conversionsources$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Conversionsources$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Conversionsources$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Conversionsources$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Conversionsources$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Conversionsources$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/conversions/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); + } + } + + /** + * Re-enables an archived conversion source. Only Available for Merchant Center Destination conversion sources. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('conversions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.conversionSources.undelete({ + * // Required. The name of the conversion source to be undeleted. Format: `accounts/{account\}/conversionSources/{conversion_source\}` + * name: 'accounts/my-account/conversionSources/my-conversionSource', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "controller": "my_controller", + * // "expireTime": "my_expireTime", + * // "googleAnalyticsLink": {}, + * // "merchantCenterDestination": {}, + * // "name": "my_name", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + undelete( + params: Params$Resource$Accounts$Conversionsources$Undelete, + options: StreamMethodOptions + ): Promise>; + undelete( + params?: Params$Resource$Accounts$Conversionsources$Undelete, + options?: MethodOptions + ): Promise>; + undelete( + params: Params$Resource$Accounts$Conversionsources$Undelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + undelete( + params: Params$Resource$Accounts$Conversionsources$Undelete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + undelete( + params: Params$Resource$Accounts$Conversionsources$Undelete, + callback: BodyResponseCallback + ): void; + undelete(callback: BodyResponseCallback): void; + undelete( + paramsOrCallback?: + | Params$Resource$Accounts$Conversionsources$Undelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Conversionsources$Undelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Conversionsources$Undelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/conversions/v1/{+name}:undelete').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$Accounts$Conversionsources$Create + extends StandardParameters { + /** + * Required. The merchant account that will own the new conversion source. Format: `accounts/{account\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ConversionSource; + } + export interface Params$Resource$Accounts$Conversionsources$Delete + extends StandardParameters { + /** + * Required. The name of the conversion source to be deleted. Format: `accounts/{account\}/conversionSources/{conversion_source\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Conversionsources$Get + extends StandardParameters { + /** + * Required. The name of the conversion source to be fetched. Format: `accounts/{account\}/conversionSources/{conversion_source\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Conversionsources$List + extends StandardParameters { + /** + * Optional. The maximum number of conversion sources to return in a page. If no `page_size` is specified, `100` is used as the default value. The maximum value is `200`. Values above `200` will be coerced to `200`. Regardless of pagination, at most `200` conversion sources are returned in total. + */ + pageSize?: number; + /** + * Optional. Page token. + */ + pageToken?: string; + /** + * Required. The merchant account who owns the collection of conversion sources. Format: `accounts/{account\}` + */ + parent?: string; + /** + * Optional. Show deleted (archived) conversion sources. By default, deleted conversion sources are not returned. + */ + showDeleted?: boolean; + } + export interface Params$Resource$Accounts$Conversionsources$Patch + extends StandardParameters { + /** + * Output only. Identifier. Generated by the Content API upon creation of a new `ConversionSource`. Format: `[a-z]{4\}:.+` The four characters before the colon represent the type of conversion source. Content after the colon represents the ID of the conversion source within that type. The ID of two different conversion sources might be the same across different types. The following type prefixes are supported: * `galk`: For GoogleAnalyticsLink sources. * `mcdn`: For MerchantCenterDestination sources. + */ + name?: string; + /** + * Optional. List of fields being updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ConversionSource; + } + export interface Params$Resource$Accounts$Conversionsources$Undelete + extends StandardParameters { + /** + * Required. The name of the conversion source to be undeleted. Format: `accounts/{account\}/conversionSources/{conversion_source\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteConversionSourceRequest; + } +} diff --git a/src/apis/merchantapi/datasources_v1.ts b/src/apis/merchantapi/datasources_v1.ts new file mode 100644 index 0000000000..55b5e85bc7 --- /dev/null +++ b/src/apis/merchantapi/datasources_v1.ts @@ -0,0 +1,1690 @@ +// 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 merchantapi_datasources_v1 { + export interface Options extends GlobalOptions { + version: 'datasources_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('datasources_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * The [data source](/merchant/api/guides/data-sources/overview) for the Merchant Center account. + */ + export interface Schema$DataSource { + /** + * Output only. The data source id. + */ + dataSourceId?: string | null; + /** + * Required. The displayed data source name in the Merchant Center UI. + */ + displayName?: string | null; + /** + * Optional. The field is used only when data is managed through a file. + */ + fileInput?: Schema$FileInput; + /** + * Output only. Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API. + */ + input?: string | null; + /** + * The [local inventory](https://support.google.com/merchants/answer/7023001) data source. + */ + localInventoryDataSource?: Schema$LocalInventoryDataSource; + /** + * The [merchant review](https://support.google.com/merchants/answer/7045996) data source. + */ + merchantReviewDataSource?: Schema$MerchantReviewDataSource; + /** + * Required. Identifier. The name of the data source. Format: `accounts/{account\}/dataSources/{datasource\}` + */ + name?: string | null; + /** + * The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. + */ + primaryProductDataSource?: Schema$PrimaryProductDataSource; + /** + * The [product review](https://support.google.com/merchants/answer/7045996) data source. + */ + productReviewDataSource?: Schema$ProductReviewDataSource; + /** + * The [promotion](https://support.google.com/merchants/answer/2906014) data source. + */ + promotionDataSource?: Schema$PromotionDataSource; + /** + * The [regional inventory](https://support.google.com/merchants/answer/7439058) data source. + */ + regionalInventoryDataSource?: Schema$RegionalInventoryDataSource; + /** + * The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products. + */ + supplementalProductDataSource?: Schema$SupplementalProductDataSource; + } + /** + * Data source reference can be used to manage related data sources within the data source service. + */ + export interface Schema$DataSourceReference { + /** + * Optional. The name of the primary data source. Format: `accounts/{account\}/dataSources/{datasource\}` + */ + primaryDataSourceName?: string | null; + /** + * Self should be used to reference the primary data source itself. + */ + self?: boolean | null; + /** + * Optional. The name of the supplemental data source. Format: `accounts/{account\}/dataSources/{datasource\}` + */ + supplementalDataSourceName?: string | null; + } + /** + * Default rule management of the data source. + */ + export interface Schema$DefaultRule { + /** + * Required. The list of data sources linked in the [default rule](https://support.google.com/merchants/answer/7450276). This list is ordered by the default rule priority of joining the data. It might include none or multiple references to `self` and supplemental data sources. The list must not be empty. To link the data source to the default rule, you need to add a new reference to this list (in sequential order). To unlink the data source from the default rule, you need to remove the given reference from this list. Changing the order of this list will result in changing the priority of data sources in the default rule. For example, providing the following list: [`1001`, `self`] will take attribute values from supplemental data source `1001`, and fallback to `self` if the attribute is not set in `1001`. + */ + takeFromDataSources?: Schema$DataSourceReference[]; + } + /** + * Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. + */ + export interface Schema$Destination { + /** + * [Marketing methods](https://support.google.com/merchants/answer/15130232) (also known as destination) selections. + */ + destination?: string | null; + /** + * The state of the destination. + */ + state?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * Request message for the FetchDataSource method. + */ + export interface Schema$FetchDataSourceRequest {} + /** + * Fetch details to deliver the data source. + */ + export interface Schema$FetchSettings { + /** + * Optional. The day of the month when the data source file should be fetched (1-31). This field can only be set for monthly frequency. + */ + dayOfMonth?: number | null; + /** + * Optional. The day of the week when the data source file should be fetched. This field can only be set for weekly frequency. + */ + dayOfWeek?: string | null; + /** + * Optional. Enables or pauses the fetch schedule. + */ + enabled?: boolean | null; + /** + * Optional. The URL where the data source file can be fetched. Google Merchant Center supports automatic scheduled uploads using the HTTP, HTTPS or SFTP protocols, so the value will need to be a valid link using one of those three protocols. Immutable for Google Sheets files. + */ + fetchUri?: string | null; + /** + * Required. The frequency describing fetch schedule. + */ + frequency?: string | null; + /** + * Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117). + */ + password?: string | null; + /** + * Optional. The hour of the day when the data source file should be fetched. Minutes and seconds are not supported and will be ignored. + */ + timeOfDay?: Schema$TimeOfDay; + /** + * Optional. [Time zone](https://cldr.unicode.org) used for schedule. UTC by default. For example, "America/Los_Angeles". + */ + timeZone?: string | null; + /** + * Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117). + */ + username?: string | null; + } + /** + * The data specific for file data sources. This field is empty for other data source inputs. + */ + export interface Schema$FileInput { + /** + * Optional. Fetch details to deliver the data source. It contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The required fields vary based on the frequency of fetching. + */ + fetchSettings?: Schema$FetchSettings; + /** + * Output only. The type of file input. + */ + fileInputType?: string | null; + /** + * Optional. The file name of the data source. Required for `UPLOAD` file input type. + */ + fileName?: string | null; + } + /** + * The file upload of a specific data source, that is, the result of the retrieval of the data source at a certain timestamp computed asynchronously when the data source processing is finished. Only applicable to file data sources. + */ + export interface Schema$FileUpload { + /** + * Output only. The data source id. + */ + dataSourceId?: string | null; + /** + * Output only. The list of issues occurring in the data source. + */ + issues?: Schema$Issue[]; + /** + * Output only. The number of items in the data source that were created. + */ + itemsCreated?: string | null; + /** + * Output only. The number of items in the data source that were processed. + */ + itemsTotal?: string | null; + /** + * Output only. The number of items in the data source that were updated. + */ + itemsUpdated?: string | null; + /** + * Identifier. The name of the data source file upload. Format: `{datasource.name=accounts/{account\}/dataSources/{datasource\}/fileUploads/{fileupload\}\}` + */ + name?: string | null; + /** + * Output only. The processing state of the data source. + */ + processingState?: string | null; + /** + * Output only. The date at which the file of the data source was uploaded. + */ + uploadTime?: string | null; + } + /** + * An error occurring in the data source, like "invalid price". + */ + export interface Schema$Issue { + /** + * Output only. The code of the error, for example, "validation/invalid_value". Returns "?" if the code is unknown. + */ + code?: string | null; + /** + * Output only. The number of occurrences of the error in the file upload. + */ + count?: string | null; + /** + * Output only. The error description, for example, "Your data source contains items which have too many attributes, or are too big. These items will be dropped". + */ + description?: string | null; + /** + * Output only. Link to the documentation explaining the issue in more details, if available. + */ + documentationUri?: string | null; + /** + * Output only. The severity of the issue. + */ + severity?: string | null; + /** + * Output only. The title of the issue, for example, "Item too big". + */ + title?: string | null; + } + /** + * Response message for the ListDataSources method. + */ + export interface Schema$ListDataSourcesResponse { + /** + * The data sources from the specified account. + */ + dataSources?: Schema$DataSource[]; + /** + * 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 local inventory data source type is only available for file inputs and can't be used to create API local inventory data sources. + */ + export interface Schema$LocalInventoryDataSource { + /** + * Required. Immutable. The two-letter ISO 639-1 language of the items to which the local inventory is provided. + */ + contentLanguage?: string | null; + /** + * Required. Immutable. The feed label of the offers to which the local inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). + */ + feedLabel?: string | null; + } + /** + * The merchant review data source. + */ + export interface Schema$MerchantReviewDataSource {} + /** + * The primary data source for local and online products. + */ + export interface Schema$PrimaryProductDataSource { + /** + * Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction. + */ + contentLanguage?: string | null; + /** + * Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). + */ + countries?: string[] | null; + /** + * Optional. Default rule management of the data source. If set, the linked data sources will be replaced. + */ + defaultRule?: Schema$DefaultRule; + /** + * Optional. A list of destinations describing where products of the data source can be shown. When retrieving the data source, the list contains all the destinations that can be used for the data source, including the ones that are disabled for the data source but enabled for the account. Only destinations that are enabled on the account, for example through program participation, can be enabled on the data source. If unset, during creation, the destinations will be inherited based on the account level program participation. If set, during creation or update, the data source will be set only for the specified destinations. Updating this field requires at least one destination. + */ + destinations?: Schema$Destination[]; + /** + * Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction. + */ + feedLabel?: string | null; + /** + * Optional. Immutable. Determines whether the products of this data source are **only** targeting local destinations. Legacy local products are prefixed with `local~` in the product resource ID. For example, `accounts/123/products/local~en~US~sku123`. + */ + legacyLocal?: boolean | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The product review data source. + */ + export interface Schema$ProductReviewDataSource {} + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * The promotion data source. + */ + export interface Schema$PromotionDataSource { + /** + * Required. Immutable. The two-letter ISO 639-1 language of the items in the data source. + */ + contentLanguage?: string | null; + /** + * Required. Immutable. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected [countries](https://support.google.com/merchants/answer/4588460). + */ + targetCountry?: string | null; + } + export interface Schema$RegionalInventoryDataSource { + /** + * Required. Immutable. The two-letter ISO 639-1 language of the items to which the regional inventory is provided. + */ + contentLanguage?: string | null; + /** + * Required. Immutable. The feed label of the offers to which the regional inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). + */ + feedLabel?: string | null; + } + /** + * The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources. + */ + export interface Schema$SupplementalProductDataSource { + /** + * Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction. + */ + contentLanguage?: string | null; + /** + * Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction. + */ + feedLabel?: string | null; + /** + * Output only. The (unordered and deduplicated) list of all primary data sources linked to this data source in either default or custom rules. Supplemental data source cannot be deleted before all links are removed. + */ + referencingPrimaryDataSources?: Schema$DataSourceReference[]; + } + /** + * Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. + */ + export interface Schema$TimeOfDay { + /** + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + */ + hours?: number | null; + /** + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + */ + minutes?: number | null; + /** + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + */ + nanos?: number | null; + /** + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + */ + seconds?: number | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + dataSources: Resource$Accounts$Datasources; + constructor(context: APIRequestContext) { + this.context = context; + this.dataSources = new Resource$Accounts$Datasources(this.context); + } + } + + export class Resource$Accounts$Datasources { + context: APIRequestContext; + fileUploads: Resource$Accounts$Datasources$Fileuploads; + constructor(context: APIRequestContext) { + this.context = context; + this.fileUploads = new Resource$Accounts$Datasources$Fileuploads( + this.context + ); + } + + /** + * Creates the new data source configuration for the given account. This method always creates a new data source. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('datasources_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.dataSources.create({ + * // Required. The account where this data source will be created. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataSourceId": "my_dataSourceId", + * // "displayName": "my_displayName", + * // "fileInput": {}, + * // "input": "my_input", + * // "localInventoryDataSource": {}, + * // "merchantReviewDataSource": {}, + * // "name": "my_name", + * // "primaryProductDataSource": {}, + * // "productReviewDataSource": {}, + * // "promotionDataSource": {}, + * // "regionalInventoryDataSource": {}, + * // "supplementalProductDataSource": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSourceId": "my_dataSourceId", + * // "displayName": "my_displayName", + * // "fileInput": {}, + * // "input": "my_input", + * // "localInventoryDataSource": {}, + * // "merchantReviewDataSource": {}, + * // "name": "my_name", + * // "primaryProductDataSource": {}, + * // "productReviewDataSource": {}, + * // "promotionDataSource": {}, + * // "regionalInventoryDataSource": {}, + * // "supplementalProductDataSource": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Datasources$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Datasources$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Datasources$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Datasources$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Datasources$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Datasources$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Datasources$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Datasources$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/datasources/v1/{+parent}/dataSources').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 data source from your Merchant Center account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('datasources_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.dataSources.delete({ + * // Required. The name of the data source to delete. Format: `accounts/{account\}/dataSources/{datasource\}` + * name: 'accounts/my-account/dataSources/my-dataSource', + * }); + * 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$Accounts$Datasources$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Datasources$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Datasources$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Datasources$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Datasources$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Datasources$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Datasources$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Datasources$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/datasources/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); + } + } + + /** + * Performs the data fetch immediately (even outside fetch schedule) on a data source from your Merchant Center Account. If you need to call this method more than once per day, you should use the Products service to update your product data instead. This method only works on data sources with a file input set. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('datasources_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.dataSources.fetch({ + * // Required. The name of the data source resource to fetch. Format: `accounts/{account\}/dataSources/{datasource\}` + * name: 'accounts/my-account/dataSources/my-dataSource', + * + * // 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. + */ + fetch( + params: Params$Resource$Accounts$Datasources$Fetch, + options: StreamMethodOptions + ): Promise>; + fetch( + params?: Params$Resource$Accounts$Datasources$Fetch, + options?: MethodOptions + ): Promise>; + fetch( + params: Params$Resource$Accounts$Datasources$Fetch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Accounts$Datasources$Fetch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Accounts$Datasources$Fetch, + callback: BodyResponseCallback + ): void; + fetch(callback: BodyResponseCallback): void; + fetch( + paramsOrCallback?: + | Params$Resource$Accounts$Datasources$Fetch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Datasources$Fetch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Datasources$Fetch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/datasources/v1/{+name}:fetch').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); + } + } + + /** + * Retrieves the data source configuration for the given account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('datasources_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.dataSources.get({ + * // Required. The name of the data source to retrieve. Format: `accounts/{account\}/dataSources/{datasource\}` + * name: 'accounts/my-account/dataSources/my-dataSource', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSourceId": "my_dataSourceId", + * // "displayName": "my_displayName", + * // "fileInput": {}, + * // "input": "my_input", + * // "localInventoryDataSource": {}, + * // "merchantReviewDataSource": {}, + * // "name": "my_name", + * // "primaryProductDataSource": {}, + * // "productReviewDataSource": {}, + * // "promotionDataSource": {}, + * // "regionalInventoryDataSource": {}, + * // "supplementalProductDataSource": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Datasources$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Datasources$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Datasources$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Datasources$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Datasources$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Datasources$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Datasources$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Datasources$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/datasources/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the configurations for data sources for the given account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('datasources_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.dataSources.list({ + * // Optional. The maximum number of data sources to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the maximum number of data sources will be returned. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListDataSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataSources` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The account to list data sources for. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSources": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Datasources$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Datasources$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Datasources$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Datasources$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Datasources$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Datasources$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Datasources$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Datasources$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/datasources/v1/{+parent}/dataSources').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the existing data source configuration. The fields that are set in the update mask but not provided in the resource will be deleted. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('datasources_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.dataSources.patch({ + * // Required. Identifier. The name of the data source. Format: `accounts/{account\}/dataSources/{datasource\}` + * name: 'accounts/my-account/dataSources/my-dataSource', + * // Required. The list of data source fields to be updated. Fields specified in the update mask without a value specified in the body will be deleted from the data source. Providing special "*" value for full data source replacement is not supported. For example, If you insert `updateMask=displayName` in the request, it will only update the `displayName` leaving all other fields untouched. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataSourceId": "my_dataSourceId", + * // "displayName": "my_displayName", + * // "fileInput": {}, + * // "input": "my_input", + * // "localInventoryDataSource": {}, + * // "merchantReviewDataSource": {}, + * // "name": "my_name", + * // "primaryProductDataSource": {}, + * // "productReviewDataSource": {}, + * // "promotionDataSource": {}, + * // "regionalInventoryDataSource": {}, + * // "supplementalProductDataSource": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSourceId": "my_dataSourceId", + * // "displayName": "my_displayName", + * // "fileInput": {}, + * // "input": "my_input", + * // "localInventoryDataSource": {}, + * // "merchantReviewDataSource": {}, + * // "name": "my_name", + * // "primaryProductDataSource": {}, + * // "productReviewDataSource": {}, + * // "promotionDataSource": {}, + * // "regionalInventoryDataSource": {}, + * // "supplementalProductDataSource": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Datasources$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Datasources$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Datasources$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Datasources$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Datasources$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Datasources$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Datasources$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Datasources$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/datasources/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$Accounts$Datasources$Create + extends StandardParameters { + /** + * Required. The account where this data source will be created. Format: `accounts/{account\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DataSource; + } + export interface Params$Resource$Accounts$Datasources$Delete + extends StandardParameters { + /** + * Required. The name of the data source to delete. Format: `accounts/{account\}/dataSources/{datasource\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Datasources$Fetch + extends StandardParameters { + /** + * Required. The name of the data source resource to fetch. Format: `accounts/{account\}/dataSources/{datasource\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FetchDataSourceRequest; + } + export interface Params$Resource$Accounts$Datasources$Get + extends StandardParameters { + /** + * Required. The name of the data source to retrieve. Format: `accounts/{account\}/dataSources/{datasource\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Datasources$List + extends StandardParameters { + /** + * Optional. The maximum number of data sources to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the maximum number of data sources will be returned. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListDataSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataSources` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account to list data sources for. Format: `accounts/{account\}` + */ + parent?: string; + } + export interface Params$Resource$Accounts$Datasources$Patch + extends StandardParameters { + /** + * Required. Identifier. The name of the data source. Format: `accounts/{account\}/dataSources/{datasource\}` + */ + name?: string; + /** + * Required. The list of data source fields to be updated. Fields specified in the update mask without a value specified in the body will be deleted from the data source. Providing special "*" value for full data source replacement is not supported. For example, If you insert `updateMask=displayName` in the request, it will only update the `displayName` leaving all other fields untouched. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DataSource; + } + + export class Resource$Accounts$Datasources$Fileuploads { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the latest data source file upload. Only the `latest` alias is accepted for a file upload. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('datasources_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.dataSources.fileUploads.get({ + * // Required. The name of the data source file upload to retrieve. Format: `accounts/{account\}/dataSources/{datasource\}/fileUploads/latest` + * name: 'accounts/my-account/dataSources/my-dataSource/fileUploads/my-fileUpload', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSourceId": "my_dataSourceId", + * // "issues": [], + * // "itemsCreated": "my_itemsCreated", + * // "itemsTotal": "my_itemsTotal", + * // "itemsUpdated": "my_itemsUpdated", + * // "name": "my_name", + * // "processingState": "my_processingState", + * // "uploadTime": "my_uploadTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Datasources$Fileuploads$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Datasources$Fileuploads$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Datasources$Fileuploads$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Datasources$Fileuploads$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Datasources$Fileuploads$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Datasources$Fileuploads$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Datasources$Fileuploads$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Datasources$Fileuploads$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/datasources/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Accounts$Datasources$Fileuploads$Get + extends StandardParameters { + /** + * Required. The name of the data source file upload to retrieve. Format: `accounts/{account\}/dataSources/{datasource\}/fileUploads/latest` + */ + name?: string; + } +} diff --git a/src/apis/merchantapi/index.ts b/src/apis/merchantapi/index.ts index bfbebb6778..5a90ff8e21 100644 --- a/src/apis/merchantapi/index.ts +++ b/src/apis/merchantapi/index.ts @@ -14,60 +14,112 @@ /*! THIS FILE IS AUTO-GENERATED */ import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {merchantapi_accounts_v1} from './accounts_v1'; import {merchantapi_accounts_v1beta} from './accounts_v1beta'; +import {merchantapi_conversions_v1} from './conversions_v1'; import {merchantapi_conversions_v1beta} from './conversions_v1beta'; +import {merchantapi_datasources_v1} from './datasources_v1'; import {merchantapi_datasources_v1beta} from './datasources_v1beta'; +import {merchantapi_inventories_v1} from './inventories_v1'; import {merchantapi_inventories_v1beta} from './inventories_v1beta'; +import {merchantapi_issueresolution_v1} from './issueresolution_v1'; import {merchantapi_issueresolution_v1beta} from './issueresolution_v1beta'; import {merchantapi_lfp_v1beta} from './lfp_v1beta'; +import {merchantapi_notifications_v1} from './notifications_v1'; import {merchantapi_notifications_v1beta} from './notifications_v1beta'; +import {merchantapi_ordertracking_v1} from './ordertracking_v1'; import {merchantapi_ordertracking_v1beta} from './ordertracking_v1beta'; +import {merchantapi_products_v1} from './products_v1'; import {merchantapi_products_v1beta} from './products_v1beta'; +import {merchantapi_promotions_v1} from './promotions_v1'; import {merchantapi_promotions_v1beta} from './promotions_v1beta'; +import {merchantapi_quota_v1} from './quota_v1'; import {merchantapi_quota_v1beta} from './quota_v1beta'; +import {merchantapi_reports_v1} from './reports_v1'; import {merchantapi_reports_v1beta} from './reports_v1beta'; import {merchantapi_reviews_v1beta} from './reviews_v1beta'; export const VERSIONS = { + accounts_v1: merchantapi_accounts_v1.Merchantapi, accounts_v1beta: merchantapi_accounts_v1beta.Merchantapi, + conversions_v1: merchantapi_conversions_v1.Merchantapi, conversions_v1beta: merchantapi_conversions_v1beta.Merchantapi, + datasources_v1: merchantapi_datasources_v1.Merchantapi, datasources_v1beta: merchantapi_datasources_v1beta.Merchantapi, + inventories_v1: merchantapi_inventories_v1.Merchantapi, inventories_v1beta: merchantapi_inventories_v1beta.Merchantapi, + issueresolution_v1: merchantapi_issueresolution_v1.Merchantapi, issueresolution_v1beta: merchantapi_issueresolution_v1beta.Merchantapi, lfp_v1beta: merchantapi_lfp_v1beta.Merchantapi, + notifications_v1: merchantapi_notifications_v1.Merchantapi, notifications_v1beta: merchantapi_notifications_v1beta.Merchantapi, + ordertracking_v1: merchantapi_ordertracking_v1.Merchantapi, ordertracking_v1beta: merchantapi_ordertracking_v1beta.Merchantapi, + products_v1: merchantapi_products_v1.Merchantapi, products_v1beta: merchantapi_products_v1beta.Merchantapi, + promotions_v1: merchantapi_promotions_v1.Merchantapi, promotions_v1beta: merchantapi_promotions_v1beta.Merchantapi, + quota_v1: merchantapi_quota_v1.Merchantapi, quota_v1beta: merchantapi_quota_v1beta.Merchantapi, + reports_v1: merchantapi_reports_v1.Merchantapi, reports_v1beta: merchantapi_reports_v1beta.Merchantapi, reviews_v1beta: merchantapi_reviews_v1beta.Merchantapi, }; +export function merchantapi( + version: 'accounts_v1' +): merchantapi_accounts_v1.Merchantapi; +export function merchantapi( + options: merchantapi_accounts_v1.Options +): merchantapi_accounts_v1.Merchantapi; export function merchantapi( version: 'accounts_v1beta' ): merchantapi_accounts_v1beta.Merchantapi; export function merchantapi( options: merchantapi_accounts_v1beta.Options ): merchantapi_accounts_v1beta.Merchantapi; +export function merchantapi( + version: 'conversions_v1' +): merchantapi_conversions_v1.Merchantapi; +export function merchantapi( + options: merchantapi_conversions_v1.Options +): merchantapi_conversions_v1.Merchantapi; export function merchantapi( version: 'conversions_v1beta' ): merchantapi_conversions_v1beta.Merchantapi; export function merchantapi( options: merchantapi_conversions_v1beta.Options ): merchantapi_conversions_v1beta.Merchantapi; +export function merchantapi( + version: 'datasources_v1' +): merchantapi_datasources_v1.Merchantapi; +export function merchantapi( + options: merchantapi_datasources_v1.Options +): merchantapi_datasources_v1.Merchantapi; export function merchantapi( version: 'datasources_v1beta' ): merchantapi_datasources_v1beta.Merchantapi; export function merchantapi( options: merchantapi_datasources_v1beta.Options ): merchantapi_datasources_v1beta.Merchantapi; +export function merchantapi( + version: 'inventories_v1' +): merchantapi_inventories_v1.Merchantapi; +export function merchantapi( + options: merchantapi_inventories_v1.Options +): merchantapi_inventories_v1.Merchantapi; export function merchantapi( version: 'inventories_v1beta' ): merchantapi_inventories_v1beta.Merchantapi; export function merchantapi( options: merchantapi_inventories_v1beta.Options ): merchantapi_inventories_v1beta.Merchantapi; +export function merchantapi( + version: 'issueresolution_v1' +): merchantapi_issueresolution_v1.Merchantapi; +export function merchantapi( + options: merchantapi_issueresolution_v1.Options +): merchantapi_issueresolution_v1.Merchantapi; export function merchantapi( version: 'issueresolution_v1beta' ): merchantapi_issueresolution_v1beta.Merchantapi; @@ -80,36 +132,72 @@ export function merchantapi( export function merchantapi( options: merchantapi_lfp_v1beta.Options ): merchantapi_lfp_v1beta.Merchantapi; +export function merchantapi( + version: 'notifications_v1' +): merchantapi_notifications_v1.Merchantapi; +export function merchantapi( + options: merchantapi_notifications_v1.Options +): merchantapi_notifications_v1.Merchantapi; export function merchantapi( version: 'notifications_v1beta' ): merchantapi_notifications_v1beta.Merchantapi; export function merchantapi( options: merchantapi_notifications_v1beta.Options ): merchantapi_notifications_v1beta.Merchantapi; +export function merchantapi( + version: 'ordertracking_v1' +): merchantapi_ordertracking_v1.Merchantapi; +export function merchantapi( + options: merchantapi_ordertracking_v1.Options +): merchantapi_ordertracking_v1.Merchantapi; export function merchantapi( version: 'ordertracking_v1beta' ): merchantapi_ordertracking_v1beta.Merchantapi; export function merchantapi( options: merchantapi_ordertracking_v1beta.Options ): merchantapi_ordertracking_v1beta.Merchantapi; +export function merchantapi( + version: 'products_v1' +): merchantapi_products_v1.Merchantapi; +export function merchantapi( + options: merchantapi_products_v1.Options +): merchantapi_products_v1.Merchantapi; export function merchantapi( version: 'products_v1beta' ): merchantapi_products_v1beta.Merchantapi; export function merchantapi( options: merchantapi_products_v1beta.Options ): merchantapi_products_v1beta.Merchantapi; +export function merchantapi( + version: 'promotions_v1' +): merchantapi_promotions_v1.Merchantapi; +export function merchantapi( + options: merchantapi_promotions_v1.Options +): merchantapi_promotions_v1.Merchantapi; export function merchantapi( version: 'promotions_v1beta' ): merchantapi_promotions_v1beta.Merchantapi; export function merchantapi( options: merchantapi_promotions_v1beta.Options ): merchantapi_promotions_v1beta.Merchantapi; +export function merchantapi( + version: 'quota_v1' +): merchantapi_quota_v1.Merchantapi; +export function merchantapi( + options: merchantapi_quota_v1.Options +): merchantapi_quota_v1.Merchantapi; export function merchantapi( version: 'quota_v1beta' ): merchantapi_quota_v1beta.Merchantapi; export function merchantapi( options: merchantapi_quota_v1beta.Options ): merchantapi_quota_v1beta.Merchantapi; +export function merchantapi( + version: 'reports_v1' +): merchantapi_reports_v1.Merchantapi; +export function merchantapi( + options: merchantapi_reports_v1.Options +): merchantapi_reports_v1.Merchantapi; export function merchantapi( version: 'reports_v1beta' ): merchantapi_reports_v1beta.Merchantapi; @@ -124,44 +212,77 @@ export function merchantapi( ): merchantapi_reviews_v1beta.Merchantapi; export function merchantapi< T = + | merchantapi_accounts_v1.Merchantapi | merchantapi_accounts_v1beta.Merchantapi + | merchantapi_conversions_v1.Merchantapi | merchantapi_conversions_v1beta.Merchantapi + | merchantapi_datasources_v1.Merchantapi | merchantapi_datasources_v1beta.Merchantapi + | merchantapi_inventories_v1.Merchantapi | merchantapi_inventories_v1beta.Merchantapi + | merchantapi_issueresolution_v1.Merchantapi | merchantapi_issueresolution_v1beta.Merchantapi | merchantapi_lfp_v1beta.Merchantapi + | merchantapi_notifications_v1.Merchantapi | merchantapi_notifications_v1beta.Merchantapi + | merchantapi_ordertracking_v1.Merchantapi | merchantapi_ordertracking_v1beta.Merchantapi + | merchantapi_products_v1.Merchantapi | merchantapi_products_v1beta.Merchantapi + | merchantapi_promotions_v1.Merchantapi | merchantapi_promotions_v1beta.Merchantapi + | merchantapi_quota_v1.Merchantapi | merchantapi_quota_v1beta.Merchantapi + | merchantapi_reports_v1.Merchantapi | merchantapi_reports_v1beta.Merchantapi | merchantapi_reviews_v1beta.Merchantapi, >( this: GoogleConfigurable, versionOrOptions: + | 'accounts_v1' + | merchantapi_accounts_v1.Options | 'accounts_v1beta' | merchantapi_accounts_v1beta.Options + | 'conversions_v1' + | merchantapi_conversions_v1.Options | 'conversions_v1beta' | merchantapi_conversions_v1beta.Options + | 'datasources_v1' + | merchantapi_datasources_v1.Options | 'datasources_v1beta' | merchantapi_datasources_v1beta.Options + | 'inventories_v1' + | merchantapi_inventories_v1.Options | 'inventories_v1beta' | merchantapi_inventories_v1beta.Options + | 'issueresolution_v1' + | merchantapi_issueresolution_v1.Options | 'issueresolution_v1beta' | merchantapi_issueresolution_v1beta.Options | 'lfp_v1beta' | merchantapi_lfp_v1beta.Options + | 'notifications_v1' + | merchantapi_notifications_v1.Options | 'notifications_v1beta' | merchantapi_notifications_v1beta.Options + | 'ordertracking_v1' + | merchantapi_ordertracking_v1.Options | 'ordertracking_v1beta' | merchantapi_ordertracking_v1beta.Options + | 'products_v1' + | merchantapi_products_v1.Options | 'products_v1beta' | merchantapi_products_v1beta.Options + | 'promotions_v1' + | merchantapi_promotions_v1.Options | 'promotions_v1beta' | merchantapi_promotions_v1beta.Options + | 'quota_v1' + | merchantapi_quota_v1.Options | 'quota_v1beta' | merchantapi_quota_v1beta.Options + | 'reports_v1' + | merchantapi_reports_v1.Options | 'reports_v1beta' | merchantapi_reports_v1beta.Options | 'reviews_v1beta' @@ -172,17 +293,28 @@ export function merchantapi< const auth = new AuthPlus(); export {auth}; +export {merchantapi_accounts_v1}; export {merchantapi_accounts_v1beta}; +export {merchantapi_conversions_v1}; export {merchantapi_conversions_v1beta}; +export {merchantapi_datasources_v1}; export {merchantapi_datasources_v1beta}; +export {merchantapi_inventories_v1}; export {merchantapi_inventories_v1beta}; +export {merchantapi_issueresolution_v1}; export {merchantapi_issueresolution_v1beta}; export {merchantapi_lfp_v1beta}; +export {merchantapi_notifications_v1}; export {merchantapi_notifications_v1beta}; +export {merchantapi_ordertracking_v1}; export {merchantapi_ordertracking_v1beta}; +export {merchantapi_products_v1}; export {merchantapi_products_v1beta}; +export {merchantapi_promotions_v1}; export {merchantapi_promotions_v1beta}; +export {merchantapi_quota_v1}; export {merchantapi_quota_v1beta}; +export {merchantapi_reports_v1}; export {merchantapi_reports_v1beta}; export {merchantapi_reviews_v1beta}; export { diff --git a/src/apis/merchantapi/inventories_v1.ts b/src/apis/merchantapi/inventories_v1.ts new file mode 100644 index 0000000000..316d9c4885 --- /dev/null +++ b/src/apis/merchantapi/inventories_v1.ts @@ -0,0 +1,1321 @@ +// 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 merchantapi_inventories_v1 { + export interface Options extends GlobalOptions { + version: 'inventories_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('inventories_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * 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 time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. + */ + export interface Schema$Interval { + /** + * Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. + */ + endTime?: string | null; + /** + * Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. + */ + startTime?: string | null; + } + /** + * Response message for the `ListLocalInventories` method. + */ + export interface Schema$ListLocalInventoriesResponse { + /** + * The `LocalInventory` resources for the given product from the specified account. + */ + localInventories?: Schema$LocalInventory[]; + /** + * A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for the `ListRegionalInventories` method. + */ + export interface Schema$ListRegionalInventoriesResponse { + /** + * A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The `RegionalInventory` resources for the given product from the specified account. + */ + regionalInventories?: Schema$RegionalInventory[]; + } + /** + * Local inventory information for the product. Represents in-store information for a specific product at the store specified by `storeCode`. For a list of all accepted attribute values, see the [local product inventory data specification](https://support.google.com/merchants/answer/3061342). + */ + export interface Schema$LocalInventory { + /** + * Output only. The account that owns the product. This field will be ignored if set by the client. + */ + account?: string | null; + /** + * Optional. A list of local inventory attributes. + */ + localInventoryAttributes?: Schema$LocalInventoryAttributes; + /** + * Output only. The name of the `LocalInventory` resource. Format: `accounts/{account\}/products/{product\}/localInventories/{store_code\}` + */ + name?: string | null; + /** + * 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. + */ + storeCode?: string | null; + } + /** + * Local inventory attributes. + */ + export interface Schema$LocalInventoryAttributes { + /** + * [Availability](https://support.google.com/merchants/answer/3061342) of the product at this store. + */ + availability?: string | null; + /** + * Optional. Location of the product inside the store. Maximum length is 20 bytes. + */ + instoreProductLocation?: string | null; + /** + * Optional. Supported [pickup method](https://support.google.com/merchants/answer/3061342) for this product. Unless the value is `"not supported"`, this field must be submitted together with `pickupSla`. + */ + pickupMethod?: string | null; + /** + * Optional. Relative time period from the order date for an order for this product, from this store, to be ready for pickup. Must be submitted with `pickupMethod`. See more details [here](https://support.google.com/merchants/answer/3061342). + */ + pickupSla?: string | null; + /** + * Optional. Price of the product at this store. + */ + price?: Schema$Price; + /** + * Optional. Quantity of the product available at this store. Must be greater than or equal to zero. + */ + quantity?: string | null; + /** + * Optional. Sale price of the product at this store. Mandatory if `salePriceEffectiveDate` is defined. + */ + salePrice?: Schema$Price; + /** + * Optional. The `TimePeriod` of the sale at this store. + */ + salePriceEffectiveDate?: Schema$Interval; + } + /** + * The price represented as a number and currency. + */ + export interface Schema$Price { + /** + * The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). + */ + amountMicros?: string | null; + /** + * The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). + */ + currencyCode?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * Regional inventory information for the product. Represents specific information like price and availability for a given product in a specific `region`. For a list of all accepted attribute values, see the [regional product inventory data specification](https://support.google.com/merchants/answer/9698880). + */ + export interface Schema$RegionalInventory { + /** + * Output only. The account that owns the product. This field will be ignored if set by the client. + */ + account?: string | null; + /** + * Output only. The name of the `RegionalInventory` resource. Format: `{regional_inventory.name=accounts/{account\}/products/{product\}/regionalInventories/{region\}` + */ + name?: string | null; + /** + * 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. + */ + region?: string | null; + /** + * Optional. A list of regional inventory attributes. + */ + regionalInventoryAttributes?: Schema$RegionalInventoryAttributes; + } + /** + * Regional inventory attributes. + */ + export interface Schema$RegionalInventoryAttributes { + /** + * Optional. [Availability](https://support.google.com/merchants/answer/14644124) of the product in this region. + */ + availability?: string | null; + /** + * Optional. Price of the product in this region. + */ + price?: Schema$Price; + /** + * Optional. Sale price of the product in this region. Mandatory if `salePriceEffectiveDate` is defined. + */ + salePrice?: Schema$Price; + /** + * Optional. The `TimePeriod` of the sale price in this region. + */ + salePriceEffectiveDate?: Schema$Interval; + } + + export class Resource$Accounts { + context: APIRequestContext; + products: Resource$Accounts$Products; + constructor(context: APIRequestContext) { + this.context = context; + this.products = new Resource$Accounts$Products(this.context); + } + } + + export class Resource$Accounts$Products { + context: APIRequestContext; + localInventories: Resource$Accounts$Products$Localinventories; + regionalInventories: Resource$Accounts$Products$Regionalinventories; + constructor(context: APIRequestContext) { + this.context = context; + this.localInventories = new Resource$Accounts$Products$Localinventories( + this.context + ); + this.regionalInventories = + new Resource$Accounts$Products$Regionalinventories(this.context); + } + } + + export class Resource$Accounts$Products$Localinventories { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified `LocalInventory` from the given product in your merchant account. It might take a up to an hour for the `LocalInventory` to be deleted from the specific product. Once you have received a successful delete response, wait for that period before attempting a delete again. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('inventories_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.products.localInventories.delete({ + * // Required. The name of the local inventory for the given product to delete. Format: `accounts/{account\}/products/{product\}/localInventories/{store_code\}` + * name: 'accounts/my-account/products/my-product/localInventories/my-localInventorie', + * }); + * 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$Accounts$Products$Localinventories$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Products$Localinventories$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Products$Localinventories$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Products$Localinventories$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Products$Localinventories$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Products$Localinventories$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Products$Localinventories$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Products$Localinventories$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/inventories/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); + } + } + + /** + * Inserts a `LocalInventory` resource to a product in your merchant account. Replaces the full `LocalInventory` resource if an entry with the same `storeCode` already exists for the product. It might take up to 30 minutes for the new or updated `LocalInventory` resource to appear in products. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('inventories_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.products.localInventories.insert({ + * // Required. The account and product where this inventory will be inserted. Format: `accounts/{account\}/products/{product\}` + * parent: 'accounts/my-account/products/my-product', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "account": "my_account", + * // "localInventoryAttributes": {}, + * // "name": "my_name", + * // "storeCode": "my_storeCode" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "account": "my_account", + * // "localInventoryAttributes": {}, + * // "name": "my_name", + * // "storeCode": "my_storeCode" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Accounts$Products$Localinventories$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Accounts$Products$Localinventories$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Accounts$Products$Localinventories$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Products$Localinventories$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Products$Localinventories$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Accounts$Products$Localinventories$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Products$Localinventories$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Products$Localinventories$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/inventories/v1/{+parent}/localInventories:insert' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the `LocalInventory` resources for the given product in your merchant account. The response might contain fewer items than specified by `pageSize`. If `pageToken` was returned in previous request, it can be used to obtain additional results. `LocalInventory` resources are listed per product for a given account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('inventories_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.products.localInventories.list({ + * // The maximum number of `LocalInventory` resources for the given product to return. The service returns fewer than this value if the number of inventories for the given product is less that than the `pageSize`. The default value is 25000. The maximum value is 25000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum + * pageSize: 'placeholder-value', + * // A page token, received from a previous `ListLocalInventories` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListLocalInventories` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request. + * pageToken: 'placeholder-value', + * // Required. The `name` of the parent product to list local inventories for. Format: `accounts/{account\}/products/{product\}` + * parent: 'accounts/my-account/products/my-product', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "localInventories": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Products$Localinventories$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Products$Localinventories$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Products$Localinventories$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Products$Localinventories$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Products$Localinventories$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Products$Localinventories$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Products$Localinventories$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Products$Localinventories$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/inventories/v1/{+parent}/localInventories' + ).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$Accounts$Products$Localinventories$Delete + extends StandardParameters { + /** + * Required. The name of the local inventory for the given product to delete. Format: `accounts/{account\}/products/{product\}/localInventories/{store_code\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Products$Localinventories$Insert + extends StandardParameters { + /** + * Required. The account and product where this inventory will be inserted. Format: `accounts/{account\}/products/{product\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LocalInventory; + } + export interface Params$Resource$Accounts$Products$Localinventories$List + extends StandardParameters { + /** + * The maximum number of `LocalInventory` resources for the given product to return. The service returns fewer than this value if the number of inventories for the given product is less that than the `pageSize`. The default value is 25000. The maximum value is 25000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum + */ + pageSize?: number; + /** + * A page token, received from a previous `ListLocalInventories` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListLocalInventories` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request. + */ + pageToken?: string; + /** + * Required. The `name` of the parent product to list local inventories for. Format: `accounts/{account\}/products/{product\}` + */ + parent?: string; + } + + export class Resource$Accounts$Products$Regionalinventories { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified `RegionalInventory` resource from the given product in your merchant account. It might take up to an hour for the `RegionalInventory` to be deleted from the specific product. Once you have received a successful delete response, wait for that period before attempting a delete again. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('inventories_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.products.regionalInventories.delete({ + * // Required. The name of the `RegionalInventory` resource to delete. Format: `accounts/{account\}/products/{product\}/regionalInventories/{region\}` + * name: 'accounts/my-account/products/my-product/regionalInventories/my-regionalInventorie', + * }); + * 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$Accounts$Products$Regionalinventories$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Products$Regionalinventories$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Products$Regionalinventories$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Products$Regionalinventories$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Products$Regionalinventories$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Products$Regionalinventories$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Products$Regionalinventories$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Products$Regionalinventories$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/inventories/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); + } + } + + /** + * Inserts a `RegionalInventory` to a given product in your merchant account. Replaces the full `RegionalInventory` resource if an entry with the same `region` already exists for the product. It might take up to 30 minutes for the new or updated `RegionalInventory` resource to appear in products. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('inventories_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.products.regionalInventories.insert({ + * // Required. The account and product where this inventory will be inserted. Format: `accounts/{account\}/products/{product\}` + * parent: 'accounts/my-account/products/my-product', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "account": "my_account", + * // "name": "my_name", + * // "region": "my_region", + * // "regionalInventoryAttributes": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "account": "my_account", + * // "name": "my_name", + * // "region": "my_region", + * // "regionalInventoryAttributes": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Accounts$Products$Regionalinventories$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Accounts$Products$Regionalinventories$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Accounts$Products$Regionalinventories$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Products$Regionalinventories$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Products$Regionalinventories$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Accounts$Products$Regionalinventories$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Products$Regionalinventories$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Products$Regionalinventories$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/inventories/v1/{+parent}/regionalInventories:insert' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the `RegionalInventory` resources for the given product in your merchant account. The response might contain fewer items than specified by `pageSize`. If `pageToken` was returned in previous request, it can be used to obtain additional results. `RegionalInventory` resources are listed per product for a given account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('inventories_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.products.regionalInventories.list({ + * // The maximum number of `RegionalInventory` resources for the given product to return. The service returns fewer than this value if the number of inventories for the given product is less that than the `pageSize`. The default value is 25000. The maximum value is 100000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum. + * pageSize: 'placeholder-value', + * // A page token, received from a previous `ListRegionalInventories` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegionalInventories` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request. + * pageToken: 'placeholder-value', + * // Required. The `name` of the parent product to list `RegionalInventory` resources for. Format: `accounts/{account\}/products/{product\}` + * parent: 'accounts/my-account/products/my-product', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "regionalInventories": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Products$Regionalinventories$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Products$Regionalinventories$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Products$Regionalinventories$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Products$Regionalinventories$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Products$Regionalinventories$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Products$Regionalinventories$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Products$Regionalinventories$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Products$Regionalinventories$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/inventories/v1/{+parent}/regionalInventories' + ).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$Accounts$Products$Regionalinventories$Delete + extends StandardParameters { + /** + * Required. The name of the `RegionalInventory` resource to delete. Format: `accounts/{account\}/products/{product\}/regionalInventories/{region\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Products$Regionalinventories$Insert + extends StandardParameters { + /** + * Required. The account and product where this inventory will be inserted. Format: `accounts/{account\}/products/{product\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionalInventory; + } + export interface Params$Resource$Accounts$Products$Regionalinventories$List + extends StandardParameters { + /** + * The maximum number of `RegionalInventory` resources for the given product to return. The service returns fewer than this value if the number of inventories for the given product is less that than the `pageSize`. The default value is 25000. The maximum value is 100000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum. + */ + pageSize?: number; + /** + * A page token, received from a previous `ListRegionalInventories` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegionalInventories` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request. + */ + pageToken?: string; + /** + * Required. The `name` of the parent product to list `RegionalInventory` resources for. Format: `accounts/{account\}/products/{product\}` + */ + parent?: string; + } +} diff --git a/src/apis/merchantapi/issueresolution_v1.ts b/src/apis/merchantapi/issueresolution_v1.ts new file mode 100644 index 0000000000..7158b8dbe2 --- /dev/null +++ b/src/apis/merchantapi/issueresolution_v1.ts @@ -0,0 +1,1425 @@ +// 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 merchantapi_issueresolution_v1 { + export interface Options extends GlobalOptions { + version: 'issueresolution_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('issueresolution_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + issueresolution: Resource$Issueresolution; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + this.issueresolution = new Resource$Issueresolution(this.context); + } + } + + /** + * An actionable step that can be executed to solve the issue. + */ + export interface Schema$Action { + /** + * Action implemented and performed in (your) third-party application. The application should point the business to the place, where they can access the corresponding functionality or provide instructions, if the specific functionality is not available. + */ + builtinSimpleAction?: Schema$BuiltInSimpleAction; + /** + * Action implemented and performed in (your) third-party application. The application needs to show an additional content and input form to the business as specified for given action. They can trigger the action only when they provided all required inputs. + */ + builtinUserInputAction?: Schema$BuiltInUserInputAction; + /** + * Label of the action button. + */ + buttonLabel?: string | null; + /** + * Action that is implemented and performed outside of (your) third-party application. The application needs to redirect the business to the external location where they can perform the action. + */ + externalAction?: Schema$ExternalAction; + /** + * Controlling whether the button is active or disabled. The value is 'false' when the action was already requested or is not available. If the action is not available then a reason will be present. If (your) third-party application shows a disabled button for action that is not available, then it should also show reasons. + */ + isAvailable?: boolean | null; + /** + * List of reasons why the action is not available. The list of reasons is empty if the action is available. If there is only one reason, it can be displayed next to the disabled button. If there are more reasons, all of them should be displayed, for example in a pop-up dialog. + */ + reasons?: Schema$Reason[]; + } + /** + * Flow that can be selected for an action. When a business selects a flow, application should open a dialog with more information and input form. + */ + export interface Schema$ActionFlow { + /** + * Label for the button to trigger the action from the action dialog. For example: "Request review" + */ + dialogButtonLabel?: string | null; + /** + * Important message to be highlighted in the request dialog. For example: "You can only request a review for disagreeing with this issue once. If it's not approved, you'll need to fix the issue and wait a few days before you can request another review." + */ + dialogCallout?: Schema$Callout; + /** + * Message displayed in the request dialog. For example: "Make sure you've fixed all your country-specific issues. If not, you may have to wait 7 days to request another review". There may be an more information to be shown in a tooltip. + */ + dialogMessage?: Schema$TextWithTooltip; + /** + * Title of the request dialog. For example: "Before you request a review" + */ + dialogTitle?: string | null; + /** + * Not for display but need to be sent back for the selected action flow. + */ + id?: string | null; + /** + * A list of input fields. + */ + inputs?: Schema$InputField[]; + /** + * Text value describing the intent for the action flow. It can be used as an input label if business needs to pick one of multiple flows. For example: "I disagree with the issue" + */ + label?: string | null; + } + /** + * Input provided by the business. + */ + export interface Schema$ActionInput { + /** + * Required. Id of the selected action flow. + */ + actionFlowId?: string | null; + /** + * Required. Values for input fields. + */ + inputValues?: Schema$InputValue[]; + } + /** + * Long text from external source. + */ + export interface Schema$AdditionalContent { + /** + * Long text organized into paragraphs. + */ + paragraphs?: string[] | null; + /** + * Title of the additional content; + */ + title?: string | null; + } + /** + * Aggregate product statuses for a given reporting context and country. + */ + export interface Schema$AggregateProductStatus { + /** + * The country of the aggregate product statuses. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). + */ + country?: string | null; + /** + * The product issues that affect the given reporting context and country. + */ + itemLevelIssues?: Schema$ItemLevelIssue[]; + /** + * Identifier. The name of the `AggregateProductStatuses` resource. Format: `accounts/{account\}/aggregateProductStatuses/{aggregateProductStatuses\}` + */ + name?: string | null; + /** + * The reporting context of the aggregate product statuses. + */ + reportingContext?: string | null; + /** + * Products statistics for the given reporting context and country. + */ + stats?: Schema$Stats; + } + /** + * A detailed impact breakdown for a group of regions where the impact of the issue on different shopping destinations is the same. + */ + export interface Schema$Breakdown { + /** + * Human readable, localized description of issue's effect on different targets. Should be rendered as a list. For example: * "Products not showing in ads" * "Products not showing organically" + */ + details?: string[] | null; + /** + * Lists of regions. Should be rendered as a title for this group of details. The full list should be shown to the business. If the list is too long, it is recommended to make it expandable. + */ + regions?: Schema$Region[]; + } + /** + * Action that is implemented and performed in (your) third-party application. Represents various functionality that is expected to be available to business and will help them with resolving the issue. The application should point the business to the place, where they can access the corresponding functionality. If the functionality is not supported, it is recommended to explain the situation to the business and provide them with instructions how to solve the issue. + */ + export interface Schema$BuiltInSimpleAction { + /** + * Long text from an external source that should be available to the business. Present when the type is `SHOW_ADDITIONAL_CONTENT`. + */ + additionalContent?: Schema$AdditionalContent; + /** + * The attribute that needs to be updated. Present when the type is `EDIT_ITEM_ATTRIBUTE`. This field contains a code for attribute, represented in snake_case. You can find a list of product's attributes, with their codes [here](https://support.google.com/merchants/answer/7052112). + */ + attributeCode?: string | null; + /** + * The type of action that represents a functionality that is expected to be available in third-party application. + */ + type?: string | null; + } + /** + * Action that is implemented and performed in (your) third-party application. The application needs to show an additional content and input form to the business. They can start the action only when they provided all required inputs. The application will request processing of the action by calling the [triggeraction method](https://developers.google.com/merchant/api/reference/rest/issueresolution_v1beta/issueresolution/triggeraction). + */ + export interface Schema$BuiltInUserInputAction { + /** + * Contains the action's context that must be included as part of the TriggerActionPayload.action_context in TriggerActionRequest.payload to call the `triggeraction` method. The content should be treated as opaque and must not be modified. + */ + actionContext?: string | null; + /** + * Actions may provide multiple different flows. Business selects one that fits best to their intent. Selecting the flow is the first step in user's interaction with the action. It affects what input fields will be available and required and also how the request will be processed. + */ + flows?: Schema$ActionFlow[]; + } + /** + * An important message that should be highlighted. Usually displayed as a banner. + */ + export interface Schema$Callout { + /** + * A full message that needs to be shown to the business. + */ + fullMessage?: Schema$TextWithTooltip; + /** + * Can be used to render messages with different severity in different styles. Snippets off all types contain important information that should be displayed to the business. + */ + styleHint?: string | null; + } + /** + * Checkbox input allows the business to provide a boolean value. Corresponds to the [html input type=checkbox](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.checkbox.html#input.checkbox). If the business checks the box, the input value for the field is `true`, otherwise it is `false`. This type of input is often used as a confirmation that the business completed required steps before they are allowed to start the action. In such a case, the input field is marked as required and the button to trigger the action should stay disabled until the business checks the box. + */ + export interface Schema$CheckboxInput {} + /** + * Value for checkbox input field. + */ + export interface Schema$CheckboxInputValue { + /** + * Required. True if the business checked the box field. False otherwise. + */ + value?: boolean | null; + } + /** + * Choice input allows the business to select one of the offered choices. Some choices may be linked to additional input fields that should be displayed under or next to the choice option. The value for the additional input field needs to be provided only when the specific choice is selected by the the business. For example, additional input field can be hidden or disabled until the business selects the specific choice. + */ + export interface Schema$ChoiceInput { + /** + * A list of choices. Only one option can be selected. + */ + options?: Schema$ChoiceInputOption[]; + } + /** + * A choice that the business can select. + */ + export interface Schema$ChoiceInputOption { + /** + * Input that should be displayed when this option is selected. The additional input will not contain a `ChoiceInput`. + */ + additionalInput?: Schema$InputField; + /** + * Not for display but need to be sent back for the selected choice option. + */ + id?: string | null; + /** + * Short description of the choice option. There may be more information to be shown as a tooltip. + */ + label?: Schema$TextWithTooltip; + } + /** + * Value for choice input field. + */ + export interface Schema$ChoiceInputValue { + /** + * Required. Id of the option that was selected by the business. + */ + choiceInputOptionId?: string | null; + } + /** + * Action that is implemented and performed outside of the third-party application. It should redirect the business to the provided URL of an external system where they can perform the action. For example to request a review in the Merchant Center. + */ + export interface Schema$ExternalAction { + /** + * The type of external action. + */ + type?: string | null; + /** + * URL to external system, for example Merchant Center, where the business can perform the action. + */ + uri?: string | null; + } + /** + * Overall impact of the issue. + */ + export interface Schema$Impact { + /** + * Detailed impact breakdown. Explains the types of restriction the issue has in different shopping destinations and territory. If present, it should be rendered to the business. Can be shown as a mouse over dropdown or a dialog. Each breakdown item represents a group of regions with the same impact details. + */ + breakdowns?: Schema$Breakdown[]; + /** + * Optional. Message summarizing the overall impact of the issue. If present, it should be rendered to the business. For example: "Disapproves 90k offers in 25 countries" + */ + message?: string | null; + /** + * The severity of the issue. + */ + severity?: string | null; + } + /** + * Input field that needs to be available to the business. If the field is marked as required, then a value needs to be provided for a successful processing of the request. + */ + export interface Schema$InputField { + /** + * Input field to provide a boolean value. Corresponds to the [html input type=checkbox](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.checkbox.html#input.checkbox). + */ + checkboxInput?: Schema$CheckboxInput; + /** + * Input field to select one of the offered choices. Corresponds to the [html input type=radio](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.radio.html#input.radio). + */ + choiceInput?: Schema$ChoiceInput; + /** + * Not for display but need to be sent back for the given input field. + */ + id?: string | null; + /** + * Input field label. There may be more information to be shown in a tooltip. + */ + label?: Schema$TextWithTooltip; + /** + * Whether the field is required. The action button needs to stay disabled till values for all required fields are provided. + */ + required?: boolean | null; + /** + * Input field to provide text information. Corresponds to the [html input type=text](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.text.html#input.text) or [html textarea](https://www.w3.org/TR/2012/WD-html-markup-20121025/textarea.html#textarea). + */ + textInput?: Schema$TextInput; + } + /** + * Input provided by the business for input field. + */ + export interface Schema$InputValue { + /** + * Value for checkbox input field. + */ + checkboxInputValue?: Schema$CheckboxInputValue; + /** + * Value for choice input field. + */ + choiceInputValue?: Schema$ChoiceInputValue; + /** + * Required. Id of the corresponding input field. + */ + inputFieldId?: string | null; + /** + * Value for text input field. + */ + textInputValue?: Schema$TextInputValue; + } + /** + * The ItemLevelIssue of the product status. + */ + export interface Schema$ItemLevelIssue { + /** + * The attribute's name, if the issue is caused by a single attribute. + */ + attribute?: string | null; + /** + * The error code of the issue. + */ + code?: string | null; + /** + * A short issue description in English. + */ + description?: string | null; + /** + * A detailed issue description in English. + */ + detail?: string | null; + /** + * The URL of a web page to help with resolving this issue. + */ + documentationUri?: string | null; + /** + * The number of products affected by this issue. + */ + productCount?: string | null; + /** + * Whether the issue can be resolved by the merchant. + */ + resolution?: string | null; + /** + * How this issue affects serving of the offer. + */ + severity?: string | null; + } + /** + * Response message for the `ListAggregateProductStatuses` method. + */ + export interface Schema$ListAggregateProductStatusesResponse { + /** + * The `AggregateProductStatuses` resources for the given account. + */ + aggregateProductStatuses?: Schema$AggregateProductStatus[]; + /** + * A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * A single reason why the action is not available. + */ + export interface Schema$Reason { + /** + * Optional. An action that needs to be performed to solve the problem represented by this reason. This action will always be available. Should be rendered as a link or button next to the summarizing message. For example, the review may be available only once the business configure all required attributes. In such a situation this action can be a link to the form, where they can fill the missing attribute to unblock the main action. + */ + action?: Schema$Action; + /** + * Detailed explanation of the reason. Should be displayed as a hint if present. + */ + detail?: string | null; + /** + * Messages summarizing the reason, why the action is not available. For example: "Review requested on Jan 03. Review requests can take a few days to complete." + */ + message?: string | null; + } + /** + * Region with code and localized name. + */ + export interface Schema$Region { + /** + * The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) + */ + code?: string | null; + /** + * The localized name of the region. For region with code='001' the value is 'All countries' or the equivalent in other languages. + */ + name?: string | null; + } + /** + * Response containing an issue resolution content and actions for listed account issues. + */ + export interface Schema$RenderAccountIssuesResponse { + /** + * List of account issues for a given account. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered. + */ + renderedIssues?: Schema$RenderedIssue[]; + } + /** + * An issue affecting specific business or their product. + */ + export interface Schema$RenderedIssue { + /** + * A list of actionable steps that can be executed to solve the issue. An example is requesting a re-review or providing arguments when business disagrees with the issue. Actions that are supported in (your) third-party application can be rendered as buttons and should be available to the business when they expand the issue. + */ + actions?: Schema$Action[]; + /** + * Clarifies the severity of the issue. The summarizing message, if present, should be shown right under the title for each issue. It helps business to quickly understand the impact of the issue. The detailed breakdown helps the business to fully understand the impact of the issue. It can be rendered as dialog that opens when the business mouse over the summarized impact statement. Issues with different severity can be styled differently. They may use a different color or icon to signal the difference between `ERROR`, `WARNING` and `INFO`. + */ + impact?: Schema$Impact; + /** + * Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `issue-detail` - top level container for the detail of the issue * `callout-banners` - section of the `issue-detail` with callout banners * `callout-banner` - single callout banner, inside `callout-banners` * `callout-banner-info` - callout with important information (default) * `callout-banner-warning` - callout with a warning * `callout-banner-error` - callout informing about an error (most severe) * `issue-content` - section of the `issue-detail`, contains multiple `content-element` * `content-element` - content element such as a list, link or paragraph, inside `issue-content` * `root-causes` - unordered list with items describing root causes of the issue, inside `issue-content` * `root-causes-intro` - intro text before the `root-causes` list, inside `issue-content` * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. * `content-moderation` - marks the paragraph that explains how the issue was identified. * `new-element` - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class. + */ + prerenderedContent?: string | null; + /** + * Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `ods-section`* - wrapper around the out-of-court dispute resolution section * `ods-description`* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link. * `ods-param`* - wrapper around the header-value pair for parameters that the business may need to provide during the ODS process. * `ods-routing-id`* - ods param for the Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - value of the ODS parameter. This value should be rendered in a way that it is easy for the user to identify and copy. * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. + */ + prerenderedOutOfCourtDisputeSettlement?: string | null; + /** + * Title of the issue. + */ + title?: string | null; + } + /** + * The payload for configuring how the content should be rendered. + */ + export interface Schema$RenderIssuesRequestPayload { + /** + * Optional. How the detailed content should be returned. Default option is to return the content as a pre-rendered HTML text. + */ + contentOption?: string | null; + /** + * Optional. How actions with user input form should be handled. If not provided, actions will be returned as links that points the business to Merchant Center where they can request the action. + */ + userInputActionOption?: string | null; + } + /** + * Response containing an issue resolution content and actions for listed product issues. + */ + export interface Schema$RenderProductIssuesResponse { + /** + * List of issues for a given product. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered. + */ + renderedIssues?: Schema$RenderedIssue[]; + } + /** + * Products statistics. + */ + export interface Schema$Stats { + /** + * The number of products that are active. + */ + activeCount?: string | null; + /** + * The number of products that are disapproved. + */ + disapprovedCount?: string | null; + /** + * The number of products that are expiring. + */ + expiringCount?: string | null; + /** + * The number of products that are pending. + */ + pendingCount?: string | null; + } + /** + * Text input allows the business to provide a text value. + */ + export interface Schema$TextInput { + /** + * Additional info regarding the field to be displayed to the business. For example, warning to not include personal identifiable information. There may be more information to be shown in a tooltip. + */ + additionalInfo?: Schema$TextWithTooltip; + /** + * Text to be used as the [aria-label](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html) for the input. + */ + ariaLabel?: string | null; + /** + * Information about the required format. If present, it should be shown close to the input field to help the business to provide a correct value. For example: "VAT numbers should be in a format similar to SK9999999999" + */ + formatInfo?: string | null; + /** + * Type of the text input + */ + type?: string | null; + } + /** + * Value for text input field. + */ + export interface Schema$TextInputValue { + /** + * Required. Text provided by the business. + */ + value?: string | null; + } + /** + * Block of text that may contain a tooltip with more information. + */ + export interface Schema$TextWithTooltip { + /** + * Value of the tooltip as a simple text. + */ + simpleTooltipValue?: string | null; + /** + * Value of the message as a simple text. + */ + simpleValue?: string | null; + /** + * The suggested type of an icon for tooltip, if a tooltip is present. + */ + tooltipIconStyle?: string | null; + } + /** + * The payload for the triggered action. + */ + export interface Schema$TriggerActionPayload { + /** + * Required. The context from the selected action. The value is obtained from rendered issues and needs to be sent back to identify the action that is being triggered. + */ + actionContext?: string | null; + /** + * Required. Input provided by the business. + */ + actionInput?: Schema$ActionInput; + } + /** + * Response informing about the started action. + */ + export interface Schema$TriggerActionResponse { + /** + * The message for the business. + */ + message?: string | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + aggregateProductStatuses: Resource$Accounts$Aggregateproductstatuses; + constructor(context: APIRequestContext) { + this.context = context; + this.aggregateProductStatuses = + new Resource$Accounts$Aggregateproductstatuses(this.context); + } + } + + export class Resource$Accounts$Aggregateproductstatuses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists the `AggregateProductStatuses` resources for your merchant account. The response might contain fewer items than specified by `pageSize`. If `pageToken` was returned in previous request, it can be used to obtain additional results. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('issueresolution_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.aggregateProductStatuses.list({ + * // Optional. A filter expression that filters the aggregate product statuses. Filtering is only supported by the `reporting_context` and `country` field. For example: `reporting_context = "SHOPPING_ADS" AND country = "US"`. + * filter: 'placeholder-value', + * // Optional. The maximum number of aggregate product statuses to return. The service may return fewer than this value. If unspecified, at most 25 aggregate product statuses are returned. The maximum value is 250; values above 250 are coerced to 250. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListAggregateProductStatuses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAggregateProductStatuses` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The account to list aggregate product statuses for. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregateProductStatuses": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Aggregateproductstatuses$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Aggregateproductstatuses$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Accounts$Aggregateproductstatuses$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Aggregateproductstatuses$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Aggregateproductstatuses$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Aggregateproductstatuses$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Aggregateproductstatuses$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Aggregateproductstatuses$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/issueresolution/v1/{+parent}/aggregateProductStatuses' + ).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$Accounts$Aggregateproductstatuses$List + extends StandardParameters { + /** + * Optional. A filter expression that filters the aggregate product statuses. Filtering is only supported by the `reporting_context` and `country` field. For example: `reporting_context = "SHOPPING_ADS" AND country = "US"`. + */ + filter?: string; + /** + * Optional. The maximum number of aggregate product statuses to return. The service may return fewer than this value. If unspecified, at most 25 aggregate product statuses are returned. The maximum value is 250; values above 250 are coerced to 250. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListAggregateProductStatuses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAggregateProductStatuses` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account to list aggregate product statuses for. Format: `accounts/{account\}` + */ + parent?: string; + } + + export class Resource$Issueresolution { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Provide a list of business's account issues with an issue resolution content and available actions. This content and actions are meant to be rendered and shown in third-party applications. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('issueresolution_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.issueresolution.renderaccountissues({ + * // Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize issue resolution content. If not set, the result will be in default language `en-US`. + * languageCode: 'placeholder-value', + * // Required. The account to fetch issues for. Format: `accounts/{account\}` + * name: 'accounts/my-account', + * // Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in an issue resolution content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC. + * timeZone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "contentOption": "my_contentOption", + * // "userInputActionOption": "my_userInputActionOption" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "renderedIssues": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + renderaccountissues( + params: Params$Resource$Issueresolution$Renderaccountissues, + options: StreamMethodOptions + ): Promise>; + renderaccountissues( + params?: Params$Resource$Issueresolution$Renderaccountissues, + options?: MethodOptions + ): Promise>; + renderaccountissues( + params: Params$Resource$Issueresolution$Renderaccountissues, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + renderaccountissues( + params: Params$Resource$Issueresolution$Renderaccountissues, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + renderaccountissues( + params: Params$Resource$Issueresolution$Renderaccountissues, + callback: BodyResponseCallback + ): void; + renderaccountissues( + callback: BodyResponseCallback + ): void; + renderaccountissues( + paramsOrCallback?: + | Params$Resource$Issueresolution$Renderaccountissues + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Issueresolution$Renderaccountissues; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Issueresolution$Renderaccountissues; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/issueresolution/v1/{+name}:renderaccountissues' + ).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); + } + } + + /** + * Provide a list of issues for business's product with an issue resolution content and available actions. This content and actions are meant to be rendered and shown in third-party applications. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('issueresolution_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.issueresolution.renderproductissues({ + * // Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize an issue resolution content. If not set, the result will be in default language `en-US`. + * languageCode: 'placeholder-value', + * // Required. The name of the product to fetch issues for. Format: `accounts/{account\}/products/{product\}` + * name: 'accounts/my-account/products/my-product', + * // Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in an issue resolution content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC. + * timeZone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "contentOption": "my_contentOption", + * // "userInputActionOption": "my_userInputActionOption" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "renderedIssues": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + renderproductissues( + params: Params$Resource$Issueresolution$Renderproductissues, + options: StreamMethodOptions + ): Promise>; + renderproductissues( + params?: Params$Resource$Issueresolution$Renderproductissues, + options?: MethodOptions + ): Promise>; + renderproductissues( + params: Params$Resource$Issueresolution$Renderproductissues, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + renderproductissues( + params: Params$Resource$Issueresolution$Renderproductissues, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + renderproductissues( + params: Params$Resource$Issueresolution$Renderproductissues, + callback: BodyResponseCallback + ): void; + renderproductissues( + callback: BodyResponseCallback + ): void; + renderproductissues( + paramsOrCallback?: + | Params$Resource$Issueresolution$Renderproductissues + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Issueresolution$Renderproductissues; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Issueresolution$Renderproductissues; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/issueresolution/v1/{+name}:renderproductissues' + ).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); + } + } + + /** + * Start an action. The action can be requested by a business in third-party application. Before the business can request the action, the third-party application needs to show them action specific content and display a user input form. The action can be successfully started only once all `required` inputs are provided. If any `required` input is missing, or invalid value was provided, the service will return 400 error. Validation errors will contain Ids for all problematic field together with translated, human readable error messages that can be shown to the user. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('issueresolution_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.issueresolution.triggeraction({ + * // Optional. Language code [IETF BCP 47 syntax](https://tools.ietf.org/html/bcp47) used to localize the response. If not set, the result will be in default language `en-US`. + * languageCode: 'placeholder-value', + * // Required. The business's account that is triggering the action. Format: `accounts/{account\}` + * name: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "actionContext": "my_actionContext", + * // "actionInput": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "message": "my_message" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + triggeraction( + params: Params$Resource$Issueresolution$Triggeraction, + options: StreamMethodOptions + ): Promise>; + triggeraction( + params?: Params$Resource$Issueresolution$Triggeraction, + options?: MethodOptions + ): Promise>; + triggeraction( + params: Params$Resource$Issueresolution$Triggeraction, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + triggeraction( + params: Params$Resource$Issueresolution$Triggeraction, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + triggeraction( + params: Params$Resource$Issueresolution$Triggeraction, + callback: BodyResponseCallback + ): void; + triggeraction( + callback: BodyResponseCallback + ): void; + triggeraction( + paramsOrCallback?: + | Params$Resource$Issueresolution$Triggeraction + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Issueresolution$Triggeraction; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Issueresolution$Triggeraction; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/issueresolution/v1/{+name}:triggeraction' + ).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$Issueresolution$Renderaccountissues + extends StandardParameters { + /** + * Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize issue resolution content. If not set, the result will be in default language `en-US`. + */ + languageCode?: string; + /** + * Required. The account to fetch issues for. Format: `accounts/{account\}` + */ + name?: string; + /** + * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in an issue resolution content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC. + */ + timeZone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RenderIssuesRequestPayload; + } + export interface Params$Resource$Issueresolution$Renderproductissues + extends StandardParameters { + /** + * Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize an issue resolution content. If not set, the result will be in default language `en-US`. + */ + languageCode?: string; + /** + * Required. The name of the product to fetch issues for. Format: `accounts/{account\}/products/{product\}` + */ + name?: string; + /** + * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in an issue resolution content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC. + */ + timeZone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RenderIssuesRequestPayload; + } + export interface Params$Resource$Issueresolution$Triggeraction + extends StandardParameters { + /** + * Optional. Language code [IETF BCP 47 syntax](https://tools.ietf.org/html/bcp47) used to localize the response. If not set, the result will be in default language `en-US`. + */ + languageCode?: string; + /** + * Required. The business's account that is triggering the action. Format: `accounts/{account\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TriggerActionPayload; + } +} diff --git a/src/apis/merchantapi/lfp_v1beta.ts b/src/apis/merchantapi/lfp_v1beta.ts index d4ec535481..881ecb7fdf 100644 --- a/src/apis/merchantapi/lfp_v1beta.ts +++ b/src/apis/merchantapi/lfp_v1beta.ts @@ -326,7 +326,7 @@ export namespace merchantapi_lfp_v1beta { */ export interface Schema$LfpStore { /** - * Optional. [Google My Business category id](https://gcid-explorer.corp.google.com/static/gcid.html). + * Optional. [Google My Business category id](https://support.google.com/business/answer/7249669). */ gcidCategory?: string[] | null; /** diff --git a/src/apis/merchantapi/notifications_v1.ts b/src/apis/merchantapi/notifications_v1.ts new file mode 100644 index 0000000000..19057c8dcb --- /dev/null +++ b/src/apis/merchantapi/notifications_v1.ts @@ -0,0 +1,1052 @@ +// 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 merchantapi_notifications_v1 { + export interface Options extends GlobalOptions { + version: 'notifications_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('notifications_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * 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 {} + /** + * Response message for the ListNotificationSubscription method. + */ + export interface Schema$ListNotificationSubscriptionsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of notification subscriptions requested by the merchant. + */ + notificationSubscriptions?: Schema$NotificationSubscription[]; + } + /** + * Represents a notification subscription owned by a Merchant account. + */ + export interface Schema$NotificationSubscription { + /** + * If this value is true, the requesting account is notified of the specified event for all managed accounts (can be subaccounts or other linked accounts) including newly added accounts on a daily basis. + */ + allManagedAccounts?: boolean | null; + /** + * URL to be used to push the notification to the merchant. + */ + callBackUri?: string | null; + /** + * Output only. The `name` of the notification configuration. Generated by the Content API upon creation of a new `NotificationSubscription`. The `account` represents the merchant ID of the merchant that owns the configuration. Format: `accounts/{account\}/notificationsubscriptions/{notification_subscription\}` + */ + name?: string | null; + /** + * The event that the merchant wants to be notified about. + */ + registeredEvent?: string | null; + /** + * The `name` of the account you want to receive notifications for. Format: `accounts/{account\}` + */ + targetAccount?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + notificationsubscriptions: Resource$Accounts$Notificationsubscriptions; + constructor(context: APIRequestContext) { + this.context = context; + this.notificationsubscriptions = + new Resource$Accounts$Notificationsubscriptions(this.context); + } + } + + export class Resource$Accounts$Notificationsubscriptions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a notification subscription for a business. For standalone or subaccounts accounts, the business can create a subscription for self. For MCAs, the business can create a subscription for all managed accounts or for a specific subaccount. We will allow the following types of notification subscriptions to exist together (per business as a subscriber per event type): 1. Subscription for all managed accounts + subscription for self. 2. Multiple "partial" subscriptions for managed accounts + subscription for self. we will not allow (per business as a subscriber per event type): 1. Multiple self subscriptions. 2. Multiple "all managed accounts" subscriptions. 3. "All managed accounts" subscription and partial subscriptions at the same time. 4. Multiple partial subscriptions for the same target account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('notifications_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.notificationsubscriptions.create({ + * // Required. The merchant account that owns the new notification subscription. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allManagedAccounts": false, + * // "callBackUri": "my_callBackUri", + * // "name": "my_name", + * // "registeredEvent": "my_registeredEvent", + * // "targetAccount": "my_targetAccount" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "allManagedAccounts": false, + * // "callBackUri": "my_callBackUri", + * // "name": "my_name", + * // "registeredEvent": "my_registeredEvent", + * // "targetAccount": "my_targetAccount" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Notificationsubscriptions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Notificationsubscriptions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Notificationsubscriptions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Notificationsubscriptions$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Notificationsubscriptions$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Notificationsubscriptions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Notificationsubscriptions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Notificationsubscriptions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/notifications/v1/{+parent}/notificationsubscriptions' + ).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 notification subscription for a merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('notifications_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.notificationsubscriptions.delete({ + * // Required. The name of the notification subscription to be deleted. + * name: 'accounts/my-account/notificationsubscriptions/my-notificationsubscription', + * }); + * 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$Accounts$Notificationsubscriptions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Notificationsubscriptions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Notificationsubscriptions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Notificationsubscriptions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Notificationsubscriptions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Notificationsubscriptions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Notificationsubscriptions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounts$Notificationsubscriptions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/notifications/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 notification subscriptions for an account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('notifications_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.notificationsubscriptions.get({ + * // Required. The `name` of the notification subscription. + * name: 'accounts/my-account/notificationsubscriptions/my-notificationsubscription', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "allManagedAccounts": false, + * // "callBackUri": "my_callBackUri", + * // "name": "my_name", + * // "registeredEvent": "my_registeredEvent", + * // "targetAccount": "my_targetAccount" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Notificationsubscriptions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Notificationsubscriptions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Notificationsubscriptions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Notificationsubscriptions$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Notificationsubscriptions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Notificationsubscriptions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Notificationsubscriptions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Notificationsubscriptions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/notifications/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 all the notification subscriptions for a merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('notifications_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.notificationsubscriptions.list({ + * // The maximum number of notification subscriptions to return in a page. The default value for `page_size` is 100. The maximum value is `200`. Values above `200` will be coerced to `200`. + * pageSize: 'placeholder-value', + * // Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The merchant account who owns the notification subscriptions. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "notificationSubscriptions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Notificationsubscriptions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Notificationsubscriptions$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Accounts$Notificationsubscriptions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Notificationsubscriptions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Notificationsubscriptions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Notificationsubscriptions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Notificationsubscriptions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Notificationsubscriptions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/notifications/v1/{+parent}/notificationsubscriptions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing notification subscription for a merchant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('notifications_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.notificationsubscriptions.patch({ + * // Output only. The `name` of the notification configuration. Generated by the Content API upon creation of a new `NotificationSubscription`. The `account` represents the merchant ID of the merchant that owns the configuration. Format: `accounts/{account\}/notificationsubscriptions/{notification_subscription\}` + * name: 'accounts/my-account/notificationsubscriptions/my-notificationsubscription', + * // List of fields being updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allManagedAccounts": false, + * // "callBackUri": "my_callBackUri", + * // "name": "my_name", + * // "registeredEvent": "my_registeredEvent", + * // "targetAccount": "my_targetAccount" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "allManagedAccounts": false, + * // "callBackUri": "my_callBackUri", + * // "name": "my_name", + * // "registeredEvent": "my_registeredEvent", + * // "targetAccount": "my_targetAccount" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Notificationsubscriptions$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Notificationsubscriptions$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Notificationsubscriptions$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Notificationsubscriptions$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Notificationsubscriptions$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Notificationsubscriptions$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Notificationsubscriptions$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Notificationsubscriptions$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/notifications/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$Accounts$Notificationsubscriptions$Create + extends StandardParameters { + /** + * Required. The merchant account that owns the new notification subscription. Format: `accounts/{account\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NotificationSubscription; + } + export interface Params$Resource$Accounts$Notificationsubscriptions$Delete + extends StandardParameters { + /** + * Required. The name of the notification subscription to be deleted. + */ + name?: string; + } + export interface Params$Resource$Accounts$Notificationsubscriptions$Get + extends StandardParameters { + /** + * Required. The `name` of the notification subscription. + */ + name?: string; + } + export interface Params$Resource$Accounts$Notificationsubscriptions$List + extends StandardParameters { + /** + * The maximum number of notification subscriptions to return in a page. The default value for `page_size` is 100. The maximum value is `200`. Values above `200` will be coerced to `200`. + */ + pageSize?: number; + /** + * Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. + */ + pageToken?: string; + /** + * Required. The merchant account who owns the notification subscriptions. Format: `accounts/{account\}` + */ + parent?: string; + } + export interface Params$Resource$Accounts$Notificationsubscriptions$Patch + extends StandardParameters { + /** + * Output only. The `name` of the notification configuration. Generated by the Content API upon creation of a new `NotificationSubscription`. The `account` represents the merchant ID of the merchant that owns the configuration. Format: `accounts/{account\}/notificationsubscriptions/{notification_subscription\}` + */ + name?: string; + /** + * List of fields being updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NotificationSubscription; + } +} diff --git a/src/apis/merchantapi/ordertracking_v1.ts b/src/apis/merchantapi/ordertracking_v1.ts new file mode 100644 index 0000000000..ce38188966 --- /dev/null +++ b/src/apis/merchantapi/ordertracking_v1.ts @@ -0,0 +1,599 @@ +// 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 merchantapi_ordertracking_v1 { + export interface Options extends GlobalOptions { + version: 'ordertracking_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('ordertracking_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. + */ + export interface Schema$DateTime { + /** + * Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + */ + day?: number | null; + /** + * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + */ + hours?: number | null; + /** + * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + */ + minutes?: number | null; + /** + * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + */ + month?: number | null; + /** + * Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + */ + nanos?: number | null; + /** + * Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. + */ + seconds?: number | null; + /** + * Time zone. + */ + timeZone?: Schema$TimeZone; + /** + * UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 \}. + */ + utcOffset?: string | null; + /** + * Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year. + */ + year?: number | null; + } + /** + * The line items of the order. + */ + export interface Schema$LineItemDetails { + /** + * Optional. Brand of the product. + */ + brand?: string | null; + /** + * Optional. The Global Trade Item Numbers. + */ + gtins?: string[] | null; + /** + * Required. The ID for this line item. + */ + lineItemId?: string | null; + /** + * Optional. The manufacturer part number. + */ + mpn?: string | null; + /** + * Required. The Content API REST ID of the product, in the form channel:contentLanguage:targetCountry:offerId. + */ + productId?: string | null; + /** + * Optional. Plain text title of this product. + */ + productTitle?: string | null; + /** + * Required. The quantity of the line item in the order. + */ + quantity?: string | null; + } + /** + * Represents a business trade from which signals are extracted, such as shipping. + */ + export interface Schema$OrderTrackingSignal { + /** + * Optional. The shipping fee of the order; this value should be set to zero in the case of free shipping. + */ + customerShippingFee?: Schema$Price; + /** + * Optional. The delivery postal code, as a continuous string without spaces or dashes, for example "95016". This field will be anonymized in returned OrderTrackingSignal creation response. + */ + deliveryPostalCode?: string | null; + /** + * Optional. The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping destination. + */ + deliveryRegionCode?: string | null; + /** + * Required. Information about line items in the order. + */ + lineItems?: Schema$LineItemDetails[]; + /** + * Optional. The Google Merchant Center ID of this order tracking signal. This value is optional. If left unset, the caller's Merchant Center ID is used. You must request access in order to provide data on behalf of another business. For more information, see [Submitting Order Tracking Signals](/shopping-content/guides/order-tracking-signals). + */ + merchantId?: string | null; + /** + * Required. The time when the order was created on the businesses side. Include the year and timezone string, if available. + */ + orderCreatedTime?: Schema$DateTime; + /** + * Required. The ID of the order on the businesses side. This field will be hashed in returned OrderTrackingSignal creation response. + */ + orderId?: string | null; + /** + * Output only. The ID that uniquely identifies this order tracking signal. + */ + orderTrackingSignalId?: string | null; + /** + * Optional. The mapping of the line items to the shipment information. + */ + shipmentLineItemMapping?: Schema$ShipmentLineItemMapping[]; + /** + * Required. The shipping information for the order. + */ + shippingInfo?: Schema$ShippingInfo[]; + } + /** + * The price represented as a number and currency. + */ + export interface Schema$Price { + /** + * The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). + */ + amountMicros?: string | null; + /** + * The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). + */ + currencyCode?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * Represents how many items are in the shipment for the given shipment_id and line_item_id. + */ + export interface Schema$ShipmentLineItemMapping { + /** + * Required. The line item ID. + */ + lineItemId?: string | null; + /** + * Required. The line item quantity in the shipment. + */ + quantity?: string | null; + /** + * Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response. + */ + shipmentId?: string | null; + } + /** + * The shipping information for the order. + */ + export interface Schema$ShippingInfo { + /** + * Optional. The time when the shipment was actually delivered. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + */ + actualDeliveryTime?: Schema$DateTime; + /** + * Optional. The name of the shipping carrier for the delivery. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time. + */ + carrier?: string | null; + /** + * Optional. The service type for fulfillment, such as GROUND, FIRST_CLASS, etc. + */ + carrierService?: string | null; + /** + * Optional. The earliest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + */ + earliestDeliveryPromiseTime?: Schema$DateTime; + /** + * Optional. The latest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + */ + latestDeliveryPromiseTime?: Schema$DateTime; + /** + * Required. The origin postal code, as a continuous string without spaces or dashes, for example "95016". This field will be anonymized in returned OrderTrackingSignal creation response. + */ + originPostalCode?: string | null; + /** + * Required. The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping origin. + */ + originRegionCode?: string | null; + /** + * Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response. + */ + shipmentId?: string | null; + /** + * Optional. The time when the shipment was shipped. Include the year and timezone string, if available. + */ + shippedTime?: Schema$DateTime; + /** + * Required. The status of the shipment. + */ + shippingStatus?: string | null; + /** + * Optional. The tracking ID of the shipment. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time. + */ + trackingId?: string | null; + } + /** + * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). + */ + export interface Schema$TimeZone { + /** + * IANA Time Zone Database time zone. For example "America/New_York". + */ + id?: string | null; + /** + * Optional. IANA Time Zone Database version number. For example "2019a". + */ + version?: string | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + orderTrackingSignals: Resource$Accounts$Ordertrackingsignals; + constructor(context: APIRequestContext) { + this.context = context; + this.orderTrackingSignals = new Resource$Accounts$Ordertrackingsignals( + this.context + ); + } + } + + export class Resource$Accounts$Ordertrackingsignals { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates new order tracking signal. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('ordertracking_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await 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\} + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customerShippingFee": {}, + * // "deliveryPostalCode": "my_deliveryPostalCode", + * // "deliveryRegionCode": "my_deliveryRegionCode", + * // "lineItems": [], + * // "merchantId": "my_merchantId", + * // "orderCreatedTime": {}, + * // "orderId": "my_orderId", + * // "orderTrackingSignalId": "my_orderTrackingSignalId", + * // "shipmentLineItemMapping": [], + * // "shippingInfo": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "customerShippingFee": {}, + * // "deliveryPostalCode": "my_deliveryPostalCode", + * // "deliveryRegionCode": "my_deliveryRegionCode", + * // "lineItems": [], + * // "merchantId": "my_merchantId", + * // "orderCreatedTime": {}, + * // "orderId": "my_orderId", + * // "orderTrackingSignalId": "my_orderTrackingSignalId", + * // "shipmentLineItemMapping": [], + * // "shippingInfo": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Accounts$Ordertrackingsignals$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounts$Ordertrackingsignals$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounts$Ordertrackingsignals$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Ordertrackingsignals$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounts$Ordertrackingsignals$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounts$Ordertrackingsignals$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Ordertrackingsignals$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Ordertrackingsignals$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/ordertracking/v1/{+parent}/orderTrackingSignals' + ).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$Accounts$Ordertrackingsignals$Create + extends StandardParameters { + /** + * Output only. The ID that uniquely identifies this order tracking signal. + */ + orderTrackingSignalId?: string; + /** + * Required. The account of the business for which the order signal is created. Format: accounts/{account\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$OrderTrackingSignal; + } +} diff --git a/src/apis/merchantapi/ordertracking_v1beta.ts b/src/apis/merchantapi/ordertracking_v1beta.ts index 2826ebfa9c..03959fe2a0 100644 --- a/src/apis/merchantapi/ordertracking_v1beta.ts +++ b/src/apis/merchantapi/ordertracking_v1beta.ts @@ -177,6 +177,10 @@ export namespace merchantapi_ordertracking_v1beta { * Optional. The Global Trade Item Number. */ gtin?: string | null; + /** + * Optional. The Global Trade Item Numbers. + */ + gtins?: string[] | null; /** * Required. The ID for this line item. */ diff --git a/src/apis/merchantapi/products_v1.ts b/src/apis/merchantapi/products_v1.ts new file mode 100644 index 0000000000..236deaeb35 --- /dev/null +++ b/src/apis/merchantapi/products_v1.ts @@ -0,0 +1,2013 @@ +// 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 merchantapi_products_v1 { + export interface Options extends GlobalOptions { + version: 'products_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('products_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * Information regarding Automated Discounts. + */ + export interface Schema$AutomatedDiscounts { + /** + * The current sale price for products with a price optimized using Google Automated Discounts (GAD). Absent if the information about the GAD_price of the product is not available. + */ + gadPrice?: Schema$Price; + /** + * The price prior to the application of the first price reduction. Absent if the information about the prior price of the product is not available. + */ + priorPrice?: Schema$Price; + /** + * The price prior to the application of consecutive price reductions. Absent if the information about the prior price of the product is not available. + */ + priorPriceProgressive?: Schema$Price; + } + /** + * Product property for the Cloud Retail API. For example, properties for a TV product could be "Screen-Resolution" or "Screen-Size". + */ + export interface Schema$CloudExportAdditionalProperties { + /** + * Boolean value of the given property. For example for a TV product, "True" or "False" if the screen is UHD. + */ + boolValue?: boolean | null; + /** + * Float values of the given property. For example for a TV product 1.2345. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. + */ + floatValue?: number[] | null; + /** + * Integer values of the given property. For example, 1080 for a TV product's Screen Resolution. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. + */ + intValue?: string[] | null; + /** + * Maximum float value of the given property. For example for a TV product 100.00. + */ + maxValue?: number | null; + /** + * Minimum float value of the given property. For example for a TV product 1.00. + */ + minValue?: number | null; + /** + * Name of the given property. For example, "Screen-Resolution" for a TV product. Maximum string size is 256 characters. + */ + propertyName?: string | null; + /** + * Text value of the given property. For example, "8K(UHD)" could be a text value for a TV product. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters. + */ + textValue?: string[] | null; + /** + * Unit of the given property. For example, "Pixels" for a TV product. Maximum string size is 256B. + */ + unitCode?: string | null; + } + /** + * A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty. + */ + export interface Schema$CustomAttribute { + /** + * Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty. + */ + groupValues?: Schema$CustomAttribute[]; + /** + * The name of the attribute. + */ + name?: string | null; + /** + * The value of the attribute. If `value` is not empty, `group_values` must be empty. + */ + value?: string | null; + } + /** + * The destination status of the product status. + */ + export interface Schema$DestinationStatus { + /** + * List of country codes (ISO 3166-1 alpha-2) where the offer is approved. + */ + approvedCountries?: string[] | null; + /** + * List of country codes (ISO 3166-1 alpha-2) where the offer is disapproved. + */ + disapprovedCountries?: string[] | null; + /** + * List of country codes (ISO 3166-1 alpha-2) where the offer is pending approval. + */ + pendingCountries?: string[] | null; + /** + * The name of the reporting context. + */ + reportingContext?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * Conditions to be met for a product to have free shipping. + */ + export interface Schema$FreeShippingThreshold { + /** + * The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. + */ + country?: string | null; + /** + * The minimum product price for the shipping cost to become free. Represented as a number. + */ + priceThreshold?: Schema$Price; + } + /** + * Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. + */ + export interface Schema$Interval { + /** + * Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. + */ + endTime?: string | null; + /** + * Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. + */ + startTime?: string | null; + } + /** + * The ItemLevelIssue of the product status. + */ + export interface Schema$ItemLevelIssue { + /** + * List of country codes (ISO 3166-1 alpha-2) where issue applies to the offer. + */ + applicableCountries?: string[] | null; + /** + * The attribute's name, if the issue is caused by a single attribute. + */ + attribute?: string | null; + /** + * The error code of the issue. + */ + code?: string | null; + /** + * A short issue description in English. + */ + description?: string | null; + /** + * A detailed issue description in English. + */ + detail?: string | null; + /** + * The URL of a web page to help with resolving this issue. + */ + documentation?: string | null; + /** + * The reporting context the issue applies to. + */ + reportingContext?: string | null; + /** + * Whether the issue can be resolved by the business. + */ + resolution?: string | null; + /** + * How this issue affects serving of the offer. + */ + severity?: string | null; + } + /** + * Response message for the ListProducts method. + */ + export interface Schema$ListProductsResponse { + /** + * 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 processed products from the specified account. These are your processed products after applying rules and supplemental data sources. + */ + products?: Schema$Product[]; + } + /** + * A message that represents loyalty points. + */ + export interface Schema$LoyaltyPoints { + /** + * Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters. + */ + name?: string | null; + /** + * The retailer's loyalty points in absolute value. + */ + pointsValue?: string | null; + /** + * The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0. + */ + ratio?: number | null; + } + /** + * A message that represents loyalty program. + */ + export interface Schema$LoyaltyProgram { + /** + * The cashback that can be used for future purchases. + */ + cashbackForFutureUse?: Schema$Price; + /** + * The amount of loyalty points earned on a purchase. + */ + loyaltyPoints?: string | null; + /** + * A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash. + */ + memberPriceEffectiveDate?: Schema$Interval; + /** + * The price for members of the given tier, that is, the instant discount price. Must be smaller or equal to the regular price. + */ + price?: Schema$Price; + /** + * The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a business entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a business. The corresponding program must be linked to the Merchant Center account. + */ + programLabel?: string | null; + /** + * The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn't provided, the item is not eligible for loyalty shipping for the given loyalty tier. + */ + shippingLabel?: string | null; + /** + * The label of the tier within the loyalty program. Must match one of the labels within the program. + */ + tierLabel?: string | null; + } + /** + * The price represented as a number and currency. + */ + export interface Schema$Price { + /** + * The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). + */ + amountMicros?: string | null; + /** + * The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). + */ + currencyCode?: string | null; + } + /** + * The processed product, built from multiple product inputs after applying rules and supplemental data sources. This processed product matches what is shown in your Merchant Center account. Each product is built from exactly one primary data source product input, and multiple supplemental data source inputs. After inserting, updating, or deleting a product input, it may take several minutes before the updated processed product can be retrieved. All fields in the processed product and its sub-messages match the name of their corresponding attribute in the [Product data specification](https://support.google.com/merchants/answer/7052112) with some exceptions. + */ + export interface Schema$Product { + /** + * Output only. The automated discounts information for the product. + */ + automatedDiscounts?: Schema$AutomatedDiscounts; + /** + * Output only. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product. + */ + contentLanguage?: string | null; + /** + * Output only. A list of custom (merchant-provided) attributes. It can also be used to submit any attribute of the data specification in its generic form (for example, `{ "name": "size type", "value": "regular" \}`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google. + */ + customAttributes?: Schema$CustomAttribute[]; + /** + * Output only. The primary data source of the product. + */ + dataSource?: string | null; + /** + * Output only. The feed label lets you categorize and identify your products. The maximum allowed characters is 20 and the supported characters are`A-Z`, `0-9`, hyphen and underscore. The feed label must not include any spaces. For more information, see [Using feed labels](//support.google.com/merchants/answer/14994087) + */ + feedLabel?: string | null; + /** + * Output only. Determines whether the product is **only** targeting local destinations and whether the product name should be distinguished with a `local~` prefix. For example, `accounts/123/products/local~en~US~sku123`. + */ + legacyLocal?: boolean | null; + /** + * 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; + /** + * Output only. Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. See the [product data specification](https://support.google.com/merchants/answer/188494#id) for details. + */ + offerId?: string | null; + /** + * Output only. A list of strongly-typed product attributes. + */ + productAttributes?: Schema$ProductAttributes; + /** + * Output only. The status of a product, data validation issues, that is, information about a product computed asynchronously. + */ + productStatus?: Schema$ProductStatus; + /** + * Output only. Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current `version_number`. Only supported for insertions into primary data sources. If the operation is prevented, the aborted exception will be thrown. + */ + versionNumber?: string | null; + } + /** + * Product attributes. + */ + export interface Schema$ProductAttributes { + /** + * Additional URLs of images of the item. + */ + additionalImageLinks?: string[] | null; + /** + * Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387). + */ + adsGrouping?: string | null; + /** + * Similar to ads_grouping, but only works on CPC. + */ + adsLabels?: string[] | null; + /** + * Allows advertisers to override the item URL when the product is shown within the context of Product ads. + */ + adsRedirect?: string | null; + /** + * Set to true if the item is targeted towards adults. + */ + adult?: boolean | null; + /** + * Target [age group](https://support.google.com/merchants/answer/6324463) of the item. + */ + ageGroup?: string | null; + /** + * A safeguard in the [automated discounts] (https://support.google.com/merchants/answer/10295759) and "Dynamic Promotions" (https://support.google.com/merchants/answer/13949249) projects, ensuring that discounts on business offers do not fall below this value, thereby preserving the offer's value and profitability. + */ + autoPricingMinPrice?: Schema$Price; + /** + * [Availability](https://support.google.com/merchants/answer/6324448) status of the item. + */ + availability?: string | null; + /** + * The day a pre-ordered product becomes available for delivery, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + */ + availabilityDate?: string | null; + /** + * [Brand](https://support.google.com/merchants/answer/6324351) of the item. For example, "Google". + */ + brand?: string | null; + /** + * URL for the canonical version of your item's landing page. + */ + canonicalLink?: string | null; + /** + * Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information. + */ + certifications?: Schema$ProductCertification[]; + /** + * Extra fields to export to the Cloud Retail program. + */ + cloudExportAdditionalProperties?: Schema$CloudExportAdditionalProperties[]; + /** + * [Color](https://support.google.com/merchants/answer/6324487) of the item. For example, "red". + */ + color?: string | null; + /** + * [Condition](https://support.google.com/merchants/answer/6324469) or state of the item. + */ + condition?: string | null; + /** + * Cost of goods sold. Used for gross profit reporting. + */ + costOfGoodsSold?: Schema$Price; + /** + * [Custom label 0](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign. + */ + customLabel0?: string | null; + /** + * [Custom label 1](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign. + */ + customLabel1?: string | null; + /** + * [Custom label 2](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign. + */ + customLabel2?: string | null; + /** + * [Custom label 3](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign. + */ + customLabel3?: string | null; + /** + * [Custom label 4](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign. + */ + customLabel4?: string | null; + /** + * Description of the item. + */ + description?: string | null; + /** + * The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information. + */ + disclosureDate?: string | null; + /** + * An identifier for an item for dynamic remarketing campaigns. + */ + displayAdsId?: string | null; + /** + * URL directly to your item's landing page for dynamic remarketing campaigns. + */ + displayAdsLink?: string | null; + /** + * Advertiser-specified recommendations. For more information, see [Display ads attribute specification](https://support.google.com/merchants/answer/6069387). + */ + displayAdsSimilarIds?: string[] | null; + /** + * Title of an item for dynamic remarketing campaigns. + */ + displayAdsTitle?: string | null; + /** + * Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387). + */ + displayAdsValue?: number | null; + /** + * The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. + */ + energyEfficiencyClass?: string | null; + /** + * The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). For more information, see [Excluded destination](https://support.google.com/merchants/answer/6324486). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions. + */ + excludedDestinations?: string[] | null; + /** + * Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future. + */ + expirationDate?: string | null; + /** + * Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account. + */ + externalSellerId?: string | null; + /** + * Conditions to be met for a product to have free shipping. + */ + freeShippingThreshold?: Schema$FreeShippingThreshold[]; + /** + * Target [gender](https://support.google.com/merchants/answer/6324479) of the item. + */ + gender?: string | null; + /** + * Google's category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API. + */ + googleProductCategory?: string | null; + /** + * Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the item. You can provide up to 10 GTINs. + */ + gtins?: string[] | null; + /** + * Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided. + */ + identifierExists?: boolean | null; + /** + * URL of an image of the item. + */ + imageLink?: string | null; + /** + * The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. For more information, see [Included destination](https://support.google.com/merchants/answer/7501026). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions. + */ + includedDestinations?: string[] | null; + /** + * Number and amount of installments to pay for an item. + */ + installment?: Schema$ProductInstallment; + /** + * Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price. + */ + isBundle?: boolean | null; + /** + * Shared identifier for all variants of the same product. + */ + itemGroupId?: string | null; + /** + * Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information. + */ + lifestyleImageLinks?: string[] | null; + /** + * URL directly linking to your item's page on your online store. + */ + link?: string | null; + /** + * [Link template](https://support.google.com/merchants/answer/13871172) for business hosted local storefront. + */ + linkTemplate?: string | null; + /** + * Loyalty points that users receive after purchasing the item. Japan only. + */ + loyaltyPoints?: Schema$LoyaltyPoints; + /** + * A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item. + */ + loyaltyPrograms?: Schema$LoyaltyProgram[]; + /** + * The [material](https://support.google.com/merchants/answer/6324410) of which the item is made. For example, "Leather" or "Cotton". + */ + material?: string | null; + /** + * The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. + */ + maxEnergyEfficiencyClass?: string | null; + /** + * Maximal product handling time (in business days). + */ + maxHandlingTime?: string | null; + /** + * Maximum retail price (MRP) of the item. Applicable to India only. + */ + maximumRetailPrice?: Schema$Price; + /** + * The [energy efficiency class](https://support.google.com/merchants/answer/7562785) as defined in EU directive 2010/30/EU. + */ + minEnergyEfficiencyClass?: string | null; + /** + * Minimal product handling time (in business days). + */ + minHandlingTime?: string | null; + /** + * URL for the mobile-optimized version of your item's landing page. + */ + mobileLink?: string | null; + /** + * [Link template](https://support.google.com/merchants/answer/13870216) for business hosted local storefront optimized for mobile devices. + */ + mobileLinkTemplate?: string | null; + /** + * Manufacturer Part Number ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the item. + */ + mpn?: string | null; + /** + * The number of identical products in a business-defined multipack. + */ + multipack?: string | null; + /** + * The item's [pattern](https://support.google.com/merchants/answer/6324483). For example, polka dots. + */ + pattern?: string | null; + /** + * Publication of this item will be temporarily [paused](https://support.google.com/merchants/answer/11909930). + */ + pause?: string | null; + /** + * The [pickup](https://support.google.com/merchants/answer/14634021) option for the item. + */ + pickupMethod?: string | null; + /** + * Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400). + */ + pickupSla?: string | null; + /** + * Price of the item. + */ + price?: Schema$Price; + /** + * Technical specification or additional product details. + */ + productDetails?: Schema$ProductDetail[]; + /** + * The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). + */ + productHeight?: Schema$ProductDimension; + /** + * Bullet points describing the most relevant [product highlights](https://support.google.com/merchants/answer/9216100). + */ + productHighlights?: string[] | null; + /** + * The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). + */ + productLength?: Schema$ProductDimension; + /** + * Categories of the item (formatted as in [product data specification](https://support.google.com/merchants/answer/7052112#product_category)). + */ + productTypes?: string[] | null; + /** + * The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive). + */ + productWeight?: Schema$ProductWeight; + /** + * The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). + */ + productWidth?: Schema$ProductDimension; + /** + * The unique ID of a promotion. + */ + promotionIds?: string[] | null; + /** + * Advertised sale price of the item. + */ + salePrice?: Schema$Price; + /** + * Date range during which the item is on sale, see [product data specification](https://support.google.com/merchants/answer/7052112#price_and_availability). + */ + salePriceEffectiveDate?: Schema$Interval; + /** + * The quantity of the product that is available for selling on Google. Supported only for online products. + */ + sellOnGoogleQuantity?: string | null; + /** + * Shipping rules. + */ + shipping?: Schema$Shipping[]; + /** + * Height of the item for shipping. + */ + shippingHeight?: Schema$ShippingDimension; + /** + * The shipping label of the product, used to group product in account-level shipping rules. + */ + shippingLabel?: string | null; + /** + * Length of the item for shipping. + */ + shippingLength?: Schema$ShippingDimension; + /** + * Weight of the item for shipping. + */ + shippingWeight?: Schema$ShippingWeight; + /** + * Width of the item for shipping. + */ + shippingWidth?: Schema$ShippingDimension; + /** + * List of country codes [(ISO 3166-1 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings. + */ + shoppingAdsExcludedCountries?: string[] | null; + /** + * Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value, see [Size](https://support.google.com/merchants/answer/6324492). + */ + size?: string | null; + /** + * System in which the size is specified. Recommended for apparel items. For more information, see [Size system](https://support.google.com/merchants/answer/6324502). + */ + sizeSystem?: string | null; + /** + * The cut of the item. It can be used to represent combined size types for apparel items. Maximum two of size types can be provided, see [Size type](https://support.google.com/merchants/answer/6324497). + */ + sizeTypes?: string[] | null; + /** + * Structured description, for algorithmically (AI)-generated descriptions. + */ + structuredDescription?: Schema$StructuredDescription; + /** + * Structured title, for algorithmically (AI)-generated titles. + */ + structuredTitle?: Schema$StructuredTitle; + /** + * Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract. + */ + subscriptionCost?: Schema$SubscriptionCost; + /** + * The list of sustainability incentive programs. + */ + sustainabilityIncentives?: Schema$ProductSustainabilityIncentive[]; + /** + * Title of the item. + */ + title?: string | null; + /** + * The transit time label of the product, used to group product in account-level transit time tables. + */ + transitTimeLabel?: string | null; + /** + * The preference of the denominator of the unit price. + */ + unitPricingBaseMeasure?: Schema$UnitPricingBaseMeasure; + /** + * The measure and dimension of an item. + */ + unitPricingMeasure?: Schema$UnitPricingMeasure; + /** + * URL of the 3D image of the item. See the [Help Center article](https://support.google.com/merchants/answer/13674896) for more information. + */ + virtualModelLink?: string | null; + } + /** + * Product [certification](https://support.google.com/merchants/answer/13528839), initially introduced for EU energy efficiency labeling compliance using the EU EPREL database. + */ + export interface Schema$ProductCertification { + /** + * The certification authority. + */ + certificationAuthority?: string | null; + /** + * The certification code. Maximum length is 2000 characters. + */ + certificationCode?: string | null; + /** + * The name of the certification. + */ + certificationName?: string | null; + /** + * The certification value (also known as class, level or grade), for example "A+", "C", "gold". Maximum length is 2000 characters. + */ + certificationValue?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The product details. + */ + export interface Schema$ProductDetail { + /** + * The name of the product detail. + */ + attributeName?: string | null; + /** + * The value of the product detail. + */ + attributeValue?: string | null; + /** + * The section header used to group a set of product details. + */ + sectionName?: string | null; + } + /** + * The dimension of the product. + */ + export interface Schema$ProductDimension { + /** + * Required. The dimension units. Acceptable values are: * "`in`" * "`cm`" + */ + unit?: string | null; + /** + * Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places. + */ + value?: number | null; + } + /** + * This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. For more information, see [Manage products](/merchant/api/guides/products/overview). Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the [Products Data Specification](https://support.google.com/merchants/answer/188494) with [some exceptions](https://support.google.com/merchants/answer/7052112). The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style. + */ + export interface Schema$ProductInput { + /** + * Required. Immutable. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product. + */ + contentLanguage?: string | null; + /** + * Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ "name": "size type", "value": "regular" \}`). This is useful for submitting attributes not explicitly exposed by the API. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion. + */ + customAttributes?: Schema$CustomAttribute[]; + /** + * Required. Immutable. The feed label that lets you categorize and identify your products. The maximum allowed characters are 20, and the supported characters are `A-Z`, `0-9`, hyphen, and underscore. The feed label must not include any spaces. For more information, see [Using feed labels](//support.google.com/merchants/answer/14994087). + */ + feedLabel?: string | null; + /** + * Immutable. Determines whether the product is **only** targeting local destinations and whether the product name should be distinguished with a `local~` prefix. For example, `accounts/123/productInputs/local~en~US~sku123`. If a product that is not `legacy_local` is already targeting local destinations, creating a `legacy_local` product with an otherwise matching name will fail. + */ + legacyLocal?: boolean | null; + /** + * 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; + /** + * Required. Immutable. Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. See the [products data specification](https://support.google.com/merchants/answer/188494#id) for details. + */ + offerId?: string | null; + /** + * Output only. The name of the processed product. Format: `accounts/{account\}/products/{product\}` + */ + product?: string | null; + /** + * Optional. A list of strongly-typed product attributes. + */ + productAttributes?: Schema$ProductAttributes; + /** + * Optional. Immutable. Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current `version_number`. Only supported for insertions into primary data sources. Do not set this field for updates. Do not set this field for insertions into supplemental data sources. If the operation is prevented, the aborted exception will be thrown. + */ + versionNumber?: string | null; + } + /** + * A message that represents installment. + */ + export interface Schema$ProductInstallment { + /** + * The amount the buyer has to pay per month. + */ + amount?: Schema$Price; + /** + * Type of installment payments. + */ + creditType?: string | null; + /** + * The up-front down payment amount the buyer has to pay. + */ + downpayment?: Schema$Price; + /** + * The number of installments the buyer has to pay. + */ + months?: string | null; + } + /** + * The status of a product, data validation issues, that is, information about a product computed asynchronously. + */ + export interface Schema$ProductStatus { + /** + * Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + */ + creationDate?: string | null; + /** + * The intended destinations for the product. + */ + destinationStatuses?: Schema$DestinationStatus[]; + /** + * Date on which the item expires, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + */ + googleExpirationDate?: string | null; + /** + * A list of all issues associated with the product. + */ + itemLevelIssues?: Schema$ItemLevelIssue[]; + /** + * Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + */ + lastUpdateDate?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * Information regarding sustainability-related incentive programs such as rebates or tax relief. + */ + export interface Schema$ProductSustainabilityIncentive { + /** + * The fixed amount of the incentive. + */ + amount?: Schema$Price; + /** + * The percentage of the sale price that the incentive is applied to. + */ + percentage?: number | null; + /** + * Sustainability incentive program. + */ + type?: string | null; + } + /** + * The weight of the product. + */ + export interface Schema$ProductWeight { + /** + * Required. The weight unit. Acceptable values are: * "`g`" * "`kg`" * "`oz`" * "`lb`" + */ + unit?: string | null; + /** + * Required. The weight represented as a number. The weight can have a maximum precision of four decimal places. + */ + value?: number | null; + } + /** + * The Shipping of the product. + */ + export interface Schema$Shipping { + /** + * The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. + */ + country?: string | null; + /** + * The location where the shipping is applicable, represented by a location group name. + */ + locationGroupName?: string | null; + /** + * The numeric ID of a location that the shipping rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting). + */ + locationId?: string | null; + /** + * Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minHandlingTime is optional if maxHandlingTime is present. + */ + maxHandlingTime?: string | null; + /** + * Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minTransitTime is optional if maxTransitTime is present. + */ + maxTransitTime?: string | null; + /** + * Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it is not required if maxHandlingTime is present. + */ + minHandlingTime?: string | null; + /** + * Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it is not required if maxTransitTime is present. + */ + minTransitTime?: string | null; + /** + * The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length. + */ + postalCode?: string | null; + /** + * Fixed shipping price, represented as a number. + */ + price?: Schema$Price; + /** + * The geographic region to which a shipping rate applies. See [region](https://support.google.com/merchants/answer/6324484) for more information. + */ + region?: string | null; + /** + * A free-form description of the service class or delivery speed. + */ + service?: string | null; + } + /** + * The ShippingDimension of the product. + */ + export interface Schema$ShippingDimension { + /** + * The unit of value. + */ + unit?: string | null; + /** + * The dimension of the product used to calculate the shipping cost of the item. + */ + value?: number | null; + } + /** + * The ShippingWeight of the product. + */ + export interface Schema$ShippingWeight { + /** + * The unit of value. + */ + unit?: string | null; + /** + * The weight of the product used to calculate the shipping cost of the item. + */ + value?: number | null; + } + /** + * Structured description, for algorithmically (AI)-generated descriptions. + */ + export interface Schema$StructuredDescription { + /** + * The description text Maximum length is 5000 characters + */ + content?: string | null; + /** + * The digital source type. Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). + */ + digitalSourceType?: string | null; + } + /** + * Structured title, for algorithmically (AI)-generated titles. + */ + export interface Schema$StructuredTitle { + /** + * The title text Maximum length is 150 characters + */ + content?: string | null; + /** + * The digital source type. Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). + */ + digitalSourceType?: string | null; + } + /** + * The SubscriptionCost of the product. + */ + export interface Schema$SubscriptionCost { + /** + * The amount the buyer has to pay per subscription period. + */ + amount?: Schema$Price; + /** + * The type of subscription period. Supported values are: * "`month`" * "`year`" + */ + period?: string | null; + /** + * The number of subscription periods the buyer has to pay. + */ + periodLength?: string | null; + } + /** + * The UnitPricingBaseMeasure of the product. + */ + export interface Schema$UnitPricingBaseMeasure { + /** + * The unit of the denominator. + */ + unit?: string | null; + /** + * The denominator of the unit price. + */ + value?: string | null; + } + /** + * The UnitPricingMeasure of the product. + */ + export interface Schema$UnitPricingMeasure { + /** + * The unit of the measure. + */ + unit?: string | null; + /** + * The measure of an item. + */ + value?: number | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + productInputs: Resource$Accounts$Productinputs; + products: Resource$Accounts$Products; + constructor(context: APIRequestContext) { + this.context = context; + this.productInputs = new Resource$Accounts$Productinputs(this.context); + this.products = new Resource$Accounts$Products(this.context); + } + } + + export class Resource$Accounts$Productinputs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a product input from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('products_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await 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: `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); + * + * // 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$Accounts$Productinputs$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounts$Productinputs$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounts$Productinputs$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Productinputs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Productinputs$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Productinputs$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Productinputs$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Productinputs$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/products/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); + } + } + + /** + * [Uploads a product input to your Merchant Center account](/merchant/api/guides/products/overview#upload-product-input). You must have a products [data source](/merchant/api/guides/data-sources/overview) to be able to insert a product. The unique identifier of the data source is passed as a query parameter in the request URL. If a product input with the same contentLanguage, offerId, and dataSource already exists, then the product input inserted by this method replaces that entry. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('products_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.productInputs.insert({ + * // Required. The primary or supplemental product data source name. If the product already exists and data source provided is different, then the product will be moved to a new data source. For more information, see [Overview of Data sources sub-API](/merchant/api/guides/data-sources/overview). Only API data sources are supported. Format: `accounts/{account\}/dataSources/{datasource\}`. For example, `accounts/123456/dataSources/104628`. + * dataSource: 'placeholder-value', + * // Required. The account where this product will be inserted. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "contentLanguage": "my_contentLanguage", + * // "customAttributes": [], + * // "feedLabel": "my_feedLabel", + * // "legacyLocal": false, + * // "name": "my_name", + * // "offerId": "my_offerId", + * // "product": "my_product", + * // "productAttributes": {}, + * // "versionNumber": "my_versionNumber" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "contentLanguage": "my_contentLanguage", + * // "customAttributes": [], + * // "feedLabel": "my_feedLabel", + * // "legacyLocal": false, + * // "name": "my_name", + * // "offerId": "my_offerId", + * // "product": "my_product", + * // "productAttributes": {}, + * // "versionNumber": "my_versionNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Accounts$Productinputs$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Accounts$Productinputs$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Accounts$Productinputs$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Productinputs$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Productinputs$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Accounts$Productinputs$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Productinputs$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Productinputs$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/products/v1/{+parent}/productInputs:insert' + ).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); + } + } + + /** + * Updates the existing product input in your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('products_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await 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: `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', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "contentLanguage": "my_contentLanguage", + * // "customAttributes": [], + * // "feedLabel": "my_feedLabel", + * // "legacyLocal": false, + * // "name": "my_name", + * // "offerId": "my_offerId", + * // "product": "my_product", + * // "productAttributes": {}, + * // "versionNumber": "my_versionNumber" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "contentLanguage": "my_contentLanguage", + * // "customAttributes": [], + * // "feedLabel": "my_feedLabel", + * // "legacyLocal": false, + * // "name": "my_name", + * // "offerId": "my_offerId", + * // "product": "my_product", + * // "productAttributes": {}, + * // "versionNumber": "my_versionNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Productinputs$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounts$Productinputs$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounts$Productinputs$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Productinputs$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Productinputs$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Productinputs$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Productinputs$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Productinputs$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/products/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$Accounts$Productinputs$Delete + extends StandardParameters { + /** + * 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?: string; + /** + * 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; + } + export interface Params$Resource$Accounts$Productinputs$Insert + extends StandardParameters { + /** + * Required. The primary or supplemental product data source name. If the product already exists and data source provided is different, then the product will be moved to a new data source. For more information, see [Overview of Data sources sub-API](/merchant/api/guides/data-sources/overview). Only API data sources are supported. Format: `accounts/{account\}/dataSources/{datasource\}`. For example, `accounts/123456/dataSources/104628`. + */ + dataSource?: string; + /** + * Required. The account where this product will be inserted. Format: `accounts/{account\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProductInput; + } + export interface Params$Resource$Accounts$Productinputs$Patch + extends StandardParameters { + /** + * 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?: string; + /** + * 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; + /** + * 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?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProductInput; + } + + export class Resource$Accounts$Products { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the processed product from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the updated final product can be retrieved. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('products_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.products.get({ + * // 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); + * + * // Example response + * // { + * // "automatedDiscounts": {}, + * // "contentLanguage": "my_contentLanguage", + * // "customAttributes": [], + * // "dataSource": "my_dataSource", + * // "feedLabel": "my_feedLabel", + * // "legacyLocal": false, + * // "name": "my_name", + * // "offerId": "my_offerId", + * // "productAttributes": {}, + * // "productStatus": {}, + * // "versionNumber": "my_versionNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Products$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Products$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Products$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Products$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Products$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Products$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Products$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Products$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/products/v1/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the processed products in your Merchant Center account. The response might contain fewer items than specified by `pageSize`. Rely on `pageToken` to determine if there are more items to be requested. After inserting, updating, or deleting a product input, it may take several minutes before the updated processed product can be retrieved. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('products_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.products.list({ + * // The maximum number of products to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the default page size of 25 products will be returned. + * pageSize: 'placeholder-value', + * // A page token, received from a previous `ListProducts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProducts` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The account to list processed products for. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "products": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Products$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Products$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Products$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Products$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Products$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Products$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Products$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Products$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/products/v1/{+parent}/products').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$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: `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; + } + export interface Params$Resource$Accounts$Products$List + extends StandardParameters { + /** + * The maximum number of products to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the default page size of 25 products will be returned. + */ + pageSize?: number; + /** + * A page token, received from a previous `ListProducts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProducts` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account to list processed products for. Format: `accounts/{account\}` + */ + parent?: string; + } +} diff --git a/src/apis/merchantapi/promotions_v1.ts b/src/apis/merchantapi/promotions_v1.ts new file mode 100644 index 0000000000..a3d5265d06 --- /dev/null +++ b/src/apis/merchantapi/promotions_v1.ts @@ -0,0 +1,995 @@ +// 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 merchantapi_promotions_v1 { + export interface Options extends GlobalOptions { + version: 'promotions_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('promotions_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * Attributes. + */ + export interface Schema$Attributes { + /** + * Optional. Product filter by [brand exclusion](https://support.google.com/merchants/answer/13861679?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + brandExclusion?: string[] | null; + /** + * Optional. Product filter by brand for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + brandInclusion?: string[] | null; + /** + * Required. The [coupon value type] (https://support.google.com/merchants/answer/13861986?ref_topic=13773355&sjid=17642868584668136159-NC) attribute to signal the type of promotion that you are running. Depending on type of the selected coupon value [some attributes are required](https://support.google.com/merchants/answer/6393006?ref_topic=7322920). + */ + couponValueType?: string | null; + /** + * Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. + */ + freeGiftDescription?: string | null; + /** + * Optional. [Free gift item ID](https://support.google.com/merchants/answer/13857152?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. + */ + freeGiftItemId?: string | null; + /** + * Optional. [Free gift value](https://support.google.com/merchants/answer/13844477?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. + */ + freeGiftValue?: Schema$Price; + /** + * Optional. Generic redemption code for the promotion. To be used with the `offerType` field and must meet the [minimum requirements](https://support.google.com/merchants/answer/13837405?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + genericRedemptionCode?: string | null; + /** + * Optional. The number of items discounted in the promotion. The attribute is set when `couponValueType` is equal to `buy_m_get_n_money_off` or `buy_m_get_n_percent_off`. + */ + getThisQuantityDiscounted?: string | null; + /** + * Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion. + */ + itemGroupIdExclusion?: string[] | null; + /** + * Optional. Product filter by item group ID for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability [product_applicability] attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + itemGroupIdInclusion?: string[] | null; + /** + * Optional. Product filter by [item ID exclusion](https://support.google.com/merchants/answer/13863524?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + itemIdExclusion?: string[] | null; + /** + * Optional. Product filter by [item ID](https://support.google.com/merchants/answer/13861565?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + itemIdInclusion?: string[] | null; + /** + * Optional. [Maximum purchase quantity](https://support.google.com/merchants/answer/13861564?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. + */ + limitQuantity?: string | null; + /** + * Optional. [Maximum product price](https://support.google.com/merchants/answer/2906014) for promotion. + */ + limitValue?: Schema$Price; + /** + * Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. + */ + longTitle?: string | null; + /** + * Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. + */ + minimumPurchaseAmount?: Schema$Price; + minimumPurchaseQuantity?: string | null; + /** + * Optional. The [money off amount](https://support.google.com/merchants/answer/13838101?ref_topic=13773355&sjid=17642868584668136159-NC) offered in the promotion. + */ + moneyOffAmount?: Schema$Price; + /** + * Required. [Type](https://support.google.com/merchants/answer/13837405?ref_topic=13773355&sjid=17642868584668136159-NC) of the promotion. Use this attribute to indicate whether or not customers need a coupon code to redeem your promotion. + */ + offerType?: string | null; + /** + * Optional. The [percentage discount](https://support.google.com/merchants/answer/13837404?sjid=17642868584668136159-NC) offered in the promotion. + */ + percentOff?: string | null; + /** + * Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). + */ + productApplicability?: string | null; + /** + * Optional. Product filter by [product type exclusion](https://support.google.com/merchants/answer/13863746?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + productTypeExclusion?: string[] | null; + /** + * Optional. Product filter by product type for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + productTypeInclusion?: string[] | null; + /** + * 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; + /** + * Optional. `TimePeriod` representation of the promotion's display dates. This attribute specifies the date and time frame when the promotion will be live on Google.com and Shopping ads. If the display time period for promotion `promotion_display_time_period` attribute is not specified, the promotion effective time period `promotion_effective_time_period` determines the date and time frame when the promotion will be live on Google.com and Shopping ads. + */ + promotionDisplayTimePeriod?: Schema$Interval; + /** + * Required. `TimePeriod` representation of the promotion's effective dates. This attribute specifies that the promotion can be tested on your online store during this time period. + */ + promotionEffectiveTimePeriod?: Schema$Interval; + /** + * Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed. + */ + promotionUrl?: string | null; + /** + * Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value. + */ + storeApplicability?: string | null; + /** + * Optional. [Store codes to exclude](https://support.google.com/merchants/answer/13859586?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The store filter attributes only applies when the `store_applicability` attribute is set to [specific_stores](https://support.google.com/merchants/answer/13857563?ref_topic=13773355&sjid=17642868584668136159-NC). + */ + storeCodesExclusion?: string[] | null; + /** + * Optional. [Store codes to include](https://support.google.com/merchants/answer/13857470?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The store filter attributes only applies when the `store_applicability` attribute is set to [specific_stores](https://support.google.com/merchants/answer/13857563?ref_topic=13773355&sjid=17642868584668136159-NC). Store code (the store ID from your Business Profile) of the physical store the product is sold in. See the [Local product inventory data specification](https://support.google.com/merchants/answer/3061342) for more information. + */ + storeCodesInclusion?: string[] | null; + } + /** + * A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty. + */ + export interface Schema$CustomAttribute { + /** + * Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty. + */ + groupValues?: Schema$CustomAttribute[]; + /** + * The name of the attribute. + */ + name?: string | null; + /** + * The value of the attribute. If `value` is not empty, `group_values` must be empty. + */ + value?: string | null; + } + /** + * The status for the specified destination. + */ + export interface Schema$DestinationStatus { + /** + * Output only. The name of the promotion destination. + */ + reportingContext?: string | null; + /** + * Output only. The status for the specified destination. + */ + status?: string | null; + } + /** + * Request message for the `InsertPromotion` method. + */ + export interface Schema$InsertPromotionRequest { + /** + * Required. The data source of the [promotion](https://support.google.com/merchants/answer/6396268?sjid=5155774230887277618-NC) Format: `accounts/{account\}/dataSources/{datasource\}`. + */ + dataSource?: string | null; + /** + * Required. The promotion to insert. + */ + promotion?: Schema$Promotion; + } + /** + * Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. + */ + export interface Schema$Interval { + /** + * Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. + */ + endTime?: string | null; + /** + * Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. + */ + startTime?: string | null; + } + /** + * The issue associated with the promotion. + */ + export interface Schema$ItemLevelIssue { + /** + * Output only. List of country codes (ISO 3166-1 alpha-2) where issue applies to the offer. + */ + applicableCountries?: string[] | null; + /** + * Output only. The attribute's name, if the issue is caused by a single attribute. + */ + attribute?: string | null; + /** + * Output only. The error code of the issue. + */ + code?: string | null; + /** + * Output only. A short issue description in English. + */ + description?: string | null; + /** + * Output only. A detailed issue description in English. + */ + detail?: string | null; + /** + * Output only. The URL of a web page to help with resolving this issue. + */ + documentation?: string | null; + /** + * Output only. The destination the issue applies to. + */ + reportingContext?: string | null; + /** + * Output only. Whether the issue can be resolved by the merchant. + */ + resolution?: string | null; + /** + * Output only. How this issue affects serving of the promotion. + */ + severity?: string | null; + } + /** + * Response message for the `ListPromotions` method. + */ + export interface Schema$ListPromotionsResponse { + /** + * 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 processed promotions from the specified account. + */ + promotions?: Schema$Promotion[]; + } + /** + * The price represented as a number and currency. + */ + export interface Schema$Price { + /** + * The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). + */ + amountMicros?: string | null; + /** + * The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). + */ + currencyCode?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * Represents a promotion. See the following articles for more details. Required promotion input attributes to pass data validation checks are primarily defined below: * [Promotions data specification](https://support.google.com/merchants/answer/2906014) * [Local promotions data specification](https://support.google.com/merchants/answer/10146130) After inserting, updating a promotion input, it may take several minutes before the final promotion can be retrieved. + */ + export interface Schema$Promotion { + /** + * Optional. A list of promotion attributes. + */ + attributes?: Schema$Attributes; + /** + * Required. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the promotion. Promotions is only for [selected languages](https://support.google.com/merchants/answer/4588281?ref_topic=6396150&sjid=18314938579342094533-NC#option3&zippy=). + */ + contentLanguage?: string | null; + /** + * Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ "name": "size type", "value": "regular" \}`). This is useful for submitting attributes not explicitly exposed by the API. + */ + customAttributes?: Schema$CustomAttribute[]; + /** + * Output only. The primary data source of the promotion. + */ + dataSource?: string | null; + /** + * Identifier. The name of the promotion. Format: `accounts/{account\}/promotions/{promotion\}` + */ + name?: string | null; + /** + * Required. The user provided promotion ID to uniquely identify the promotion. Follow [minimum requirements](https://support.google.com/merchants/answer/7050148?ref_topic=7322920&sjid=871860036916537104-NC#minimum_requirements) to prevent promotion disapprovals. + */ + promotionId?: string | null; + /** + * Output only. The [status of a promotion](https://support.google.com/merchants/answer/3398326?ref_topic=7322924&sjid=5155774230887277618-NC), data validation issues, that is, information about a promotion computed asynchronously. + */ + promotionStatus?: Schema$PromotionStatus; + /** + * Required. [Redemption channel](https://support.google.com/merchants/answer/13837674?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. At least one channel is required. + */ + redemptionChannel?: string[] | null; + /** + * Required. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected countries, [Free Listings and Shopping ads](https://support.google.com/merchants/answer/4588460) [Local Inventory ads](https://support.google.com/merchants/answer/10146326) + */ + targetCountry?: string | null; + /** + * Optional. Represents the existing version (freshness) of the promotion, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing promotion. Re-insertion (for example, promotion refresh after 30 days) can be performed with the current `version_number`. If the operation is prevented, the aborted exception will be thrown. + */ + versionNumber?: string | null; + } + /** + * The status of the promotion. + */ + export interface Schema$PromotionStatus { + /** + * Output only. Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example `2020-01-02T09:00:00+01:00` or `2020-01-02T09:00:00Z` + */ + creationDate?: string | null; + /** + * Output only. The intended destinations for the promotion. + */ + destinationStatuses?: Schema$DestinationStatus[]; + /** + * Output only. A list of issues associated with the promotion. + */ + itemLevelIssues?: Schema$ItemLevelIssue[]; + /** + * Output only. Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example `2020-01-02T09:00:00+01:00` or `2020-01-02T09:00:00Z` + */ + lastUpdateDate?: string | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + promotions: Resource$Accounts$Promotions; + constructor(context: APIRequestContext) { + this.context = context; + this.promotions = new Resource$Accounts$Promotions(this.context); + } + } + + export class Resource$Accounts$Promotions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the promotion from your Merchant Center account. After inserting or updating a promotion input, it may take several minutes before the updated promotion can be retrieved. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('promotions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.promotions.get({ + * // Required. The name of the promotion to retrieve. Format: `accounts/{account\}/promotions/{promotions\}` + * name: 'accounts/my-account/promotions/my-promotion', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "attributes": {}, + * // "contentLanguage": "my_contentLanguage", + * // "customAttributes": [], + * // "dataSource": "my_dataSource", + * // "name": "my_name", + * // "promotionId": "my_promotionId", + * // "promotionStatus": {}, + * // "redemptionChannel": [], + * // "targetCountry": "my_targetCountry", + * // "versionNumber": "my_versionNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Promotions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounts$Promotions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounts$Promotions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Promotions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Promotions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Promotions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Promotions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Promotions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/promotions/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); + } + } + + /** + * Inserts a promotion for your Merchant Center account. If the promotion already exists, then it updates the promotion instead. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('promotions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.promotions.insert({ + * // Required. The account where the promotion will be inserted. Format: accounts/{account\} + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataSource": "my_dataSource", + * // "promotion": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "attributes": {}, + * // "contentLanguage": "my_contentLanguage", + * // "customAttributes": [], + * // "dataSource": "my_dataSource", + * // "name": "my_name", + * // "promotionId": "my_promotionId", + * // "promotionStatus": {}, + * // "redemptionChannel": [], + * // "targetCountry": "my_targetCountry", + * // "versionNumber": "my_versionNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Accounts$Promotions$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Accounts$Promotions$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Accounts$Promotions$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Promotions$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Promotions$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Accounts$Promotions$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Promotions$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Promotions$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/promotions/v1/{+parent}/promotions:insert' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the promotions in your Merchant Center account. The response might contain fewer items than specified by `pageSize`. Rely on `pageToken` to determine if there are more items to be requested. After inserting or updating a promotion, it may take several minutes before the updated processed promotion can be retrieved. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('promotions_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.promotions.list({ + * // Optional. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The account to list processed promotions for. Format: `accounts/{account\}` + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "promotions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Promotions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Promotions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Promotions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Promotions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Promotions$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Promotions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Promotions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Promotions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/promotions/v1/{+parent}/promotions').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$Accounts$Promotions$Get + extends StandardParameters { + /** + * Required. The name of the promotion to retrieve. Format: `accounts/{account\}/promotions/{promotions\}` + */ + name?: string; + } + export interface Params$Resource$Accounts$Promotions$Insert + extends StandardParameters { + /** + * Required. The account where the promotion will be inserted. Format: accounts/{account\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InsertPromotionRequest; + } + export interface Params$Resource$Accounts$Promotions$List + extends StandardParameters { + /** + * Optional. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account to list processed promotions for. Format: `accounts/{account\}` + */ + parent?: string; + } +} diff --git a/src/apis/merchantapi/promotions_v1beta.ts b/src/apis/merchantapi/promotions_v1beta.ts index ff3e54d8e7..1161e87874 100644 --- a/src/apis/merchantapi/promotions_v1beta.ts +++ b/src/apis/merchantapi/promotions_v1beta.ts @@ -844,9 +844,9 @@ export namespace merchantapi_promotions_v1beta { * * // Do the magic * const res = await merchantapi.accounts.promotions.list({ - * // Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned. + * // Optional. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned. * pageSize: 'placeholder-value', - * // Output only. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token. + * // Optional. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token. * pageToken: 'placeholder-value', * // Required. The account to list processed promotions for. Format: `accounts/{account\}` * parent: 'accounts/my-account', @@ -980,11 +980,11 @@ export namespace merchantapi_promotions_v1beta { export interface Params$Resource$Accounts$Promotions$List extends StandardParameters { /** - * Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned. + * Optional. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned. */ pageSize?: number; /** - * Output only. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token. + * Optional. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token. */ pageToken?: string; /** diff --git a/src/apis/merchantapi/quota_v1.ts b/src/apis/merchantapi/quota_v1.ts new file mode 100644 index 0000000000..872b0b8914 --- /dev/null +++ b/src/apis/merchantapi/quota_v1.ts @@ -0,0 +1,424 @@ +// 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 merchantapi_quota_v1 { + export interface Options extends GlobalOptions { + version: 'quota_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('quota_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * Response message for the ListMethodGroups method. + */ + export interface Schema$ListQuotaGroupsResponse { + /** + * 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 methods, current quota usage and limits per each group. The quota is shared between all methods in the group. The groups are sorted in descending order based on quota_usage. + */ + quotaGroups?: Schema$QuotaGroup[]; + } + /** + * The method details per method in the Merchant API. + */ + export interface Schema$MethodDetails { + /** + * Output only. The name of the method for example `products.list`. + */ + method?: string | null; + /** + * Output only. The path for the method such as `products/v1/productInputs.insert` + */ + path?: string | null; + /** + * Output only. The sub-API that the method belongs to. + */ + subapi?: string | null; + /** + * Output only. The API version that the method belongs to. + */ + version?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * The group information for methods in the Merchant API. The quota is shared between all methods in the group. Even if none of the methods within the group have usage the information for the group is returned. + */ + export interface Schema$QuotaGroup { + /** + * Output only. List of all methods group quota applies to. + */ + methodDetails?: Schema$MethodDetails[]; + /** + * Identifier. The resource name of the quota group. Format: accounts/{account\}/quotas/{group\} Note: There is no guarantee on the format of {group\} + */ + name?: string | null; + /** + * Output only. The maximum number of calls allowed per day for the group. + */ + quotaLimit?: string | null; + /** + * Output only. The maximum number of calls allowed per minute for the group. + */ + quotaMinuteLimit?: string | null; + /** + * Output only. The current quota usage, meaning the number of calls already made on a given day to the methods in the group. The daily quota limits reset at at 12:00 PM midday UTC. + */ + quotaUsage?: string | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + quotas: Resource$Accounts$Quotas; + constructor(context: APIRequestContext) { + this.context = context; + this.quotas = new Resource$Accounts$Quotas(this.context); + } + } + + export class Resource$Accounts$Quotas { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists the daily call quota and usage per group for your Merchant Center account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('quota_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.quotas.list({ + * // Optional. The maximum number of quotas to return in the response, used for paging. Defaults to 500; values above 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The merchant account who owns the collection of method quotas Format: accounts/{account\} + * parent: 'accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "quotaGroups": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Quotas$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounts$Quotas$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounts$Quotas$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Quotas$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Quotas$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Quotas$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Quotas$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Quotas$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/quota/v1/{+parent}/quotas').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$Accounts$Quotas$List + extends StandardParameters { + /** + * Optional. The maximum number of quotas to return in the response, used for paging. Defaults to 500; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. + */ + pageToken?: string; + /** + * Required. The merchant account who owns the collection of method quotas Format: accounts/{account\} + */ + parent?: string; + } +} diff --git a/src/apis/merchantapi/reports_v1.ts b/src/apis/merchantapi/reports_v1.ts new file mode 100644 index 0000000000..ed8b6fa415 --- /dev/null +++ b/src/apis/merchantapi/reports_v1.ts @@ -0,0 +1,1205 @@ +// 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 merchantapi_reports_v1 { + export interface Options extends GlobalOptions { + version: 'reports_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; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('reports_v1'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * Fields available for query in `best_sellers_brand_view` table. [Best sellers](https://support.google.com/merchants/answer/9488679) report with top brands. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$BestSellersBrandView { + /** + * Name of the brand. + */ + brand?: string | null; + /** + * Popularity rank in the previous week or month. + */ + previousRank?: string | null; + /** + * Estimated demand in relation to the brand with the highest popularity rank in the same category and country in the previous week or month. + */ + previousRelativeDemand?: string | null; + /** + * Popularity of the brand on Ads and organic surfaces, in the selected category and country, based on the estimated number of units sold. + */ + rank?: string | null; + /** + * Estimated demand in relation to the brand with the highest popularity rank in the same category and country. + */ + relativeDemand?: string | null; + /** + * Change in the estimated demand. Whether it rose, sank or remained flat. + */ + relativeDemandChange?: string | null; + /** + * Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. If a `WHERE` condition on `report_category_id` is not specified in the query, rankings for all top-level categories are returned. + */ + reportCategoryId?: string | null; + /** + * Country where the ranking is calculated. Represented in the ISO 3166 format. Required in the `SELECT` clause. Condition on `report_country_code` is required in the `WHERE` clause. + */ + reportCountryCode?: string | null; + /** + * Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports, * The first day of the month for monthly reports. Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is not specified in the query, the latest available weekly or monthly report is returned. + */ + reportDate?: Schema$Date; + /** + * Granularity of the report. The ranking can be done over a week or a month timeframe. Required in the `SELECT` clause. Condition on `report_granularity` is required in the `WHERE` clause. + */ + reportGranularity?: string | null; + } + /** + * Fields available for query in `best_sellers_product_cluster_view` table. [Best sellers](https://support.google.com/merchants/answer/9488679) report with top product clusters. A product cluster is a grouping for different offers and variants that represent the same product, for example, Google Pixel 7. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$BestSellersProductClusterView { + /** + * Brand of the product cluster. + */ + brand?: string | null; + /** + * Whether there is at least one product of the brand currently `IN_STOCK` in your product data source in at least one of the countries, all products are `OUT_OF_STOCK` in your product data source in all countries, or `NOT_IN_INVENTORY`. The field doesn't take the Best sellers report country filter into account. + */ + brandInventoryStatus?: string | null; + /** + * Product category (1st level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL1?: string | null; + /** + * Product category (2nd level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL2?: string | null; + /** + * Product category (3rd level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL3?: string | null; + /** + * Product category (4th level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL4?: string | null; + /** + * Product category (5th level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL5?: string | null; + /** + * Whether the product cluster is `IN_STOCK` in your product data source in at least one of the countries, `OUT_OF_STOCK` in your product data source in all countries, or `NOT_IN_INVENTORY` at all. The field doesn't take the Best sellers report country filter into account. + */ + inventoryStatus?: string | null; + /** + * Popularity rank in the previous week or month. + */ + previousRank?: string | null; + /** + * Estimated demand in relation to the product cluster with the highest popularity rank in the same category and country in the previous week or month. + */ + previousRelativeDemand?: string | null; + /** + * Popularity of the product cluster on Ads and organic surfaces, in the selected category and country, based on the estimated number of units sold. + */ + rank?: string | null; + /** + * Estimated demand in relation to the product cluster with the highest popularity rank in the same category and country. + */ + relativeDemand?: string | null; + /** + * Change in the estimated demand. Whether it rose, sank or remained flat. + */ + relativeDemandChange?: string | null; + /** + * Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. If a `WHERE` condition on `report_category_id` is not specified in the query, rankings for all top-level categories are returned. + */ + reportCategoryId?: string | null; + /** + * Country where the ranking is calculated. Represented in the ISO 3166 format. Required in the `SELECT` clause. Condition on `report_country_code` is required in the `WHERE` clause. + */ + reportCountryCode?: string | null; + /** + * Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports, * The first day of the month for monthly reports. Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is not specified in the query, the latest available weekly or monthly report is returned. + */ + reportDate?: Schema$Date; + /** + * Granularity of the report. The ranking can be done over a week or a month timeframe. Required in the `SELECT` clause. Condition on `report_granularity` is required in the `WHERE` clause. + */ + reportGranularity?: string | null; + /** + * Title of the product cluster. + */ + title?: string | null; + /** + * GTINs of example variants of the product cluster. + */ + variantGtins?: string[] | null; + } + /** + * Fields available for query in `competitive_visibility_benchmark_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with the category benchmark. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$CompetitiveVisibilityBenchmarkView { + /** + * Change in visibility based on impressions with respect to the start of the selected time range (or first day with non-zero impressions) for a combined set of merchants with highest visibility approximating the market. Cannot be filtered on in the 'WHERE' clause. + */ + categoryBenchmarkVisibilityTrend?: number | null; + /** + * Date of this row. Required in the `SELECT` clause. A condition on `date` is required in the `WHERE` clause. + */ + date?: Schema$Date; + /** + * Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause. + */ + reportCategoryId?: string | null; + /** + * Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause. + */ + reportCountryCode?: string | null; + /** + * Traffic source of impressions. Required in the `SELECT` clause. + */ + trafficSource?: string | null; + /** + * Change in visibility based on impressions for your domain with respect to the start of the selected time range (or first day with non-zero impressions). Cannot be filtered on in the 'WHERE' clause. + */ + yourDomainVisibilityTrend?: number | null; + } + /** + * Fields available for query in `competitive_visibility_competitor_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with businesses with similar visibility. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$CompetitiveVisibilityCompetitorView { + /** + * [Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) shows how often the domain receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Cannot be filtered on in the 'WHERE' clause. + */ + adsOrganicRatio?: number | null; + /** + * Date of this row. A condition on `date` is required in the `WHERE` clause. + */ + date?: Schema$Date; + /** + * Domain of your competitor or your domain, if 'is_your_domain' is true. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause. + */ + domain?: string | null; + /** + * [Higher position rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) shows how often a competitor’s offer got placed in a higher position on the page than your offer. Cannot be filtered on in the 'WHERE' clause. + */ + higherPositionRate?: number | null; + /** + * True if this row contains data for your domain. Cannot be filtered on in the 'WHERE' clause. + */ + isYourDomain?: boolean | null; + /** + * [Page overlap rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) shows how frequently competing retailers’ offers are shown together with your offers on the same page. Cannot be filtered on in the 'WHERE' clause. + */ + pageOverlapRate?: number | null; + /** + * Position of the domain in the similar businesses ranking for the selected keys (`date`, `report_category_id`, `report_country_code`, `traffic_source`) based on impressions. 1 is the highest. Cannot be filtered on in the 'WHERE' clause. + */ + rank?: string | null; + /** + * [Relative visibility] (https://support.google.com/merchants/answer/11366442#zippy=%2Crelative-visibility) shows how often your competitors’ offers are shown compared to your offers. In other words, this is the number of displayed impressions of a competitor retailer divided by the number of your displayed impressions during a selected time range for a selected product category and country. Cannot be filtered on in the 'WHERE' clause. + */ + relativeVisibility?: number | null; + /** + * Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause. + */ + reportCategoryId?: string | null; + /** + * Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause. + */ + reportCountryCode?: string | null; + /** + * Traffic source of impressions. Required in the `SELECT` clause. + */ + trafficSource?: string | null; + } + /** + * Fields available for query in `competitive_visibility_top_merchant_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with business with highest visibility. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$CompetitiveVisibilityTopMerchantView { + /** + * [Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) shows how often the domain receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Cannot be filtered on in the 'WHERE' clause. + */ + adsOrganicRatio?: number | null; + /** + * Date of this row. Cannot be selected in the `SELECT` clause. A condition on `date` is required in the `WHERE` clause. + */ + date?: Schema$Date; + /** + * Domain of your competitor or your domain, if 'is_your_domain' is true. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause. + */ + domain?: string | null; + /** + * [Higher position rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) shows how often a competitor’s offer got placed in a higher position on the page than your offer. Cannot be filtered on in the 'WHERE' clause. + */ + higherPositionRate?: number | null; + /** + * True if this row contains data for your domain. Cannot be filtered on in the 'WHERE' clause. + */ + isYourDomain?: boolean | null; + /** + * [Page overlap rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) shows how frequently competing retailers’ offers are shown together with your offers on the same page. Cannot be filtered on in the 'WHERE' clause. + */ + pageOverlapRate?: number | null; + /** + * Position of the domain in the top merchants ranking for the selected keys (`date`, `report_category_id`, `report_country_code`, `traffic_source`) based on impressions. 1 is the highest. Cannot be filtered on in the 'WHERE' clause. + */ + rank?: string | null; + /** + * Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause. + */ + reportCategoryId?: string | null; + /** + * Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause. + */ + reportCountryCode?: string | null; + /** + * Traffic source of impressions. Required in the `SELECT` clause. + */ + trafficSource?: string | null; + } + /** + * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + */ + export interface Schema$Date { + /** + * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + */ + day?: number | null; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + month?: number | null; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + year?: number | null; + } + /** + * Issue severity per reporting context. + */ + export interface Schema$IssueSeverityPerReportingContext { + /** + * List of demoted countries in the reporting context, represented in ISO 3166 format. + */ + demotedCountries?: string[] | null; + /** + * List of disapproved countries in the reporting context, represented in ISO 3166 format. + */ + disapprovedCountries?: string[] | null; + /** + * Reporting context the issue applies to. + */ + reportingContext?: string | null; + } + /** + * Item issue associated with the product. + */ + export interface Schema$ItemIssue { + /** + * Item issue resolution. + */ + resolution?: string | null; + /** + * Item issue severity. + */ + severity?: Schema$ItemIssueSeverity; + /** + * Item issue type. + */ + type?: Schema$ItemIssueType; + } + /** + * How the issue affects the serving of the product. + */ + export interface Schema$ItemIssueSeverity { + /** + * Aggregated severity of the issue for all reporting contexts it affects. **This field can be used for filtering the results.** + */ + aggregatedSeverity?: string | null; + /** + * Issue severity per reporting context. + */ + severityPerReportingContext?: Schema$IssueSeverityPerReportingContext[]; + } + /** + * Issue type. + */ + export interface Schema$ItemIssueType { + /** + * Canonical attribute name for attribute-specific issues. + */ + canonicalAttribute?: string | null; + /** + * Error code of the issue, equivalent to the `code` of [Product issues](https://developers.google.com/shopping-content/guides/product-issues). + */ + code?: string | null; + } + /** + * Fields available for query in `non_product_performance_view` table. Performance data on images and online store links leading to your non-product pages. This includes performance metrics (for example, `clicks`) and dimensions according to which performance metrics are segmented (for example, `date`). Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$NonProductPerformanceView { + /** + * Number of clicks on images and online store links leading to your non-product pages. Metric. + */ + clicks?: string | null; + /** + * Click-through rate - the number of clicks (`clicks`) divided by the number of impressions (`impressions`) of images and online store links leading to your non-product pages. Metric. + */ + clickThroughRate?: number | null; + /** + * Date in the merchant timezone to which metrics apply. Segment. Condition on `date` is required in the `WHERE` clause. + */ + date?: Schema$Date; + /** + * Number of times images and online store links leading to your non-product pages were shown. Metric. + */ + impressions?: string | null; + /** + * First day of the week (Monday) of the metrics date in the merchant timezone. Segment. + */ + week?: Schema$Date; + } + /** + * The price represented as a number and currency. + */ + export interface Schema$Price { + /** + * The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). + */ + amountMicros?: string | null; + /** + * The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). + */ + currencyCode?: string | null; + } + /** + * Fields available for query in `price_competitiveness_product_view` table. [Price competitiveness](https://support.google.com/merchants/answer/9626903) report. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$PriceCompetitivenessProductView { + /** + * Latest available price benchmark for the product's catalog in the benchmark country. + */ + benchmarkPrice?: Schema$Price; + /** + * Brand of the product. + */ + brand?: string | null; + /** + * Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL1?: string | null; + /** + * Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL2?: string | null; + /** + * Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL3?: string | null; + /** + * Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL4?: string | null; + /** + * Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL5?: string | null; + /** + * REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Can be used to join data with the `product_view` table. Required in the `SELECT` clause. + */ + id?: string | null; + /** + * Merchant-provided id of the product. + */ + offerId?: string | null; + /** + * Current price of the product. + */ + price?: Schema$Price; + /** + * Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL1?: string | null; + /** + * Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL2?: string | null; + /** + * Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL3?: string | null; + /** + * Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL4?: string | null; + /** + * Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL5?: string | null; + /** + * Country of the price benchmark. Represented in the ISO 3166 format. Required in the `SELECT` clause. + */ + reportCountryCode?: string | null; + /** + * Title of the product. + */ + title?: string | null; + } + /** + * Fields available for query in `price_insights_product_view` table. [Price insights](https://support.google.com/merchants/answer/11916926) report. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$PriceInsightsProductView { + /** + * Brand of the product. + */ + brand?: string | null; + /** + * Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL1?: string | null; + /** + * Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL2?: string | null; + /** + * Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL3?: string | null; + /** + * Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL4?: string | null; + /** + * Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL5?: string | null; + /** + * The predicted effectiveness of applying the price suggestion, bucketed. + */ + effectiveness?: string | null; + /** + * REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Can be used to join data with the `product_view` table. Required in the `SELECT` clause. + */ + id?: string | null; + /** + * Merchant-provided id of the product. + */ + offerId?: string | null; + /** + * Predicted change in clicks as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in clicks. + */ + predictedClicksChangeFraction?: number | null; + /** + * Predicted change in conversions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in conversions). + */ + predictedConversionsChangeFraction?: number | null; + /** + * Predicted change in impressions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in impressions. + */ + predictedImpressionsChangeFraction?: number | null; + /** + * Current price of the product. + */ + price?: Schema$Price; + /** + * Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL1?: string | null; + /** + * Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL2?: string | null; + /** + * Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL3?: string | null; + /** + * Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL4?: string | null; + /** + * Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL5?: string | null; + /** + * Latest suggested price for the product. + */ + suggestedPrice?: Schema$Price; + /** + * Title of the product. + */ + title?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``) + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable). Represented in the ISO 3166 format. + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum) + */ + reportingContext?: string | null; + } + /** + * Fields available for query in `product_performance_view` table. Product performance data for your account, including performance metrics (for example, `clicks`) and dimensions according to which performance metrics are segmented (for example, `offer_id`). Values of product dimensions, such as `offer_id`, reflect the state of a product at the time of the impression. Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$ProductPerformanceView { + /** + * Brand of the product. Segment. + */ + brand?: string | null; + /** + * [Product category (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment. + */ + categoryL1?: string | null; + /** + * [Product category (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment. + */ + categoryL2?: string | null; + /** + * [Product category (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment. + */ + categoryL3?: string | null; + /** + * [Product category (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment. + */ + categoryL4?: string | null; + /** + * [Product category (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment. + */ + categoryL5?: string | null; + /** + * Number of clicks. Metric. + */ + clicks?: string | null; + /** + * Click-through rate - the number of clicks merchant's products receive (clicks) divided by the number of times the products are shown (impressions). Metric. + */ + clickThroughRate?: number | null; + /** + * Number of conversions divided by the number of clicks, reported on the impression date. Metric. Available only for the `FREE` traffic source. + */ + conversionRate?: number | null; + /** + * Number of conversions attributed to the product, reported on the conversion date. Depending on the attribution model, a conversion might be distributed across multiple clicks, where each click gets its own credit assigned. This metric is a sum of all such credits. Metric. Available only for the `FREE` traffic source. + */ + conversions?: number | null; + /** + * Value of conversions attributed to the product, reported on the conversion date. Metric. Available only for the `FREE` traffic source. + */ + conversionValue?: Schema$Price; + /** + * Code of the country where the customer is located at the time of the event. Represented in the ISO 3166 format. Segment. If the customer country cannot be determined, a special 'ZZ' code is returned. + */ + customerCountryCode?: string | null; + /** + * Custom label 0 for custom grouping of products. Segment. + */ + customLabel0?: string | null; + /** + * Custom label 1 for custom grouping of products. Segment. + */ + customLabel1?: string | null; + /** + * Custom label 2 for custom grouping of products. Segment. + */ + customLabel2?: string | null; + /** + * Custom label 3 for custom grouping of products. Segment. + */ + customLabel3?: string | null; + /** + * Custom label 4 for custom grouping of products. Segment. + */ + customLabel4?: string | null; + /** + * Date in the merchant timezone to which metrics apply. Segment. Condition on `date` is required in the `WHERE` clause. + */ + date?: Schema$Date; + /** + * Number of times merchant's products are shown. Metric. + */ + impressions?: string | null; + /** + * Marketing method to which metrics apply. Segment. + */ + marketingMethod?: string | null; + /** + * Merchant-provided id of the product. Segment. + */ + offerId?: string | null; + /** + * [Product type (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment. + */ + productTypeL1?: string | null; + /** + * [Product type (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment. + */ + productTypeL2?: string | null; + /** + * [Product type (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment. + */ + productTypeL3?: string | null; + /** + * [Product type (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment. + */ + productTypeL4?: string | null; + /** + * [Product type (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment. + */ + productTypeL5?: string | null; + /** + * Title of the product. Segment. + */ + title?: string | null; + /** + * First day of the week (Monday) of the metrics date in the merchant timezone. Segment. + */ + week?: Schema$Date; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications. + */ + eventTime?: string | null; + /** + * Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `accounts/{account\}/products/{product\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * Fields available for query in `product_view` table. Products in the current inventory. Products in this table are the same as in Products sub-API but not all product attributes from Products sub-API are available for query in this table. In contrast to Products sub-API, this table allows to filter the returned list of products by product attributes. To retrieve a single product by `id` or list all products, Products sub-API should be used. Values are only set for fields requested explicitly in the request's search query. + */ + export interface Schema$ProductView { + /** + * Aggregated status. + */ + aggregatedReportingContextStatus?: string | null; + /** + * [Availability](https://support.google.com/merchants/answer/6324448) of the product. + */ + availability?: string | null; + /** + * Brand of the product. + */ + brand?: string | null; + /** + * Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL1?: string | null; + /** + * Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL2?: string | null; + /** + * Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL3?: string | null; + /** + * Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL4?: string | null; + /** + * Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). + */ + categoryL5?: string | null; + /** + * Channel of the product. Can be `ONLINE` or `LOCAL`. + */ + channel?: string | null; + /** + * Estimated performance potential compared to highest performing products of the merchant. + */ + clickPotential?: string | null; + /** + * Rank of the product based on its click potential. A product with `click_potential_rank` 1 has the highest click potential among the merchant's products that fulfill the search query conditions. + */ + clickPotentialRank?: string | null; + /** + * [Condition](https://support.google.com/merchants/answer/6324469) of the product. + */ + condition?: string | null; + /** + * The time the merchant created the product in timestamp seconds. + */ + creationTime?: string | null; + /** + * Expiration date for the product, specified on insertion. + */ + expirationDate?: Schema$Date; + /** + * Feed label of the product. + */ + feedLabel?: string | null; + /** + * List of Global Trade Item Numbers (GTINs) of the product. + */ + gtin?: string[] | null; + /** + * REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Merchant API methods that operate on products take this as their `name` parameter. Required in the `SELECT` clause. + */ + id?: string | null; + /** + * Item group id provided by the merchant for grouping variants together. + */ + itemGroupId?: string | null; + /** + * List of item issues for the product. **This field cannot be used for sorting the results.** **Only selected attributes of this field (for example, `item_issues.severity.aggregated_severity`) can be used for filtering the results.** + */ + itemIssues?: Schema$ItemIssue[]; + /** + * Language code of the product in BCP 47 format. + */ + languageCode?: string | null; + /** + * Merchant-provided id of the product. + */ + offerId?: string | null; + /** + * Product price. Absent if the information about the price of the product is not available. + */ + price?: Schema$Price; + /** + * Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL1?: string | null; + /** + * Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL2?: string | null; + /** + * Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL3?: string | null; + /** + * Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL4?: string | null; + /** + * Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406). + */ + productTypeL5?: string | null; + /** + * Normalized [shipping label](https://support.google.com/merchants/answer/6324504) specified in the data source. + */ + shippingLabel?: string | null; + /** + * Link to the processed image of the product, hosted on the Google infrastructure. + */ + thumbnailLink?: string | null; + /** + * Title of the product. + */ + title?: string | null; + } + /** + * Result row returned from the search query. Only the message corresponding to the queried table is populated in the response. Within the populated message, only the fields requested explicitly in the query are populated. + */ + export interface Schema$ReportRow { + /** + * Fields available for query in `best_sellers_brand_view` table. + */ + bestSellersBrandView?: Schema$BestSellersBrandView; + /** + * Fields available for query in `best_sellers_product_cluster_view` table. + */ + bestSellersProductClusterView?: Schema$BestSellersProductClusterView; + /** + * Fields available for query in `competitive_visibility_benchmark_view` table. + */ + competitiveVisibilityBenchmarkView?: Schema$CompetitiveVisibilityBenchmarkView; + /** + * Fields available for query in `competitive_visibility_competitor_view` table. + */ + competitiveVisibilityCompetitorView?: Schema$CompetitiveVisibilityCompetitorView; + /** + * Fields available for query in `competitive_visibility_top_merchant_view` table. + */ + competitiveVisibilityTopMerchantView?: Schema$CompetitiveVisibilityTopMerchantView; + /** + * Fields available for query in `non_product_performance_view` table. + */ + nonProductPerformanceView?: Schema$NonProductPerformanceView; + /** + * Fields available for query in `price_competitiveness_product_view` table. + */ + priceCompetitivenessProductView?: Schema$PriceCompetitivenessProductView; + /** + * Fields available for query in `price_insights_product_view` table. + */ + priceInsightsProductView?: Schema$PriceInsightsProductView; + /** + * Fields available for query in `product_performance_view` table. + */ + productPerformanceView?: Schema$ProductPerformanceView; + /** + * Fields available for query in `product_view` table. + */ + productView?: Schema$ProductView; + } + /** + * Request message for the `ReportService.Search` method. + */ + export interface Schema$SearchRequest { + /** + * Optional. Number of `ReportRows` to retrieve in a single page. Defaults to 1000. Values above 5000 are coerced to 5000. + */ + pageSize?: number | null; + /** + * Optional. Token of the page to retrieve. If not specified, the first page of results is returned. In order to request the next page of results, the value obtained from `next_page_token` in the previous response should be used. + */ + pageToken?: string | null; + /** + * Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the [Available fields](/merchant/api/reference/rest/reports_v1beta/accounts.reports). + */ + query?: string | null; + } + /** + * Response message for the `ReportService.Search` method. + */ + export interface Schema$SearchResponse { + /** + * Token which can be sent as `page_token` to retrieve the next page. If omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Rows that matched the search query. + */ + results?: Schema$ReportRow[]; + } + + export class Resource$Accounts { + context: APIRequestContext; + reports: Resource$Accounts$Reports; + constructor(context: APIRequestContext) { + this.context = context; + this.reports = new Resource$Accounts$Reports(this.context); + } + } + + export class Resource$Accounts$Reports { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves a report defined by a search query. The response might contain fewer rows than specified by `page_size`. Rely on `next_page_token` to determine if there are more rows to be requested. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/merchantapi.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('reports_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/content'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await merchantapi.accounts.reports.search({ + * // Required. Id of the account making the call. Must be a standalone account or an MCA subaccount. Format: accounts/{account\} + * parent: 'accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "pageSize": 0, + * // "pageToken": "my_pageToken", + * // "query": "my_query" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + search( + params: Params$Resource$Accounts$Reports$Search, + options: StreamMethodOptions + ): Promise>; + search( + params?: Params$Resource$Accounts$Reports$Search, + options?: MethodOptions + ): Promise>; + search( + params: Params$Resource$Accounts$Reports$Search, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Accounts$Reports$Search, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Accounts$Reports$Search, + callback: BodyResponseCallback + ): void; + search(callback: BodyResponseCallback): void; + search( + paramsOrCallback?: + | Params$Resource$Accounts$Reports$Search + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Reports$Search; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Reports$Search; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/reports/v1/{+parent}/reports:search').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Accounts$Reports$Search + extends StandardParameters { + /** + * Required. Id of the account making the call. Must be a standalone account or an MCA subaccount. Format: accounts/{account\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SearchRequest; + } +} diff --git a/src/apis/merchantapi/reports_v1beta.ts b/src/apis/merchantapi/reports_v1beta.ts index cc1b8ba5ff..c2c524edae 100644 --- a/src/apis/merchantapi/reports_v1beta.ts +++ b/src/apis/merchantapi/reports_v1beta.ts @@ -1008,7 +1008,7 @@ export namespace merchantapi_reports_v1beta { */ pageToken?: string | null; /** - * Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the [Available fields](/merchant/api/reference/rest/reports_v1beta/accounts.reports). + * Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the [Available fields](/merchant/api/reference/rest/reports_{api_version\}/accounts.reports). */ query?: string | null; } From bf04bf8b3bb19da477deecfc6f24ef9ff643b4f5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 31/43] fix(monitoring): update the API #### monitoring:v3 The following keys were changed: - schemas.MetricAbsence.properties.duration.description - schemas.MetricThreshold.properties.duration.description - schemas.MonitoringQueryLanguageCondition.properties.duration.description --- discovery/monitoring-v3.json | 8 ++++---- src/apis/monitoring/v3.ts | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/discovery/monitoring-v3.json b/discovery/monitoring-v3.json index 671620409c..0296abfdf1 100644 --- a/discovery/monitoring-v3.json +++ b/discovery/monitoring-v3.json @@ -2720,7 +2720,7 @@ } } }, - "revision": "20250723", + "revision": "20250731", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -4542,7 +4542,7 @@ "type": "array" }, "duration": { - "description": "The amount of time that a time series must fail to report new data to be considered failing. The minimum value of this field is 120 seconds. Larger values that are a multiple of a minute--for example, 240 or 300 seconds--are supported. If an invalid value is given, an error will be returned. The Duration.nanos field is ignored.", + "description": "Required. The amount of time that a time series must fail to report new data to be considered failing. The minimum value of this field is 120 seconds. Larger values that are a multiple of a minute--for example, 240 or 300 seconds--are supported. If an invalid value is given, an error will be returned.", "format": "google-duration", "type": "string" }, @@ -4785,7 +4785,7 @@ "type": "string" }, "duration": { - "description": "The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.", + "description": "Required. The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.", "format": "google-duration", "type": "string" }, @@ -4936,7 +4936,7 @@ "id": "MonitoringQueryLanguageCondition", "properties": { "duration": { - "description": "The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.", + "description": "Optional. The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly. The default value is zero.", "format": "google-duration", "type": "string" }, diff --git a/src/apis/monitoring/v3.ts b/src/apis/monitoring/v3.ts index 2d03d33fef..87e097a803 100644 --- a/src/apis/monitoring/v3.ts +++ b/src/apis/monitoring/v3.ts @@ -1381,7 +1381,7 @@ export namespace monitoring_v3 { */ aggregations?: Schema$Aggregation[]; /** - * The amount of time that a time series must fail to report new data to be considered failing. The minimum value of this field is 120 seconds. Larger values that are a multiple of a minute--for example, 240 or 300 seconds--are supported. If an invalid value is given, an error will be returned. The Duration.nanos field is ignored. + * Required. The amount of time that a time series must fail to report new data to be considered failing. The minimum value of this field is 120 seconds. Larger values that are a multiple of a minute--for example, 240 or 300 seconds--are supported. If an invalid value is given, an error will be returned. */ duration?: string | null; /** @@ -1497,7 +1497,7 @@ export namespace monitoring_v3 { */ denominatorFilter?: string | null; /** - * The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly. + * Required. The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly. */ duration?: string | null; /** @@ -1590,7 +1590,7 @@ export namespace monitoring_v3 { */ export interface Schema$MonitoringQueryLanguageCondition { /** - * The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly. + * Optional. The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly. The default value is zero. */ duration?: string | null; /** From 83a29f7130a25c818e7384eeccb1017f8b79e340 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 32/43] feat(mybusinessverifications): update the API #### mybusinessverifications:v1 The following keys were added: - schemas.VerifyLocationRequest.properties.trustedPartnerToken.description - schemas.VerifyLocationRequest.properties.trustedPartnerToken.type The following keys were changed: - schemas.Verification.properties.method.enum - schemas.Verification.properties.method.enumDescriptions - schemas.VerificationOption.properties.verificationMethod.enum - schemas.VerificationOption.properties.verificationMethod.enumDescriptions - schemas.VerifyLocationRequest.properties.method.enum - schemas.VerifyLocationRequest.properties.method.enumDescriptions --- discovery/mybusinessverifications-v1.json | 24 ++++++++++++++++------- src/apis/mybusinessverifications/v1.ts | 7 ++++++- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/discovery/mybusinessverifications-v1.json b/discovery/mybusinessverifications-v1.json index cbc9315b95..43cf7bed4b 100644 --- a/discovery/mybusinessverifications-v1.json +++ b/discovery/mybusinessverifications-v1.json @@ -256,7 +256,7 @@ } } }, - "revision": "20250721", + "revision": "20250804", "rootUrl": "https://mybusinessverifications.googleapis.com/", "schemas": { "AddressVerificationData": { @@ -541,7 +541,8 @@ "PHONE_CALL", "SMS", "AUTO", - "VETTED_PARTNER" + "VETTED_PARTNER", + "TRUSTED_PARTNER" ], "enumDescriptions": [ "Default value, will result in errors.", @@ -550,7 +551,8 @@ "Make a phone call with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", "Send an SMS with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", "Verify the location without additional user action. This option may not be available for all locations.", - "This option may not be available for all locations." + "This option may not be available for all locations.", + "Verify the location via a trusted partner." ], "type": "string" }, @@ -606,7 +608,8 @@ "PHONE_CALL", "SMS", "AUTO", - "VETTED_PARTNER" + "VETTED_PARTNER", + "TRUSTED_PARTNER" ], "enumDescriptions": [ "Default value, will result in errors.", @@ -615,7 +618,8 @@ "Make a phone call with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", "Send an SMS with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", "Verify the location without additional user action. This option may not be available for all locations.", - "This option may not be available for all locations." + "This option may not be available for all locations.", + "Verify the location via a trusted partner." ], "type": "string" } @@ -673,7 +677,8 @@ "PHONE_CALL", "SMS", "AUTO", - "VETTED_PARTNER" + "VETTED_PARTNER", + "TRUSTED_PARTNER" ], "enumDescriptions": [ "Default value, will result in errors.", @@ -682,7 +687,8 @@ "Make a phone call with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", "Send an SMS with a verification PIN to a specific phone number. The PIN is used to complete verification with Google.", "Verify the location without additional user action. This option may not be available for all locations.", - "This option may not be available for all locations." + "This option may not be available for all locations.", + "Verify the location via a trusted partner." ], "type": "string" }, @@ -693,6 +699,10 @@ "token": { "$ref": "VerificationToken", "description": "Optional. The input for VETTED_PARTNER method available to select [partners.](https://support.google.com/business/answer/7674102) The input is not needed for a vetted account. Token that is associated to the location. Token that is associated to the location." + }, + "trustedPartnerToken": { + "description": "The input for TRUSTED_PARTNER method The verification token that is associated to the location.", + "type": "string" } }, "type": "object" diff --git a/src/apis/mybusinessverifications/v1.ts b/src/apis/mybusinessverifications/v1.ts index e542ec431f..d0fce3587a 100644 --- a/src/apis/mybusinessverifications/v1.ts +++ b/src/apis/mybusinessverifications/v1.ts @@ -423,6 +423,10 @@ export namespace mybusinessverifications_v1 { * Optional. The input for VETTED_PARTNER method available to select [partners.](https://support.google.com/business/answer/7674102) The input is not needed for a vetted account. Token that is associated to the location. Token that is associated to the location. */ token?: Schema$VerificationToken; + /** + * The input for TRUSTED_PARTNER method The verification token that is associated to the location. + */ + trustedPartnerToken?: string | null; } /** * Response message for Verifications.VerifyLocation. @@ -823,7 +827,8 @@ export namespace mybusinessverifications_v1 { * // "mailerContact": "my_mailerContact", * // "method": "my_method", * // "phoneNumber": "my_phoneNumber", - * // "token": {} + * // "token": {}, + * // "trustedPartnerToken": "my_trustedPartnerToken" * // } * }, * }); From f1592af3b05c9e5b0262e6491dad791f0cce38ed Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 33/43] fix(networksecurity): update the API #### networksecurity:v1beta1 The following keys were changed: - schemas.AuthzPolicyAuthzRuleFromRequestSource.properties.ipBlocks.description - schemas.AuthzPolicyAuthzRuleFromRequestSource.properties.principals.description - schemas.AuthzPolicyAuthzRuleFromRequestSource.properties.resources.description - schemas.AuthzPolicyAuthzRulePrincipal.properties.principalSelector.enumDescriptions - schemas.AuthzPolicyAuthzRuleRequestResourceTagValueIdSet.properties.ids.description - schemas.AuthzPolicyAuthzRuleToRequestOperation.properties.hosts.description - schemas.AuthzPolicyAuthzRuleToRequestOperation.properties.methods.description - schemas.AuthzPolicyAuthzRuleToRequestOperation.properties.paths.description - schemas.AuthzPolicyAuthzRuleToRequestOperationHeaderSet.properties.headers.description - schemas.DnsThreatDetector.description - schemas.ListDnsThreatDetectorsResponse.description #### networksecurity:v1 The following keys were changed: - schemas.AuthzPolicyAuthzRuleFromRequestSource.properties.ipBlocks.description - schemas.AuthzPolicyAuthzRuleFromRequestSource.properties.principals.description - schemas.AuthzPolicyAuthzRuleFromRequestSource.properties.resources.description - schemas.AuthzPolicyAuthzRulePrincipal.properties.principalSelector.enumDescriptions - schemas.AuthzPolicyAuthzRuleRequestResourceTagValueIdSet.properties.ids.description - schemas.AuthzPolicyAuthzRuleToRequestOperation.properties.hosts.description - schemas.AuthzPolicyAuthzRuleToRequestOperation.properties.methods.description - schemas.AuthzPolicyAuthzRuleToRequestOperation.properties.paths.description - schemas.AuthzPolicyAuthzRuleToRequestOperationHeaderSet.properties.headers.description --- discovery/networksecurity-v1.json | 24 +++++++++++----------- discovery/networksecurity-v1beta1.json | 28 +++++++++++++------------- src/apis/networksecurity/v1.ts | 16 +++++++-------- src/apis/networksecurity/v1beta1.ts | 20 +++++++++--------- 4 files changed, 44 insertions(+), 44 deletions(-) diff --git a/discovery/networksecurity-v1.json b/discovery/networksecurity-v1.json index a5e62db54d..bf2165f493 100644 --- a/discovery/networksecurity-v1.json +++ b/discovery/networksecurity-v1.json @@ -5070,7 +5070,7 @@ } } }, - "revision": "20250714", + "revision": "20250804", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -5387,21 +5387,21 @@ "id": "AuthzPolicyAuthzRuleFromRequestSource", "properties": { "ipBlocks": { - "description": "Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 5 ip_blocks.", + "description": "Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy", "items": { "$ref": "AuthzPolicyAuthzRuleIpBlock" }, "type": "array" }, "principals": { - "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 5 principals.", + "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for Regional Internal Application Load Balancer, Regional External Application Load Balancer, Cross-region Internal Application Load Balancer, and Cloud Service Mesh. Limited to 25 principals per Authorization Policy for Global External Application Load Balancer.", "items": { "$ref": "AuthzPolicyAuthzRulePrincipal" }, "type": "array" }, "resources": { - "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources.", + "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy.", "items": { "$ref": "AuthzPolicyAuthzRuleRequestResource" }, @@ -5459,9 +5459,9 @@ ], "enumDescriptions": [ "Unspecified principal selector. It will be treated as CLIENT_CERT_URI_SAN by default.", - "The principal rule is matched against a list of URI SANs in the validated client’s certificate. A match happens when there is any exact URI SAN value match. This is the default principal selector.", - "The principal rule is matched against a list of DNS Name SANs in the validated client’s certificate. A match happens when there is any exact DNS Name SAN value match.", - "The principal rule is matched against the common name in the client’s certificate. Authorization against multiple common names in the client certificate is not supported. Requests with multiple common names in the client certificate will be rejected if CLIENT_CERT_COMMON_NAME is set as the principal selector. A match happens when there is an exact common name value match. This is only applicable for Application Load Balancers except for classic Global External Application load balancer. CLIENT_CERT_COMMON_NAME is not supported for INTERNAL_SELF_MANAGED load balancing scheme." + "The principal rule is matched against a list of URI SANs in the validated client's certificate. A match happens when there is any exact URI SAN value match. This is the default principal selector.", + "The principal rule is matched against a list of DNS Name SANs in the validated client's certificate. A match happens when there is any exact DNS Name SAN value match.", + "The principal rule is matched against the common name in the client's certificate. Authorization against multiple common names in the client certificate is not supported. Requests with multiple common names in the client certificate will be rejected if CLIENT_CERT_COMMON_NAME is set as the principal selector. A match happens when there is an exact common name value match. This is only applicable for Application Load Balancers except for classic Global External Application load balancer. CLIENT_CERT_COMMON_NAME is not supported for INTERNAL_SELF_MANAGED load balancing scheme." ], "type": "string" } @@ -5488,7 +5488,7 @@ "id": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", "properties": { "ids": { - "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches.", + "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set.", "items": { "format": "int64", "type": "string" @@ -5555,21 +5555,21 @@ "description": "Optional. A list of headers to match against in http header." }, "hosts": { - "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", + "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy.", "items": { "$ref": "AuthzPolicyAuthzRuleStringMatch" }, "type": "array" }, "methods": { - "description": "Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive.", + "description": "Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy.", "items": { "type": "string" }, "type": "array" }, "paths": { - "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", + "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", "items": { "$ref": "AuthzPolicyAuthzRuleStringMatch" }, @@ -5583,7 +5583,7 @@ "id": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", "properties": { "headers": { - "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", + "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy.", "items": { "$ref": "AuthzPolicyAuthzRuleHeaderMatch" }, diff --git a/discovery/networksecurity-v1beta1.json b/discovery/networksecurity-v1beta1.json index fdc47a614e..5f4357795d 100644 --- a/discovery/networksecurity-v1beta1.json +++ b/discovery/networksecurity-v1beta1.json @@ -5513,7 +5513,7 @@ } } }, - "revision": "20250721", + "revision": "20250804", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -5830,21 +5830,21 @@ "id": "AuthzPolicyAuthzRuleFromRequestSource", "properties": { "ipBlocks": { - "description": "Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 5 ip_blocks.", + "description": "Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy", "items": { "$ref": "AuthzPolicyAuthzRuleIpBlock" }, "type": "array" }, "principals": { - "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 5 principals.", + "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for Regional Internal Application Load Balancer, Regional External Application Load Balancer, Cross-region Internal Application Load Balancer, and Cloud Service Mesh. Limited to 25 principals per Authorization Policy for Global External Application Load Balancer.", "items": { "$ref": "AuthzPolicyAuthzRulePrincipal" }, "type": "array" }, "resources": { - "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources.", + "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy.", "items": { "$ref": "AuthzPolicyAuthzRuleRequestResource" }, @@ -5902,9 +5902,9 @@ ], "enumDescriptions": [ "Unspecified principal selector. It will be treated as CLIENT_CERT_URI_SAN by default.", - "The principal rule is matched against a list of URI SANs in the validated client’s certificate. A match happens when there is any exact URI SAN value match. This is the default principal selector.", - "The principal rule is matched against a list of DNS Name SANs in the validated client’s certificate. A match happens when there is any exact DNS Name SAN value match.", - "The principal rule is matched against the common name in the client’s certificate. Authorization against multiple common names in the client certificate is not supported. Requests with multiple common names in the client certificate will be rejected if CLIENT_CERT_COMMON_NAME is set as the principal selector. A match happens when there is an exact common name value match. This is only applicable for Application Load Balancers except for classic Global External Application load balancer. CLIENT_CERT_COMMON_NAME is not supported for INTERNAL_SELF_MANAGED load balancing scheme." + "The principal rule is matched against a list of URI SANs in the validated client's certificate. A match happens when there is any exact URI SAN value match. This is the default principal selector.", + "The principal rule is matched against a list of DNS Name SANs in the validated client's certificate. A match happens when there is any exact DNS Name SAN value match.", + "The principal rule is matched against the common name in the client's certificate. Authorization against multiple common names in the client certificate is not supported. Requests with multiple common names in the client certificate will be rejected if CLIENT_CERT_COMMON_NAME is set as the principal selector. A match happens when there is an exact common name value match. This is only applicable for Application Load Balancers except for classic Global External Application load balancer. CLIENT_CERT_COMMON_NAME is not supported for INTERNAL_SELF_MANAGED load balancing scheme." ], "type": "string" } @@ -5931,7 +5931,7 @@ "id": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", "properties": { "ids": { - "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches.", + "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set.", "items": { "format": "int64", "type": "string" @@ -5998,21 +5998,21 @@ "description": "Optional. A list of headers to match against in http header." }, "hosts": { - "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", + "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy.", "items": { "$ref": "AuthzPolicyAuthzRuleStringMatch" }, "type": "array" }, "methods": { - "description": "Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive.", + "description": "Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy.", "items": { "type": "string" }, "type": "array" }, "paths": { - "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", + "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", "items": { "$ref": "AuthzPolicyAuthzRuleStringMatch" }, @@ -6026,7 +6026,7 @@ "id": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", "properties": { "headers": { - "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", + "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy.", "items": { "$ref": "AuthzPolicyAuthzRuleHeaderMatch" }, @@ -6298,7 +6298,7 @@ "type": "object" }, "DnsThreatDetector": { - "description": "Message describing DnsThreatDetector object", + "description": "Message describing DnsThreatDetector object.", "id": "DnsThreatDetector", "properties": { "createTime": { @@ -7456,7 +7456,7 @@ "type": "object" }, "ListDnsThreatDetectorsResponse": { - "description": "Message for response to listing DnsThreatDetectors", + "description": "Message for response to listing DnsThreatDetectors.", "id": "ListDnsThreatDetectorsResponse", "properties": { "dnsThreatDetectors": { diff --git a/src/apis/networksecurity/v1.ts b/src/apis/networksecurity/v1.ts index 6de9a2e258..13975bea0c 100644 --- a/src/apis/networksecurity/v1.ts +++ b/src/apis/networksecurity/v1.ts @@ -306,15 +306,15 @@ export namespace networksecurity_v1 { */ export interface Schema$AuthzPolicyAuthzRuleFromRequestSource { /** - * Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 5 ip_blocks. + * Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy */ ipBlocks?: Schema$AuthzPolicyAuthzRuleIpBlock[]; /** - * Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 5 principals. + * Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for Regional Internal Application Load Balancer, Regional External Application Load Balancer, Cross-region Internal Application Load Balancer, and Cloud Service Mesh. Limited to 25 principals per Authorization Policy for Global External Application Load Balancer. */ principals?: Schema$AuthzPolicyAuthzRulePrincipal[]; /** - * Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources. + * Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. */ resources?: Schema$AuthzPolicyAuthzRuleRequestResource[]; } @@ -375,7 +375,7 @@ export namespace networksecurity_v1 { */ export interface Schema$AuthzPolicyAuthzRuleRequestResourceTagValueIdSet { /** - * Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches. + * Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. */ ids?: string[] | null; } @@ -426,15 +426,15 @@ export namespace networksecurity_v1 { */ headerSet?: Schema$AuthzPolicyAuthzRuleToRequestOperationHeaderSet; /** - * Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. + * Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. */ hosts?: Schema$AuthzPolicyAuthzRuleStringMatch[]; /** - * Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. + * Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. */ methods?: string[] | null; /** - * Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + * Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. */ paths?: Schema$AuthzPolicyAuthzRuleStringMatch[]; } @@ -443,7 +443,7 @@ export namespace networksecurity_v1 { */ export interface Schema$AuthzPolicyAuthzRuleToRequestOperationHeaderSet { /** - * Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. + * Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. */ headers?: Schema$AuthzPolicyAuthzRuleHeaderMatch[]; } diff --git a/src/apis/networksecurity/v1beta1.ts b/src/apis/networksecurity/v1beta1.ts index 42db73effb..6f89dcccb1 100644 --- a/src/apis/networksecurity/v1beta1.ts +++ b/src/apis/networksecurity/v1beta1.ts @@ -306,15 +306,15 @@ export namespace networksecurity_v1beta1 { */ export interface Schema$AuthzPolicyAuthzRuleFromRequestSource { /** - * Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 5 ip_blocks. + * Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy */ ipBlocks?: Schema$AuthzPolicyAuthzRuleIpBlock[]; /** - * Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 5 principals. + * Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for Regional Internal Application Load Balancer, Regional External Application Load Balancer, Cross-region Internal Application Load Balancer, and Cloud Service Mesh. Limited to 25 principals per Authorization Policy for Global External Application Load Balancer. */ principals?: Schema$AuthzPolicyAuthzRulePrincipal[]; /** - * Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources. + * Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. */ resources?: Schema$AuthzPolicyAuthzRuleRequestResource[]; } @@ -375,7 +375,7 @@ export namespace networksecurity_v1beta1 { */ export interface Schema$AuthzPolicyAuthzRuleRequestResourceTagValueIdSet { /** - * Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches. + * Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. */ ids?: string[] | null; } @@ -426,15 +426,15 @@ export namespace networksecurity_v1beta1 { */ headerSet?: Schema$AuthzPolicyAuthzRuleToRequestOperationHeaderSet; /** - * Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. + * Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. */ hosts?: Schema$AuthzPolicyAuthzRuleStringMatch[]; /** - * Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. + * Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. */ methods?: string[] | null; /** - * Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + * Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. */ paths?: Schema$AuthzPolicyAuthzRuleStringMatch[]; } @@ -443,7 +443,7 @@ export namespace networksecurity_v1beta1 { */ export interface Schema$AuthzPolicyAuthzRuleToRequestOperationHeaderSet { /** - * Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. + * Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. */ headers?: Schema$AuthzPolicyAuthzRuleHeaderMatch[]; } @@ -630,7 +630,7 @@ export namespace networksecurity_v1beta1 { ports?: number[] | null; } /** - * Message describing DnsThreatDetector object + * Message describing DnsThreatDetector object. */ export interface Schema$DnsThreatDetector { /** @@ -1360,7 +1360,7 @@ export namespace networksecurity_v1beta1 { nextPageToken?: string | null; } /** - * Message for response to listing DnsThreatDetectors + * Message for response to listing DnsThreatDetectors. */ export interface Schema$ListDnsThreatDetectorsResponse { /** From b90b3ef0734c6f566af86ceb55d368e13efe3dde Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 34/43] feat(networkservices): update the API #### networkservices:v1beta1 The following keys were added: - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.flatPath - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.httpMethod - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.id - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameterOrder - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.lbTcpExtensionId.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.lbTcpExtensionId.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.lbTcpExtensionId.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.parent.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.parent.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.parent.pattern - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.parent.required - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.parent.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.requestId.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.requestId.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.parameters.requestId.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.path - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.request.$ref - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.response.$ref - resources.projects.resources.locations.resources.lbTcpExtensions.methods.create.scopes - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.flatPath - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.httpMethod - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.id - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameterOrder - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameters.name.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameters.name.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameters.name.pattern - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameters.name.required - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameters.name.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameters.requestId.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameters.requestId.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.parameters.requestId.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.path - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.response.$ref - resources.projects.resources.locations.resources.lbTcpExtensions.methods.delete.scopes - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.flatPath - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.httpMethod - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.id - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.parameterOrder - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.parameters.name.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.parameters.name.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.parameters.name.pattern - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.parameters.name.required - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.parameters.name.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.path - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.response.$ref - resources.projects.resources.locations.resources.lbTcpExtensions.methods.get.scopes - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.flatPath - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.httpMethod - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.id - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameterOrder - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.filter.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.filter.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.filter.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.orderBy.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.orderBy.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.orderBy.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.pageSize.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.pageSize.format - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.pageSize.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.pageSize.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.pageToken.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.pageToken.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.parent.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.parent.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.parent.pattern - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.parent.required - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.parameters.parent.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.path - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.response.$ref - resources.projects.resources.locations.resources.lbTcpExtensions.methods.list.scopes - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.flatPath - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.httpMethod - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.id - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameterOrder - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.name.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.name.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.name.pattern - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.name.required - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.name.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.requestId.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.requestId.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.requestId.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.updateMask.description - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.updateMask.format - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.updateMask.location - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.parameters.updateMask.type - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.path - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.request.$ref - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.response.$ref - resources.projects.resources.locations.resources.lbTcpExtensions.methods.patch.scopes - schemas.LbTcpExtension.description - schemas.LbTcpExtension.id - schemas.LbTcpExtension.properties.createTime.description - schemas.LbTcpExtension.properties.createTime.format - schemas.LbTcpExtension.properties.createTime.readOnly - schemas.LbTcpExtension.properties.createTime.type - schemas.LbTcpExtension.properties.description.description - schemas.LbTcpExtension.properties.description.type - schemas.LbTcpExtension.properties.extensionChains.description - schemas.LbTcpExtension.properties.extensionChains.items.$ref - schemas.LbTcpExtension.properties.extensionChains.type - schemas.LbTcpExtension.properties.labels.additionalProperties.type - schemas.LbTcpExtension.properties.labels.description - schemas.LbTcpExtension.properties.labels.type - schemas.LbTcpExtension.properties.loadBalancingScheme.description - schemas.LbTcpExtension.properties.loadBalancingScheme.enum - schemas.LbTcpExtension.properties.loadBalancingScheme.enumDescriptions - schemas.LbTcpExtension.properties.loadBalancingScheme.type - schemas.LbTcpExtension.properties.name.description - schemas.LbTcpExtension.properties.name.type - schemas.LbTcpExtension.properties.networks.description - schemas.LbTcpExtension.properties.networks.items.type - schemas.LbTcpExtension.properties.networks.type - schemas.LbTcpExtension.properties.updateTime.description - schemas.LbTcpExtension.properties.updateTime.format - schemas.LbTcpExtension.properties.updateTime.readOnly - schemas.LbTcpExtension.properties.updateTime.type - schemas.LbTcpExtension.type - schemas.ListLbTcpExtensionsResponse.description - schemas.ListLbTcpExtensionsResponse.id - schemas.ListLbTcpExtensionsResponse.properties.lbTcpExtensions.description - schemas.ListLbTcpExtensionsResponse.properties.lbTcpExtensions.items.$ref - schemas.ListLbTcpExtensionsResponse.properties.lbTcpExtensions.type - schemas.ListLbTcpExtensionsResponse.properties.nextPageToken.description - schemas.ListLbTcpExtensionsResponse.properties.nextPageToken.type - schemas.ListLbTcpExtensionsResponse.properties.unreachable.description - schemas.ListLbTcpExtensionsResponse.properties.unreachable.items.type - schemas.ListLbTcpExtensionsResponse.properties.unreachable.type - schemas.ListLbTcpExtensionsResponse.type --- discovery/networkservices-v1beta1.json | 271 +++++++- src/apis/networkservices/v1beta1.ts | 903 +++++++++++++++++++++++++ 2 files changed, 1173 insertions(+), 1 deletion(-) diff --git a/discovery/networkservices-v1beta1.json b/discovery/networkservices-v1beta1.json index d5c0e18ee5..599aa07df0 100644 --- a/discovery/networkservices-v1beta1.json +++ b/discovery/networkservices-v1beta1.json @@ -1439,6 +1439,188 @@ } } }, + "lbTcpExtensions": { + "methods": { + "create": { + "description": "Creates a new `LbTcpExtension` resource in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/lbTcpExtensions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.lbTcpExtensions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "lbTcpExtensionId": { + "description": "Required. User-provided ID of the `LbTcpExtension` resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the `LbTcpExtension` resource. Must be in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/lbTcpExtensions", + "request": { + "$ref": "LbTcpExtension" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `LbTcpExtension` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/lbTcpExtensions/{lbTcpExtensionsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.lbTcpExtensions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `LbTcpExtension` resource to delete. Must be in the format `projects/{project}/locations/{location}/LbTcpExtensions/{lb_tcp_extension}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lbTcpExtensions/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `LbTcpExtension` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/lbTcpExtensions/{lbTcpExtensionsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.lbTcpExtensions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `LbTcpExtension` resource to get. Must be in the format `projects/{project}/locations/{location}/LbTcpExtensions/{lb_tcp_extension}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lbTcpExtensions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "LbTcpExtension" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `LbTcpExtension` resources in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/lbTcpExtensions", + "httpMethod": "GET", + "id": "networkservices.projects.locations.lbTcpExtensions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results that the server returns.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the `LbTcpExtension` resources are listed, specified in the following format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/lbTcpExtensions", + "response": { + "$ref": "ListLbTcpExtensionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of the specified `LbTcpExtension` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/lbTcpExtensions/{lbTcpExtensionsId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.lbTcpExtensions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Identifier. Name of the `LbTcpExtension` resource in the following format: `projects/{project}/locations/{location}/LbTcpExtension/{lb_tcp_extension}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lbTcpExtensions/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. Used to specify the fields to be overwritten in the `LbTcpExtension` resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "LbTcpExtension" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "lbTrafficExtensions": { "methods": { "create": { @@ -2913,7 +3095,7 @@ } } }, - "revision": "20250723", + "revision": "20250730", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuthzExtension": { @@ -4395,6 +4577,68 @@ }, "type": "object" }, + "LbTcpExtension": { + "description": "`LbTcpExtension` is a resource that allows traffic forwarding to different backend services to make allow/deny decisions on TCP connections for all L7 Load Balancers within a network. Currently only internal load-balancers are supported.", + "id": "LbTcpExtension", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "extensionChains": { + "description": "Required. A set of ordered extension chains that contain the match conditions and extensions to execute. Match conditions for each extension chain are evaluated in sequence for a given request. The first extension chain that has a condition that matches the request is executed. Any subsequent extension chains do not execute. Limited to 5 extension chains per resource.", + "items": { + "$ref": "ExtensionChain" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `LbTcpExtension` resource. The format must comply with [the requirements for labels](/compute/docs/labeling-resources#requirements) for Google Cloud resources.", + "type": "object" + }, + "loadBalancingScheme": { + "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", + "enum": [ + "LOAD_BALANCING_SCHEME_UNSPECIFIED", + "INTERNAL_MANAGED", + "EXTERNAL_MANAGED" + ], + "enumDescriptions": [ + "Default value. Do not use.", + "Signifies that this is used for Internal HTTP(S) Load Balancing.", + "Signifies that this is used for External Managed HTTP(S) Load Balancing." + ], + "type": "string" + }, + "name": { + "description": "Required. Identifier. Name of the `LbTcpExtension` resource in the following format: `projects/{project}/locations/{location}/LbTcpExtension/{lb_tcp_extension}`", + "type": "string" + }, + "networks": { + "description": "Optional. If set, this `LbTcpExtension` resource applies to all `ForwardingRule` resources in these VPC networks. Values should be relative resource names identifying VPC networks, for example `projects/*/global/networks/network-1`. Currently limited to 1 network per resource. Limited to 1 network per resource.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "LbTrafficExtension": { "description": "`LbTrafficExtension` is a resource that lets the extension service modify the headers and payloads of both requests and responses without impacting the choice of backend services or any other security policies associated with the backend service.", "id": "LbTrafficExtension", @@ -4665,6 +4909,31 @@ }, "type": "object" }, + "ListLbTcpExtensionsResponse": { + "description": "Message for response to listing `LbTcpExtension` resources.", + "id": "ListLbTcpExtensionsResponse", + "properties": { + "lbTcpExtensions": { + "description": "The list of `LbTcpExtension` resources.", + "items": { + "$ref": "LbTcpExtension" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results that the server returns.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListLbTrafficExtensionsResponse": { "description": "Message for response to listing `LbTrafficExtension` resources.", "id": "ListLbTrafficExtensionsResponse", diff --git a/src/apis/networkservices/v1beta1.ts b/src/apis/networkservices/v1beta1.ts index 9c7474cc8f..9e1b2af346 100644 --- a/src/apis/networkservices/v1beta1.ts +++ b/src/apis/networkservices/v1beta1.ts @@ -1149,6 +1149,43 @@ export namespace networkservices_v1beta1 { */ updateTime?: string | null; } + /** + * `LbTcpExtension` is a resource that allows traffic forwarding to different backend services to make allow/deny decisions on TCP connections for all L7 Load Balancers within a network. Currently only internal load-balancers are supported. + */ + export interface Schema$LbTcpExtension { + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Required. A set of ordered extension chains that contain the match conditions and extensions to execute. Match conditions for each extension chain are evaluated in sequence for a given request. The first extension chain that has a condition that matches the request is executed. Any subsequent extension chains do not execute. Limited to 5 extension chains per resource. + */ + extensionChains?: Schema$ExtensionChain[]; + /** + * Optional. Set of labels associated with the `LbTcpExtension` resource. The format must comply with [the requirements for labels](/compute/docs/labeling-resources#requirements) for Google Cloud resources. + */ + labels?: {[key: string]: string} | null; + /** + * Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). + */ + loadBalancingScheme?: string | null; + /** + * Required. Identifier. Name of the `LbTcpExtension` resource in the following format: `projects/{project\}/locations/{location\}/LbTcpExtension/{lb_tcp_extension\}` + */ + name?: string | null; + /** + * Optional. If set, this `LbTcpExtension` resource applies to all `ForwardingRule` resources in these VPC networks. Values should be relative resource names identifying VPC networks, for example `projects/x/global/networks/network-1`. Currently limited to 1 network per resource. Limited to 1 network per resource. + */ + networks?: string[] | null; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + } /** * `LbTrafficExtension` is a resource that lets the extension service modify the headers and payloads of both requests and responses without impacting the choice of backend services or any other security policies associated with the backend service. */ @@ -1326,6 +1363,23 @@ export namespace networkservices_v1beta1 { */ unreachable?: string[] | null; } + /** + * Message for response to listing `LbTcpExtension` resources. + */ + export interface Schema$ListLbTcpExtensionsResponse { + /** + * The list of `LbTcpExtension` resources. + */ + lbTcpExtensions?: Schema$LbTcpExtension[]; + /** + * A token identifying a page of results that the server returns. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } /** * Message for response to listing `LbTrafficExtension` resources. */ @@ -2184,6 +2238,7 @@ export namespace networkservices_v1beta1 { httpRoutes: Resource$Projects$Locations$Httproutes; lbEdgeExtensions: Resource$Projects$Locations$Lbedgeextensions; lbRouteExtensions: Resource$Projects$Locations$Lbrouteextensions; + lbTcpExtensions: Resource$Projects$Locations$Lbtcpextensions; lbTrafficExtensions: Resource$Projects$Locations$Lbtrafficextensions; meshes: Resource$Projects$Locations$Meshes; operations: Resource$Projects$Locations$Operations; @@ -2212,6 +2267,9 @@ export namespace networkservices_v1beta1 { ); this.lbRouteExtensions = new Resource$Projects$Locations$Lbrouteextensions(this.context); + this.lbTcpExtensions = new Resource$Projects$Locations$Lbtcpextensions( + this.context + ); this.lbTrafficExtensions = new Resource$Projects$Locations$Lbtrafficextensions(this.context); this.meshes = new Resource$Projects$Locations$Meshes(this.context); @@ -8764,6 +8822,851 @@ export namespace networkservices_v1beta1 { requestBody?: Schema$LbRouteExtension; } + export class Resource$Projects$Locations$Lbtcpextensions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new `LbTcpExtension` resource in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.lbTcpExtensions.create({ + * // Required. User-provided ID of the `LbTcpExtension` resource to be created. + * lbTcpExtensionId: 'placeholder-value', + * // Required. The parent resource of the `LbTcpExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "extensionChains": [], + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "name": "my_name", + * // "networks": [], + * // "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$Lbtcpextensions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Lbtcpextensions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Lbtcpextensions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Lbtcpextensions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Lbtcpextensions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/lbTcpExtensions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified `LbTcpExtension` resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.lbTcpExtensions.delete({ + * // Required. The name of the `LbTcpExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/LbTcpExtensions/{lb_tcp_extension\}`. + * name: 'projects/my-project/locations/my-location/lbTcpExtensions/my-lbTcpExtension', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Lbtcpextensions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Lbtcpextensions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Lbtcpextensions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Lbtcpextensions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified `LbTcpExtension` resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.lbTcpExtensions.get({ + * // Required. A name of the `LbTcpExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/LbTcpExtensions/{lb_tcp_extension\}`. + * name: 'projects/my-project/locations/my-location/lbTcpExtensions/my-lbTcpExtension', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "extensionChains": [], + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "name": "my_name", + * // "networks": [], + * // "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$Lbtcpextensions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Lbtcpextensions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Lbtcpextensions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Lbtcpextensions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Lbtcpextensions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists `LbTcpExtension` resources in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.lbTcpExtensions.list({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results that the server returns. + * pageToken: 'placeholder-value', + * // Required. The project and location from which the `LbTcpExtension` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "lbTcpExtensions": [], + * // "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$Lbtcpextensions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Lbtcpextensions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Lbtcpextensions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Lbtcpextensions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Lbtcpextensions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Lbtcpextensions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Lbtcpextensions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Lbtcpextensions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/lbTcpExtensions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of the specified `LbTcpExtension` resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.lbTcpExtensions.patch({ + * // Required. Identifier. Name of the `LbTcpExtension` resource in the following format: `projects/{project\}/locations/{location\}/LbTcpExtension/{lb_tcp_extension\}` + * name: 'projects/my-project/locations/my-location/lbTcpExtensions/my-lbTcpExtension', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Optional. Used to specify the fields to be overwritten in the `LbTcpExtension` resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "extensionChains": [], + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "name": "my_name", + * // "networks": [], + * // "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$Lbtcpextensions$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Lbtcpextensions$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Lbtcpextensions$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Lbtcpextensions$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Lbtcpextensions$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Lbtcpextensions$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Lbtcpextensions$Create + extends StandardParameters { + /** + * Required. User-provided ID of the `LbTcpExtension` resource to be created. + */ + lbTcpExtensionId?: string; + /** + * Required. The parent resource of the `LbTcpExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LbTcpExtension; + } + export interface Params$Resource$Projects$Locations$Lbtcpextensions$Delete + extends StandardParameters { + /** + * Required. The name of the `LbTcpExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/LbTcpExtensions/{lb_tcp_extension\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Lbtcpextensions$Get + extends StandardParameters { + /** + * Required. A name of the `LbTcpExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/LbTcpExtensions/{lb_tcp_extension\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Lbtcpextensions$List + extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results that the server returns. + */ + pageToken?: string; + /** + * Required. The project and location from which the `LbTcpExtension` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Lbtcpextensions$Patch + extends StandardParameters { + /** + * Required. Identifier. Name of the `LbTcpExtension` resource in the following format: `projects/{project\}/locations/{location\}/LbTcpExtension/{lb_tcp_extension\}` + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Used to specify the fields to be overwritten in the `LbTcpExtension` resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LbTcpExtension; + } + export class Resource$Projects$Locations$Lbtrafficextensions { context: APIRequestContext; constructor(context: APIRequestContext) { From 0e89687cc5473c2436b176fcec9dc47d8316c637 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 35/43] feat(paymentsresellersubscription)!: update the API BREAKING CHANGE: This release has breaking changes. #### paymentsresellersubscription:v1 The following keys were deleted: - schemas.GoogleCloudPaymentsResellerSubscriptionV1Amount.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Amount.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1Amount.properties.amountMicros.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Amount.properties.amountMicros.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Amount.properties.amountMicros.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Amount.properties.currencyCode.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Amount.properties.currencyCode.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Amount.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.properties.cancelImmediately.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.properties.cancelImmediately.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.properties.cancellationReason.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.properties.cancellationReason.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.properties.cancellationReason.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.properties.cancellationReason.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse.properties.subscription.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse.properties.subscription.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.properties.parent.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.properties.parent.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.properties.subscription.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.properties.subscription.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.properties.subscriptionId.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.properties.subscriptionId.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.properties.count.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.properties.count.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.properties.count.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.properties.unit.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.properties.unit.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.properties.unit.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.properties.unit.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Duration.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent.properties.name.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent.properties.name.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest.properties.lineItemEntitlementDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest.properties.lineItemEntitlementDetails.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest.properties.lineItemEntitlementDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.properties.lineItemIndex.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.properties.lineItemIndex.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.properties.lineItemIndex.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.properties.products.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.properties.products.items.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.properties.products.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse.properties.subscription.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse.properties.subscription.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest.properties.extension.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest.properties.extension.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest.properties.requestId.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest.properties.requestId.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.cycleEndTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.cycleEndTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.cycleEndTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.freeTrialEndTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.freeTrialEndTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.freeTrialEndTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.renewalTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.renewalTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.renewalTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.properties.renewalTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Extension.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Extension.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1Extension.properties.duration.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Extension.properties.duration.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Extension.properties.partnerUserToken.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Extension.properties.partnerUserToken.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Extension.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.properties.filter.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.properties.filter.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.properties.pageSize.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.properties.pageSize.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.properties.pageSize.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.properties.pageToken.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.properties.pageToken.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse.properties.nextPageToken.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse.properties.nextPageToken.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse.properties.promotions.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse.properties.promotions.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse.properties.promotions.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails.properties.billingCycleCountLimit.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails.properties.billingCycleCountLimit.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails.properties.billingCycleCountLimit.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest.properties.intentPayload.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest.properties.intentPayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse.properties.userSession.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse.properties.userSession.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.properties.attachedToGoogleStructure.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.properties.attachedToGoogleStructure.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.properties.attachedToGoogleStructure.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.properties.partnerStructureId.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.properties.partnerStructureId.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.campaigns.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.campaigns.items.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.campaigns.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.offering.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.offering.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.offering.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.offering.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.salesChannel.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.salesChannel.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.salesChannel.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.salesChannel.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.storeId.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.properties.storeId.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1IntentPayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1IntentPayload.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1IntentPayload.properties.createIntent.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1IntentPayload.properties.createIntent.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1IntentPayload.properties.entitleIntent.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1IntentPayload.properties.entitleIntent.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1IntentPayload.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse.properties.nextPageToken.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse.properties.nextPageToken.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse.properties.products.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse.properties.products.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse.properties.products.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse.properties.nextPageToken.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse.properties.nextPageToken.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse.properties.promotions.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse.properties.promotions.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse.properties.promotions.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Location.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Location.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1Location.properties.postalCode.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Location.properties.postalCode.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Location.properties.regionCode.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Location.properties.regionCode.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Location.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.bundleDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.bundleDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.bundleDetails.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.finiteBillingCycleDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.finiteBillingCycleDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.name.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.name.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.priceConfigs.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.priceConfigs.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.priceConfigs.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.priceConfigs.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.productType.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.productType.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.productType.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.productType.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.productType.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.regionCodes.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.regionCodes.items.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.regionCodes.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.regionCodes.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.subscriptionBillingCycleDuration.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.subscriptionBillingCycleDuration.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.subscriptionBillingCycleDuration.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.titles.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.titles.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.titles.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.properties.titles.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Product.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement.properties.product.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement.properties.product.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement.properties.product.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.properties.googleHomePayload.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.properties.googleHomePayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.properties.googleOnePayload.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.properties.googleOnePayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.properties.youtubePayload.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.properties.youtubePayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.properties.amount.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.properties.amount.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.properties.amount.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.properties.regionCode.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.properties.regionCode.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.properties.regionCode.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.applicableProducts.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.applicableProducts.items.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.applicableProducts.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.applicableProducts.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.endTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.endTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.endTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.freeTrialDuration.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.freeTrialDuration.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.introductoryPricingDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.introductoryPricingDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.name.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.name.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.promotionType.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.promotionType.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.promotionType.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.promotionType.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.promotionType.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.regionCodes.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.regionCodes.items.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.regionCodes.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.regionCodes.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.startTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.startTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.startTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.titles.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.titles.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.titles.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.properties.titles.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Promotion.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails.properties.introductoryPricingSpecs.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails.properties.introductoryPricingSpecs.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails.properties.introductoryPricingSpecs.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails.properties.introductoryPricingSpecs.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountAmount.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountAmount.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountAmount.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountRatioMicros.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountRatioMicros.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountRatioMicros.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountRatioMicros.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.recurrenceCount.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.recurrenceCount.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.recurrenceCount.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.recurrenceCount.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.regionCode.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.regionCode.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.regionCode.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionRequest.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionRequest.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionRequest.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse.properties.subscription.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse.properties.subscription.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.properties.endTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.properties.endTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.properties.endTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.properties.startTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.properties.startTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.properties.startTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.cancellationDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.cancellationDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.cancellationDetails.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.createTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.createTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.createTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.createTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.cycleEndTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.cycleEndTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.cycleEndTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.cycleEndTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.endUserEntitled.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.endUserEntitled.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.endUserEntitled.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.freeTrialEndTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.freeTrialEndTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.freeTrialEndTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.freeTrialEndTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.lineItems.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.lineItems.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.lineItems.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.migrationDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.migrationDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.migrationDetails.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.name.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.name.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.partnerUserToken.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.partnerUserToken.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.processingState.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.processingState.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.processingState.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.processingState.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.processingState.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.products.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.products.items.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.products.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.promotionSpecs.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.promotionSpecs.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.promotionSpecs.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.promotions.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.promotions.items.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.promotions.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.purchaseTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.purchaseTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.purchaseTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.redirectUri.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.redirectUri.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.redirectUri.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.renewalTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.renewalTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.renewalTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.renewalTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.serviceLocation.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.serviceLocation.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.state.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.state.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.state.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.state.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.state.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.updateTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.updateTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.updateTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.updateTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.upgradeDowngradeDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.properties.upgradeDowngradeDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1Subscription.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails.properties.reason.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails.properties.reason.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails.properties.reason.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails.properties.reason.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails.properties.reason.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.amount.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.amount.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.amount.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.bundleDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.bundleDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.bundleDetails.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.description.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.description.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.description.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.finiteBillingCycleDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.finiteBillingCycleDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemFreeTrialEndTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemFreeTrialEndTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemFreeTrialEndTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemFreeTrialEndTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemIndex.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemIndex.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemIndex.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemIndex.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemPromotionSpecs.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemPromotionSpecs.items.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.lineItemPromotionSpecs.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.oneTimeRecurrenceDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.oneTimeRecurrenceDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.oneTimeRecurrenceDetails.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.product.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.product.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.productPayload.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.productPayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.recurrenceType.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.recurrenceType.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.recurrenceType.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.recurrenceType.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.recurrenceType.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.state.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.state.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.state.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.state.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.properties.state.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.properties.product.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.properties.product.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.properties.product.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.properties.userAccountLinkedTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.properties.userAccountLinkedTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.properties.userAccountLinkedTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.properties.userAccountLinkedTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails.properties.servicePeriod.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails.properties.servicePeriod.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails.properties.servicePeriod.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails.properties.migratedSubscriptionId.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails.properties.migratedSubscriptionId.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails.properties.migratedSubscriptionId.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.freeTrialDuration.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.freeTrialDuration.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.freeTrialDuration.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.introductoryPricingDetails.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.introductoryPricingDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.introductoryPricingDetails.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.promotion.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.promotion.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.type.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.type.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.type.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.type.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.properties.type.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.properties.billingCycleSpec.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.properties.billingCycleSpec.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.properties.billingCycleSpec.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.properties.billingCycleSpec.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.properties.previousSubscriptionId.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.properties.previousSubscriptionId.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionRequest.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionRequest.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionRequest.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse.properties.subscription.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse.properties.subscription.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse.properties.subscription.$ref - schemas.GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse.properties.subscription.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.properties.expireTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.properties.expireTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.properties.expireTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.properties.expireTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.properties.token.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.properties.token.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.properties.token.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1UserSession.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.id - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.accessEndTime.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.accessEndTime.format - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.accessEndTime.readOnly - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.accessEndTime.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.partnerEligibilityIds.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.partnerEligibilityIds.items.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.partnerEligibilityIds.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.partnerPlanType.description - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.partnerPlanType.enum - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.partnerPlanType.enumDescriptions - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.properties.partnerPlanType.type - schemas.GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload.type The following keys were added: - schemas.Amount.description - schemas.Amount.id - schemas.Amount.properties.amountMicros.description - schemas.Amount.properties.amountMicros.format - schemas.Amount.properties.amountMicros.type - schemas.Amount.properties.currencyCode.description - schemas.Amount.properties.currencyCode.type - schemas.Amount.type - schemas.CancelSubscriptionRequest.description - schemas.CancelSubscriptionRequest.id - schemas.CancelSubscriptionRequest.properties.cancelImmediately.description - schemas.CancelSubscriptionRequest.properties.cancelImmediately.type - schemas.CancelSubscriptionRequest.properties.cancellationReason.description - schemas.CancelSubscriptionRequest.properties.cancellationReason.enum - schemas.CancelSubscriptionRequest.properties.cancellationReason.enumDescriptions - schemas.CancelSubscriptionRequest.properties.cancellationReason.type - schemas.CancelSubscriptionRequest.type - schemas.CancelSubscriptionResponse.description - schemas.CancelSubscriptionResponse.id - schemas.CancelSubscriptionResponse.properties.subscription.$ref - schemas.CancelSubscriptionResponse.properties.subscription.description - schemas.CancelSubscriptionResponse.type - schemas.CreateSubscriptionIntent.description - schemas.CreateSubscriptionIntent.id - schemas.CreateSubscriptionIntent.properties.parent.description - schemas.CreateSubscriptionIntent.properties.parent.type - schemas.CreateSubscriptionIntent.properties.subscription.$ref - schemas.CreateSubscriptionIntent.properties.subscription.description - schemas.CreateSubscriptionIntent.properties.subscriptionId.description - schemas.CreateSubscriptionIntent.properties.subscriptionId.type - schemas.CreateSubscriptionIntent.type - schemas.Duration.description - schemas.Duration.id - schemas.Duration.properties.count.description - schemas.Duration.properties.count.format - schemas.Duration.properties.count.type - schemas.Duration.properties.unit.description - schemas.Duration.properties.unit.enum - schemas.Duration.properties.unit.enumDescriptions - schemas.Duration.properties.unit.type - schemas.Duration.type - schemas.EntitleSubscriptionIntent.description - schemas.EntitleSubscriptionIntent.id - schemas.EntitleSubscriptionIntent.properties.name.description - schemas.EntitleSubscriptionIntent.properties.name.type - schemas.EntitleSubscriptionIntent.type - schemas.EntitleSubscriptionRequest.description - schemas.EntitleSubscriptionRequest.id - schemas.EntitleSubscriptionRequest.properties.lineItemEntitlementDetails.description - schemas.EntitleSubscriptionRequest.properties.lineItemEntitlementDetails.items.$ref - schemas.EntitleSubscriptionRequest.properties.lineItemEntitlementDetails.type - schemas.EntitleSubscriptionRequest.type - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.description - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.id - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.properties.lineItemIndex.description - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.properties.lineItemIndex.format - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.properties.lineItemIndex.type - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.properties.products.description - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.properties.products.items.type - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.properties.products.type - schemas.EntitleSubscriptionRequestLineItemEntitlementDetails.type - schemas.EntitleSubscriptionResponse.description - schemas.EntitleSubscriptionResponse.id - schemas.EntitleSubscriptionResponse.properties.subscription.$ref - schemas.EntitleSubscriptionResponse.properties.subscription.description - schemas.EntitleSubscriptionResponse.type - schemas.ExtendSubscriptionRequest.description - schemas.ExtendSubscriptionRequest.id - schemas.ExtendSubscriptionRequest.properties.extension.$ref - schemas.ExtendSubscriptionRequest.properties.extension.description - schemas.ExtendSubscriptionRequest.properties.requestId.description - schemas.ExtendSubscriptionRequest.properties.requestId.type - schemas.ExtendSubscriptionRequest.type - schemas.ExtendSubscriptionResponse.description - schemas.ExtendSubscriptionResponse.id - schemas.ExtendSubscriptionResponse.properties.cycleEndTime.description - schemas.ExtendSubscriptionResponse.properties.cycleEndTime.format - schemas.ExtendSubscriptionResponse.properties.cycleEndTime.type - schemas.ExtendSubscriptionResponse.properties.freeTrialEndTime.description - schemas.ExtendSubscriptionResponse.properties.freeTrialEndTime.format - schemas.ExtendSubscriptionResponse.properties.freeTrialEndTime.type - schemas.ExtendSubscriptionResponse.properties.renewalTime.description - schemas.ExtendSubscriptionResponse.properties.renewalTime.format - schemas.ExtendSubscriptionResponse.properties.renewalTime.readOnly - schemas.ExtendSubscriptionResponse.properties.renewalTime.type - schemas.ExtendSubscriptionResponse.type - schemas.Extension.description - schemas.Extension.id - schemas.Extension.properties.duration.$ref - schemas.Extension.properties.duration.description - schemas.Extension.properties.partnerUserToken.description - schemas.Extension.properties.partnerUserToken.type - schemas.Extension.type - schemas.FindEligiblePromotionsRequest.description - schemas.FindEligiblePromotionsRequest.id - schemas.FindEligiblePromotionsRequest.properties.filter.description - schemas.FindEligiblePromotionsRequest.properties.filter.type - schemas.FindEligiblePromotionsRequest.properties.pageSize.description - schemas.FindEligiblePromotionsRequest.properties.pageSize.format - schemas.FindEligiblePromotionsRequest.properties.pageSize.type - schemas.FindEligiblePromotionsRequest.properties.pageToken.description - schemas.FindEligiblePromotionsRequest.properties.pageToken.type - schemas.FindEligiblePromotionsRequest.type - schemas.FindEligiblePromotionsResponse.description - schemas.FindEligiblePromotionsResponse.id - schemas.FindEligiblePromotionsResponse.properties.nextPageToken.description - schemas.FindEligiblePromotionsResponse.properties.nextPageToken.type - schemas.FindEligiblePromotionsResponse.properties.promotions.description - schemas.FindEligiblePromotionsResponse.properties.promotions.items.$ref - schemas.FindEligiblePromotionsResponse.properties.promotions.type - schemas.FindEligiblePromotionsResponse.type - schemas.FiniteBillingCycleDetails.description - schemas.FiniteBillingCycleDetails.id - schemas.FiniteBillingCycleDetails.properties.billingCycleCountLimit.description - schemas.FiniteBillingCycleDetails.properties.billingCycleCountLimit.format - schemas.FiniteBillingCycleDetails.properties.billingCycleCountLimit.type - schemas.FiniteBillingCycleDetails.type - schemas.GenerateUserSessionRequest.description - schemas.GenerateUserSessionRequest.id - schemas.GenerateUserSessionRequest.properties.intentPayload.$ref - schemas.GenerateUserSessionRequest.properties.intentPayload.description - schemas.GenerateUserSessionRequest.type - schemas.GenerateUserSessionResponse.description - schemas.GenerateUserSessionResponse.id - schemas.GenerateUserSessionResponse.properties.userSession.$ref - schemas.GenerateUserSessionResponse.properties.userSession.description - schemas.GenerateUserSessionResponse.type - schemas.GoogleHomePayload.description - schemas.GoogleHomePayload.id - schemas.GoogleHomePayload.properties.attachedToGoogleStructure.description - schemas.GoogleHomePayload.properties.attachedToGoogleStructure.readOnly - schemas.GoogleHomePayload.properties.attachedToGoogleStructure.type - schemas.GoogleHomePayload.properties.googleStructureId.description - schemas.GoogleHomePayload.properties.googleStructureId.type - schemas.GoogleHomePayload.properties.partnerStructureId.description - schemas.GoogleHomePayload.properties.partnerStructureId.type - schemas.GoogleHomePayload.type - schemas.GoogleOnePayload.description - schemas.GoogleOnePayload.id - schemas.GoogleOnePayload.properties.campaigns.description - schemas.GoogleOnePayload.properties.campaigns.items.type - schemas.GoogleOnePayload.properties.campaigns.type - schemas.GoogleOnePayload.properties.offering.description - schemas.GoogleOnePayload.properties.offering.enum - schemas.GoogleOnePayload.properties.offering.enumDescriptions - schemas.GoogleOnePayload.properties.offering.type - schemas.GoogleOnePayload.properties.salesChannel.description - schemas.GoogleOnePayload.properties.salesChannel.enum - schemas.GoogleOnePayload.properties.salesChannel.enumDescriptions - schemas.GoogleOnePayload.properties.salesChannel.type - schemas.GoogleOnePayload.properties.storeId.description - schemas.GoogleOnePayload.properties.storeId.type - schemas.GoogleOnePayload.type - schemas.IntentPayload.description - schemas.IntentPayload.id - schemas.IntentPayload.properties.createIntent.$ref - schemas.IntentPayload.properties.createIntent.description - schemas.IntentPayload.properties.entitleIntent.$ref - schemas.IntentPayload.properties.entitleIntent.description - schemas.IntentPayload.type - schemas.ListProductsResponse.description - schemas.ListProductsResponse.id - schemas.ListProductsResponse.properties.nextPageToken.description - schemas.ListProductsResponse.properties.nextPageToken.type - schemas.ListProductsResponse.properties.products.description - schemas.ListProductsResponse.properties.products.items.$ref - schemas.ListProductsResponse.properties.products.type - schemas.ListProductsResponse.type - schemas.ListPromotionsResponse.description - schemas.ListPromotionsResponse.id - schemas.ListPromotionsResponse.properties.nextPageToken.description - schemas.ListPromotionsResponse.properties.nextPageToken.type - schemas.ListPromotionsResponse.properties.promotions.description - schemas.ListPromotionsResponse.properties.promotions.items.$ref - schemas.ListPromotionsResponse.properties.promotions.type - schemas.ListPromotionsResponse.type - schemas.Location.description - schemas.Location.id - schemas.Location.properties.postalCode.description - schemas.Location.properties.postalCode.type - schemas.Location.properties.regionCode.description - schemas.Location.properties.regionCode.type - schemas.Location.type - schemas.Product.description - schemas.Product.id - schemas.Product.properties.bundleDetails.$ref - schemas.Product.properties.bundleDetails.description - schemas.Product.properties.bundleDetails.readOnly - schemas.Product.properties.finiteBillingCycleDetails.$ref - schemas.Product.properties.finiteBillingCycleDetails.description - schemas.Product.properties.name.description - schemas.Product.properties.name.type - schemas.Product.properties.priceConfigs.description - schemas.Product.properties.priceConfigs.items.$ref - schemas.Product.properties.priceConfigs.readOnly - schemas.Product.properties.priceConfigs.type - schemas.Product.properties.productType.description - schemas.Product.properties.productType.enum - schemas.Product.properties.productType.enumDescriptions - schemas.Product.properties.productType.readOnly - schemas.Product.properties.productType.type - schemas.Product.properties.regionCodes.description - schemas.Product.properties.regionCodes.items.type - schemas.Product.properties.regionCodes.readOnly - schemas.Product.properties.regionCodes.type - schemas.Product.properties.subscriptionBillingCycleDuration.$ref - schemas.Product.properties.subscriptionBillingCycleDuration.description - schemas.Product.properties.subscriptionBillingCycleDuration.readOnly - schemas.Product.properties.titles.description - schemas.Product.properties.titles.items.$ref - schemas.Product.properties.titles.readOnly - schemas.Product.properties.titles.type - schemas.Product.type - schemas.ProductBundleDetailsBundleElement.description - schemas.ProductBundleDetailsBundleElement.id - schemas.ProductBundleDetailsBundleElement.properties.product.description - schemas.ProductBundleDetailsBundleElement.properties.product.readOnly - schemas.ProductBundleDetailsBundleElement.properties.product.type - schemas.ProductBundleDetailsBundleElement.type - schemas.ProductPayload.description - schemas.ProductPayload.id - schemas.ProductPayload.properties.googleHomePayload.$ref - schemas.ProductPayload.properties.googleHomePayload.description - schemas.ProductPayload.properties.googleOnePayload.$ref - schemas.ProductPayload.properties.googleOnePayload.description - schemas.ProductPayload.properties.youtubePayload.$ref - schemas.ProductPayload.properties.youtubePayload.description - schemas.ProductPayload.type - schemas.ProductPriceConfig.description - schemas.ProductPriceConfig.id - schemas.ProductPriceConfig.properties.amount.$ref - schemas.ProductPriceConfig.properties.amount.description - schemas.ProductPriceConfig.properties.amount.readOnly - schemas.ProductPriceConfig.properties.regionCode.description - schemas.ProductPriceConfig.properties.regionCode.readOnly - schemas.ProductPriceConfig.properties.regionCode.type - schemas.ProductPriceConfig.type - schemas.Promotion.description - schemas.Promotion.id - schemas.Promotion.properties.applicableProducts.description - schemas.Promotion.properties.applicableProducts.items.type - schemas.Promotion.properties.applicableProducts.readOnly - schemas.Promotion.properties.applicableProducts.type - schemas.Promotion.properties.endTime.description - schemas.Promotion.properties.endTime.format - schemas.Promotion.properties.endTime.type - schemas.Promotion.properties.freeTrialDuration.$ref - schemas.Promotion.properties.freeTrialDuration.description - schemas.Promotion.properties.introductoryPricingDetails.$ref - schemas.Promotion.properties.introductoryPricingDetails.description - schemas.Promotion.properties.name.description - schemas.Promotion.properties.name.type - schemas.Promotion.properties.promotionType.description - schemas.Promotion.properties.promotionType.enum - schemas.Promotion.properties.promotionType.enumDescriptions - schemas.Promotion.properties.promotionType.readOnly - schemas.Promotion.properties.promotionType.type - schemas.Promotion.properties.regionCodes.description - schemas.Promotion.properties.regionCodes.items.type - schemas.Promotion.properties.regionCodes.readOnly - schemas.Promotion.properties.regionCodes.type - schemas.Promotion.properties.startTime.description - schemas.Promotion.properties.startTime.format - schemas.Promotion.properties.startTime.type - schemas.Promotion.properties.titles.description - schemas.Promotion.properties.titles.items.$ref - schemas.Promotion.properties.titles.readOnly - schemas.Promotion.properties.titles.type - schemas.Promotion.type - schemas.PromotionIntroductoryPricingDetails.description - schemas.PromotionIntroductoryPricingDetails.id - schemas.PromotionIntroductoryPricingDetails.properties.introductoryPricingSpecs.description - schemas.PromotionIntroductoryPricingDetails.properties.introductoryPricingSpecs.items.$ref - schemas.PromotionIntroductoryPricingDetails.properties.introductoryPricingSpecs.readOnly - schemas.PromotionIntroductoryPricingDetails.properties.introductoryPricingSpecs.type - schemas.PromotionIntroductoryPricingDetails.type - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.description - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.id - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountAmount.$ref - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountAmount.description - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountAmount.readOnly - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountRatioMicros.description - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountRatioMicros.format - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountRatioMicros.readOnly - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.discountRatioMicros.type - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.recurrenceCount.description - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.recurrenceCount.format - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.recurrenceCount.readOnly - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.recurrenceCount.type - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.regionCode.description - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.regionCode.readOnly - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.properties.regionCode.type - schemas.PromotionIntroductoryPricingDetailsIntroductoryPricingSpec.type - schemas.ResumeSubscriptionRequest.description - schemas.ResumeSubscriptionRequest.id - schemas.ResumeSubscriptionRequest.type - schemas.ResumeSubscriptionResponse.description - schemas.ResumeSubscriptionResponse.id - schemas.ResumeSubscriptionResponse.properties.subscription.$ref - schemas.ResumeSubscriptionResponse.properties.subscription.description - schemas.ResumeSubscriptionResponse.type - schemas.ServicePeriod.description - schemas.ServicePeriod.id - schemas.ServicePeriod.properties.endTime.description - schemas.ServicePeriod.properties.endTime.format - schemas.ServicePeriod.properties.endTime.type - schemas.ServicePeriod.properties.startTime.description - schemas.ServicePeriod.properties.startTime.format - schemas.ServicePeriod.properties.startTime.type - schemas.ServicePeriod.type - schemas.Subscription.description - schemas.Subscription.id - schemas.Subscription.properties.cancellationDetails.$ref - schemas.Subscription.properties.cancellationDetails.description - schemas.Subscription.properties.cancellationDetails.readOnly - schemas.Subscription.properties.createTime.description - schemas.Subscription.properties.createTime.format - schemas.Subscription.properties.createTime.readOnly - schemas.Subscription.properties.createTime.type - schemas.Subscription.properties.cycleEndTime.description - schemas.Subscription.properties.cycleEndTime.format - schemas.Subscription.properties.cycleEndTime.readOnly - schemas.Subscription.properties.cycleEndTime.type - schemas.Subscription.properties.endUserEntitled.description - schemas.Subscription.properties.endUserEntitled.readOnly - schemas.Subscription.properties.endUserEntitled.type - schemas.Subscription.properties.freeTrialEndTime.description - schemas.Subscription.properties.freeTrialEndTime.format - schemas.Subscription.properties.freeTrialEndTime.readOnly - schemas.Subscription.properties.freeTrialEndTime.type - schemas.Subscription.properties.lineItems.description - schemas.Subscription.properties.lineItems.items.$ref - schemas.Subscription.properties.lineItems.type - schemas.Subscription.properties.migrationDetails.$ref - schemas.Subscription.properties.migrationDetails.description - schemas.Subscription.properties.migrationDetails.readOnly - schemas.Subscription.properties.name.description - schemas.Subscription.properties.name.type - schemas.Subscription.properties.partnerUserToken.description - schemas.Subscription.properties.partnerUserToken.type - schemas.Subscription.properties.processingState.description - schemas.Subscription.properties.processingState.enum - schemas.Subscription.properties.processingState.enumDescriptions - schemas.Subscription.properties.processingState.readOnly - schemas.Subscription.properties.processingState.type - schemas.Subscription.properties.products.description - schemas.Subscription.properties.products.items.type - schemas.Subscription.properties.products.type - schemas.Subscription.properties.promotionSpecs.description - schemas.Subscription.properties.promotionSpecs.items.$ref - schemas.Subscription.properties.promotionSpecs.type - schemas.Subscription.properties.promotions.description - schemas.Subscription.properties.promotions.items.type - schemas.Subscription.properties.promotions.type - schemas.Subscription.properties.purchaseTime.description - schemas.Subscription.properties.purchaseTime.format - schemas.Subscription.properties.purchaseTime.type - schemas.Subscription.properties.redirectUri.description - schemas.Subscription.properties.redirectUri.readOnly - schemas.Subscription.properties.redirectUri.type - schemas.Subscription.properties.renewalTime.description - schemas.Subscription.properties.renewalTime.format - schemas.Subscription.properties.renewalTime.readOnly - schemas.Subscription.properties.renewalTime.type - schemas.Subscription.properties.serviceLocation.$ref - schemas.Subscription.properties.serviceLocation.description - schemas.Subscription.properties.state.description - schemas.Subscription.properties.state.enum - schemas.Subscription.properties.state.enumDescriptions - schemas.Subscription.properties.state.readOnly - schemas.Subscription.properties.state.type - schemas.Subscription.properties.updateTime.description - schemas.Subscription.properties.updateTime.format - schemas.Subscription.properties.updateTime.readOnly - schemas.Subscription.properties.updateTime.type - schemas.Subscription.properties.upgradeDowngradeDetails.$ref - schemas.Subscription.properties.upgradeDowngradeDetails.description - schemas.Subscription.type - schemas.SubscriptionCancellationDetails.description - schemas.SubscriptionCancellationDetails.id - schemas.SubscriptionCancellationDetails.properties.reason.description - schemas.SubscriptionCancellationDetails.properties.reason.enum - schemas.SubscriptionCancellationDetails.properties.reason.enumDescriptions - schemas.SubscriptionCancellationDetails.properties.reason.readOnly - schemas.SubscriptionCancellationDetails.properties.reason.type - schemas.SubscriptionCancellationDetails.type - schemas.SubscriptionLineItem.description - schemas.SubscriptionLineItem.id - schemas.SubscriptionLineItem.properties.amount.$ref - schemas.SubscriptionLineItem.properties.amount.description - schemas.SubscriptionLineItem.properties.amount.readOnly - schemas.SubscriptionLineItem.properties.bundleDetails.$ref - schemas.SubscriptionLineItem.properties.bundleDetails.description - schemas.SubscriptionLineItem.properties.bundleDetails.readOnly - schemas.SubscriptionLineItem.properties.description.description - schemas.SubscriptionLineItem.properties.description.readOnly - schemas.SubscriptionLineItem.properties.description.type - schemas.SubscriptionLineItem.properties.finiteBillingCycleDetails.$ref - schemas.SubscriptionLineItem.properties.finiteBillingCycleDetails.description - schemas.SubscriptionLineItem.properties.lineItemFreeTrialEndTime.description - schemas.SubscriptionLineItem.properties.lineItemFreeTrialEndTime.format - schemas.SubscriptionLineItem.properties.lineItemFreeTrialEndTime.readOnly - schemas.SubscriptionLineItem.properties.lineItemFreeTrialEndTime.type - schemas.SubscriptionLineItem.properties.lineItemIndex.description - schemas.SubscriptionLineItem.properties.lineItemIndex.format - schemas.SubscriptionLineItem.properties.lineItemIndex.readOnly - schemas.SubscriptionLineItem.properties.lineItemIndex.type - schemas.SubscriptionLineItem.properties.lineItemPromotionSpecs.description - schemas.SubscriptionLineItem.properties.lineItemPromotionSpecs.items.$ref - schemas.SubscriptionLineItem.properties.lineItemPromotionSpecs.type - schemas.SubscriptionLineItem.properties.oneTimeRecurrenceDetails.$ref - schemas.SubscriptionLineItem.properties.oneTimeRecurrenceDetails.description - schemas.SubscriptionLineItem.properties.oneTimeRecurrenceDetails.readOnly - schemas.SubscriptionLineItem.properties.product.description - schemas.SubscriptionLineItem.properties.product.type - schemas.SubscriptionLineItem.properties.productPayload.$ref - schemas.SubscriptionLineItem.properties.productPayload.description - schemas.SubscriptionLineItem.properties.recurrenceType.description - schemas.SubscriptionLineItem.properties.recurrenceType.enum - schemas.SubscriptionLineItem.properties.recurrenceType.enumDescriptions - schemas.SubscriptionLineItem.properties.recurrenceType.readOnly - schemas.SubscriptionLineItem.properties.recurrenceType.type - schemas.SubscriptionLineItem.properties.state.description - schemas.SubscriptionLineItem.properties.state.enum - schemas.SubscriptionLineItem.properties.state.enumDescriptions - schemas.SubscriptionLineItem.properties.state.readOnly - schemas.SubscriptionLineItem.properties.state.type - schemas.SubscriptionLineItem.type - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.description - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.id - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.properties.product.description - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.properties.product.readOnly - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.properties.product.type - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.properties.userAccountLinkedTime.description - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.properties.userAccountLinkedTime.format - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.properties.userAccountLinkedTime.readOnly - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.properties.userAccountLinkedTime.type - schemas.SubscriptionLineItemBundleDetailsBundleElementDetails.type - schemas.SubscriptionLineItemOneTimeRecurrenceDetails.description - schemas.SubscriptionLineItemOneTimeRecurrenceDetails.id - schemas.SubscriptionLineItemOneTimeRecurrenceDetails.properties.servicePeriod.$ref - schemas.SubscriptionLineItemOneTimeRecurrenceDetails.properties.servicePeriod.description - schemas.SubscriptionLineItemOneTimeRecurrenceDetails.properties.servicePeriod.readOnly - schemas.SubscriptionLineItemOneTimeRecurrenceDetails.type - schemas.SubscriptionMigrationDetails.description - schemas.SubscriptionMigrationDetails.id - schemas.SubscriptionMigrationDetails.properties.migratedSubscriptionId.description - schemas.SubscriptionMigrationDetails.properties.migratedSubscriptionId.readOnly - schemas.SubscriptionMigrationDetails.properties.migratedSubscriptionId.type - schemas.SubscriptionMigrationDetails.type - schemas.SubscriptionPromotionSpec.description - schemas.SubscriptionPromotionSpec.id - schemas.SubscriptionPromotionSpec.properties.freeTrialDuration.$ref - schemas.SubscriptionPromotionSpec.properties.freeTrialDuration.description - schemas.SubscriptionPromotionSpec.properties.freeTrialDuration.readOnly - schemas.SubscriptionPromotionSpec.properties.introductoryPricingDetails.$ref - schemas.SubscriptionPromotionSpec.properties.introductoryPricingDetails.description - schemas.SubscriptionPromotionSpec.properties.introductoryPricingDetails.readOnly - schemas.SubscriptionPromotionSpec.properties.promotion.description - schemas.SubscriptionPromotionSpec.properties.promotion.type - schemas.SubscriptionPromotionSpec.properties.type.description - schemas.SubscriptionPromotionSpec.properties.type.enum - schemas.SubscriptionPromotionSpec.properties.type.enumDescriptions - schemas.SubscriptionPromotionSpec.properties.type.readOnly - schemas.SubscriptionPromotionSpec.properties.type.type - schemas.SubscriptionPromotionSpec.type - schemas.SubscriptionUpgradeDowngradeDetails.description - schemas.SubscriptionUpgradeDowngradeDetails.id - schemas.SubscriptionUpgradeDowngradeDetails.properties.billingCycleSpec.description - schemas.SubscriptionUpgradeDowngradeDetails.properties.billingCycleSpec.enum - schemas.SubscriptionUpgradeDowngradeDetails.properties.billingCycleSpec.enumDescriptions - schemas.SubscriptionUpgradeDowngradeDetails.properties.billingCycleSpec.type - schemas.SubscriptionUpgradeDowngradeDetails.properties.previousSubscriptionId.description - schemas.SubscriptionUpgradeDowngradeDetails.properties.previousSubscriptionId.type - schemas.SubscriptionUpgradeDowngradeDetails.type - schemas.SuspendSubscriptionRequest.description - schemas.SuspendSubscriptionRequest.id - schemas.SuspendSubscriptionRequest.type - schemas.SuspendSubscriptionResponse.description - schemas.SuspendSubscriptionResponse.id - schemas.SuspendSubscriptionResponse.properties.subscription.$ref - schemas.SuspendSubscriptionResponse.properties.subscription.description - schemas.SuspendSubscriptionResponse.type - schemas.UndoCancelSubscriptionRequest.description - schemas.UndoCancelSubscriptionRequest.id - schemas.UndoCancelSubscriptionRequest.type - schemas.UndoCancelSubscriptionResponse.description - schemas.UndoCancelSubscriptionResponse.id - schemas.UndoCancelSubscriptionResponse.properties.subscription.$ref - schemas.UndoCancelSubscriptionResponse.properties.subscription.description - schemas.UndoCancelSubscriptionResponse.type - schemas.UserSession.description - schemas.UserSession.id - schemas.UserSession.properties.expireTime.description - schemas.UserSession.properties.expireTime.format - schemas.UserSession.properties.expireTime.readOnly - schemas.UserSession.properties.expireTime.type - schemas.UserSession.properties.token.description - schemas.UserSession.properties.token.readOnly - schemas.UserSession.properties.token.type - schemas.UserSession.type - schemas.YoutubePayload.description - schemas.YoutubePayload.id - schemas.YoutubePayload.properties.accessEndTime.description - schemas.YoutubePayload.properties.accessEndTime.format - schemas.YoutubePayload.properties.accessEndTime.readOnly - schemas.YoutubePayload.properties.accessEndTime.type - schemas.YoutubePayload.properties.partnerEligibilityIds.description - schemas.YoutubePayload.properties.partnerEligibilityIds.items.type - schemas.YoutubePayload.properties.partnerEligibilityIds.type - schemas.YoutubePayload.properties.partnerPlanType.description - schemas.YoutubePayload.properties.partnerPlanType.enum - schemas.YoutubePayload.properties.partnerPlanType.enumDescriptions - schemas.YoutubePayload.properties.partnerPlanType.type - schemas.YoutubePayload.type The following keys were changed: - resources.partners.resources.products.methods.list.response.$ref - resources.partners.resources.promotions.methods.findEligible.request.$ref - resources.partners.resources.promotions.methods.findEligible.response.$ref - resources.partners.resources.promotions.methods.list.response.$ref - resources.partners.resources.subscriptions.methods.cancel.request.$ref - resources.partners.resources.subscriptions.methods.cancel.response.$ref - resources.partners.resources.subscriptions.methods.create.request.$ref - resources.partners.resources.subscriptions.methods.create.response.$ref - resources.partners.resources.subscriptions.methods.entitle.request.$ref - resources.partners.resources.subscriptions.methods.entitle.response.$ref - resources.partners.resources.subscriptions.methods.extend.request.$ref - resources.partners.resources.subscriptions.methods.extend.response.$ref - resources.partners.resources.subscriptions.methods.get.response.$ref - resources.partners.resources.subscriptions.methods.provision.request.$ref - resources.partners.resources.subscriptions.methods.provision.response.$ref - resources.partners.resources.subscriptions.methods.resume.request.$ref - resources.partners.resources.subscriptions.methods.resume.response.$ref - resources.partners.resources.subscriptions.methods.suspend.request.$ref - resources.partners.resources.subscriptions.methods.suspend.response.$ref - resources.partners.resources.subscriptions.methods.undoCancel.request.$ref - resources.partners.resources.subscriptions.methods.undoCancel.response.$ref - resources.partners.resources.userSessions.methods.generate.request.$ref - resources.partners.resources.userSessions.methods.generate.response.$ref - schemas.ProductBundleDetails.properties.bundleElements.items.$ref - schemas.SubscriptionLineItemBundleDetails.properties.bundleElementDetails.items.$ref --- .../paymentsresellersubscription-v1.json | 438 ++++++------ src/apis/paymentsresellersubscription/v1.ts | 646 ++++++++---------- 2 files changed, 501 insertions(+), 583 deletions(-) diff --git a/discovery/paymentsresellersubscription-v1.json b/discovery/paymentsresellersubscription-v1.json index 236a0db348..a84484fd0f 100644 --- a/discovery/paymentsresellersubscription-v1.json +++ b/discovery/paymentsresellersubscription-v1.json @@ -144,7 +144,7 @@ }, "path": "v1/{+parent}/products", "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse" + "$ref": "ListProductsResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -173,10 +173,10 @@ }, "path": "v1/{+parent}/promotions:findEligible", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest" + "$ref": "FindEligiblePromotionsRequest" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse" + "$ref": "FindEligiblePromotionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -217,7 +217,7 @@ }, "path": "v1/{+parent}/promotions", "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse" + "$ref": "ListPromotionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -246,10 +246,10 @@ }, "path": "v1/{+name}:cancel", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest" + "$ref": "CancelSubscriptionRequest" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse" + "$ref": "CancelSubscriptionResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -279,10 +279,10 @@ }, "path": "v1/{+parent}/subscriptions", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + "$ref": "Subscription" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + "$ref": "Subscription" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -307,10 +307,10 @@ }, "path": "v1/{+name}:entitle", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest" + "$ref": "EntitleSubscriptionRequest" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse" + "$ref": "EntitleSubscriptionResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -335,10 +335,10 @@ }, "path": "v1/{+name}:extend", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest" + "$ref": "ExtendSubscriptionRequest" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse" + "$ref": "ExtendSubscriptionResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -363,7 +363,7 @@ }, "path": "v1/{+name}", "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + "$ref": "Subscription" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -393,10 +393,10 @@ }, "path": "v1/{+parent}/subscriptions:provision", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + "$ref": "Subscription" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + "$ref": "Subscription" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -421,10 +421,10 @@ }, "path": "v1/{+name}:resume", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionRequest" + "$ref": "ResumeSubscriptionRequest" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse" + "$ref": "ResumeSubscriptionResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -449,10 +449,10 @@ }, "path": "v1/{+name}:suspend", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionRequest" + "$ref": "SuspendSubscriptionRequest" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse" + "$ref": "SuspendSubscriptionResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -477,10 +477,10 @@ }, "path": "v1/{+name}:undoCancel", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest" + "$ref": "UndoCancelSubscriptionRequest" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse" + "$ref": "UndoCancelSubscriptionResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -509,10 +509,10 @@ }, "path": "v1/{+parent}/userSessions:generate", "request": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest" + "$ref": "GenerateUserSessionRequest" }, "response": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse" + "$ref": "GenerateUserSessionResponse" }, "scopes": [ "https://www.googleapis.com/auth/sdm.service" @@ -523,12 +523,12 @@ } } }, - "revision": "20250713", + "revision": "20250808", "rootUrl": "https://paymentsresellersubscription.googleapis.com/", "schemas": { - "GoogleCloudPaymentsResellerSubscriptionV1Amount": { + "Amount": { "description": "Describes the amount unit including the currency code.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1Amount", + "id": "Amount", "properties": { "amountMicros": { "description": "Required. Amount in micros (1_000_000 micros = 1 currency unit)", @@ -542,9 +542,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest": { + "CancelSubscriptionRequest": { "description": "Request to cancel a subscription.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest", + "id": "CancelSubscriptionRequest", "properties": { "cancelImmediately": { "description": "Optional. If true, Google will cancel the subscription immediately, and may or may not (based on the contract) issue a prorated refund for the remainder of the billing cycle. Otherwise, Google defers the cancelation at renewal_time, and will not issue a refund. - YouTube subscriptions must use this option currently. However, the user will still have access to the subscription until the end of the billing cycle.", @@ -583,27 +583,27 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse": { + "CancelSubscriptionResponse": { "description": "Response that contains the cancelled subscription resource.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse", + "id": "CancelSubscriptionResponse", "properties": { "subscription": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "$ref": "Subscription", "description": "The cancelled subscription resource." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent": { + "CreateSubscriptionIntent": { "description": "Intent message for creating a Subscription resource.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent", + "id": "CreateSubscriptionIntent", "properties": { "parent": { "description": "Required. The parent resource name, which is the identifier of the partner.", "type": "string" }, "subscription": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "$ref": "Subscription", "description": "Required. The Subscription to be created." }, "subscriptionId": { @@ -613,9 +613,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1Duration": { + "Duration": { "description": "Describes the length of a period of a time.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "id": "Duration", "properties": { "count": { "description": "number of duration units to be included.", @@ -641,9 +641,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent": { + "EntitleSubscriptionIntent": { "description": "Intent for entitling the previously provisioned subscription to an end user.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent", + "id": "EntitleSubscriptionIntent", "properties": { "name": { "description": "Required. The name of the subscription resource that is entitled to the current end user. It is in the format of \"partners/{partner_id}/subscriptions/{subscriptionId}\".", @@ -652,23 +652,23 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest": { + "EntitleSubscriptionRequest": { "description": "Partner request for entitling the previously provisioned subscription to an end user. The end user identity is inferred from the request OAuth context.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest", + "id": "EntitleSubscriptionRequest", "properties": { "lineItemEntitlementDetails": { "description": "Optional. The line items to be entitled. If unspecified, all line items will be entitled.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails" + "$ref": "EntitleSubscriptionRequestLineItemEntitlementDetails" }, "type": "array" } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails": { + "EntitleSubscriptionRequestLineItemEntitlementDetails": { "description": "The details of the line item to be entitled.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails", + "id": "EntitleSubscriptionRequestLineItemEntitlementDetails", "properties": { "lineItemIndex": { "description": "Required. The index of the line item to be entitled.", @@ -685,23 +685,23 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse": { + "EntitleSubscriptionResponse": { "description": "Response that contains the entitled subscription resource.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse", + "id": "EntitleSubscriptionResponse", "properties": { "subscription": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "$ref": "Subscription", "description": "The subscription that has user linked to it." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest": { + "ExtendSubscriptionRequest": { "description": "Request message for extending a Subscription resource. A new recurrence will be made based on the subscription schedule defined by the original product.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest", + "id": "ExtendSubscriptionRequest", "properties": { "extension": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Extension", + "$ref": "Extension", "description": "Required. Specifies details of the extension. Currently, the duration of the extension must be exactly one billing cycle of the original subscription." }, "requestId": { @@ -711,9 +711,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse": { + "ExtendSubscriptionResponse": { "description": "Response that contains the timestamps after the extension.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse", + "id": "ExtendSubscriptionResponse", "properties": { "cycleEndTime": { "description": "The time at which the subscription is expected to be extended, in ISO 8061 format. UTC timezone. Example, \"cycleEndTime\":\"2019-08-31T17:28:54.564Z\"", @@ -734,12 +734,12 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1Extension": { + "Extension": { "description": "Describes the details of an extension request.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1Extension", + "id": "Extension", "properties": { "duration": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "$ref": "Duration", "description": "Required. Specifies the period of access the subscription should grant." }, "partnerUserToken": { @@ -749,9 +749,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest": { + "FindEligiblePromotionsRequest": { "description": "Request to find eligible promotions for the current user.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest", + "id": "FindEligiblePromotionsRequest", "properties": { "filter": { "description": "Optional. Specifies the filters for the promotion results. The syntax is defined in https://google.aip.dev/160 with the following caveats: 1. Only the following features are supported: - Logical operator `AND` - Comparison operator `=` (no wildcards `*`) - Traversal operator `.` - Has operator `:` (no wildcards `*`) 2. Only the following fields are supported: - `applicableProducts` - `regionCodes` - `youtubePayload.partnerEligibilityId` - `youtubePayload.postalCode` 3. Unless explicitly mentioned above, other features are not supported. Example: `applicableProducts:partners/partner1/products/product1 AND regionCodes:US AND youtubePayload.postalCode=94043 AND youtubePayload.partnerEligibilityId=eligibility-id`", @@ -769,9 +769,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse": { + "FindEligiblePromotionsResponse": { "description": "Response containing the found promotions for the current user.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse", + "id": "FindEligiblePromotionsResponse", "properties": { "nextPageToken": { "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", @@ -780,16 +780,16 @@ "promotions": { "description": "The promotions for the current user.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Promotion" + "$ref": "Promotion" }, "type": "array" } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails": { + "FiniteBillingCycleDetails": { "description": "Details for a subscriptiin line item with finite billing cycles.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails", + "id": "FiniteBillingCycleDetails", "properties": { "billingCycleCountLimit": { "description": "Required. The number of a subscription line item billing cycles after which billing will stop automatically.", @@ -799,37 +799,41 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest": { + "GenerateUserSessionRequest": { "description": "Request to generate a user session.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest", + "id": "GenerateUserSessionRequest", "properties": { "intentPayload": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1IntentPayload", + "$ref": "IntentPayload", "description": "The user intent to generate the user session." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse": { + "GenerateUserSessionResponse": { "description": "Response that contains the details for generated user session.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse", + "id": "GenerateUserSessionResponse", "properties": { "userSession": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1UserSession", + "$ref": "UserSession", "description": "The generated user session. The token size is proportional to the size of the intent payload." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload": { + "GoogleHomePayload": { "description": "Payload specific for Google Home products.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload", + "id": "GoogleHomePayload", "properties": { "attachedToGoogleStructure": { "description": "Output only. This identifies whether the subscription is attached to a Google Home structure.", "readOnly": true, "type": "boolean" }, + "googleStructureId": { + "description": "Optional. Structure identifier on Google side.", + "type": "string" + }, "partnerStructureId": { "description": "Optional. This identifies the structure ID on partner side that the subscription should be applied to. Only required when the partner requires structure mapping.", "type": "string" @@ -837,9 +841,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload": { + "GoogleOnePayload": { "description": "Payload specific to Google One products.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload", + "id": "GoogleOnePayload", "properties": { "campaigns": { "description": "Campaign attributed to sales of this subscription.", @@ -891,24 +895,39 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1IntentPayload": { + "GoogleTypeLocalizedText": { + "description": "Localized variant of a text in a particular language.", + "id": "GoogleTypeLocalizedText", + "properties": { + "languageCode": { + "description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + }, + "text": { + "description": "Localized string in the language corresponding to language_code below.", + "type": "string" + } + }, + "type": "object" + }, + "IntentPayload": { "description": "The payload that describes the user intent.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1IntentPayload", + "id": "IntentPayload", "properties": { "createIntent": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent", + "$ref": "CreateSubscriptionIntent", "description": "The request to create a subscription." }, "entitleIntent": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent", + "$ref": "EntitleSubscriptionIntent", "description": "The request to entitle a subscription." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse": { + "ListProductsResponse": { "description": "Response that contains the products.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse", + "id": "ListProductsResponse", "properties": { "nextPageToken": { "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", @@ -917,16 +936,16 @@ "products": { "description": "The products for the specified partner.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Product" + "$ref": "Product" }, "type": "array" } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse": { + "ListPromotionsResponse": { "description": "Response that contains the promotions.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse", + "id": "ListPromotionsResponse", "properties": { "nextPageToken": { "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", @@ -935,16 +954,16 @@ "promotions": { "description": "The promotions for the specified partner.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Promotion" + "$ref": "Promotion" }, "type": "array" } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1Location": { + "Location": { "description": "Describes a location of an end user.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1Location", + "id": "Location", "properties": { "postalCode": { "description": "The postal code this location refers to. Ex. \"94043\"", @@ -957,9 +976,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1Product": { + "Product": { "description": "A Product resource that defines a subscription service that can be resold.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1Product", + "id": "Product", "properties": { "bundleDetails": { "$ref": "ProductBundleDetails", @@ -967,7 +986,7 @@ "readOnly": true }, "finiteBillingCycleDetails": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails", + "$ref": "FiniteBillingCycleDetails", "description": "Optional. Details for a subscription line item with finite billing cycles. If unset, the line item will be charged indefinitely." }, "name": { @@ -977,7 +996,7 @@ "priceConfigs": { "description": "Output only. Price configs for the product in the available regions.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig" + "$ref": "ProductPriceConfig" }, "readOnly": true, "type": "array" @@ -1006,7 +1025,7 @@ "type": "array" }, "subscriptionBillingCycleDuration": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "$ref": "Duration", "description": "Output only. Specifies the length of the billing cycle of the subscription.", "readOnly": true }, @@ -1021,9 +1040,37 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement": { + "ProductBundleDetails": { + "description": "Details for a bundle product.", + "id": "ProductBundleDetails", + "properties": { + "bundleElements": { + "description": "The individual products that are included in the bundle.", + "items": { + "$ref": "ProductBundleDetailsBundleElement" + }, + "type": "array" + }, + "entitlementMode": { + "description": "The entitlement mode of the bundle product.", + "enum": [ + "ENTITLEMENT_MODE_UNSPECIFIED", + "ENTITLEMENT_MODE_FULL", + "ENTITLEMENT_MODE_INCREMENTAL" + ], + "enumDescriptions": [ + "Unspecified. It's reserved as an unexpected value, should not be used.", + "All the bundle elements must be fully activated in a single request.", + "The bundle elements could be incrementally activated." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductBundleDetailsBundleElement": { "description": "The individual product that is included in the bundle.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement", + "id": "ProductBundleDetailsBundleElement", "properties": { "product": { "description": "Required. Output only. Product resource name that identifies the bundle element. The format is 'partners/{partner_id}/products/{product_id}'.", @@ -1033,31 +1080,31 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ProductPayload": { + "ProductPayload": { "description": "Specifies product specific payload.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ProductPayload", + "id": "ProductPayload", "properties": { "googleHomePayload": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload", + "$ref": "GoogleHomePayload", "description": "Payload specific to Google Home products." }, "googleOnePayload": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload", + "$ref": "GoogleOnePayload", "description": "Product-specific payloads. Payload specific to Google One products." }, "youtubePayload": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload", + "$ref": "YoutubePayload", "description": "Payload specific to Youtube products." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig": { + "ProductPriceConfig": { "description": "Configs the prices in an available region.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig", + "id": "ProductPriceConfig", "properties": { "amount": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Amount", + "$ref": "Amount", "description": "Output only. The price in the region.", "readOnly": true }, @@ -1069,9 +1116,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1Promotion": { + "Promotion": { "description": "A Promotion resource that defines a promotion for a subscription that can be resold.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1Promotion", + "id": "Promotion", "properties": { "applicableProducts": { "description": "Output only. The product ids this promotion can be applied to.", @@ -1087,11 +1134,11 @@ "type": "string" }, "freeTrialDuration": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "$ref": "Duration", "description": "Optional. Specifies the duration of the free trial of the subscription when promotion_type is PROMOTION_TYPE_FREE_TRIAL" }, "introductoryPricingDetails": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails", + "$ref": "PromotionIntroductoryPricingDetails", "description": "Optional. Specifies the introductory pricing details when the promotion_type is PROMOTION_TYPE_INTRODUCTORY_PRICING." }, "name": { @@ -1137,14 +1184,14 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails": { + "PromotionIntroductoryPricingDetails": { "description": "The details of a introductory pricing promotion.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails", + "id": "PromotionIntroductoryPricingDetails", "properties": { "introductoryPricingSpecs": { "description": "Output only. Specifies the introductory pricing periods.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec" + "$ref": "PromotionIntroductoryPricingDetailsIntroductoryPricingSpec" }, "readOnly": true, "type": "array" @@ -1152,12 +1199,12 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec": { + "PromotionIntroductoryPricingDetailsIntroductoryPricingSpec": { "description": "The duration of an introductory pricing promotion.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec", + "id": "PromotionIntroductoryPricingDetailsIntroductoryPricingSpec", "properties": { "discountAmount": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Amount", + "$ref": "Amount", "description": "Output only. The discount amount. The value is positive.", "readOnly": true }, @@ -1181,26 +1228,26 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionRequest": { + "ResumeSubscriptionRequest": { "description": "Request to resume a suspended subscription.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionRequest", + "id": "ResumeSubscriptionRequest", "properties": {}, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse": { + "ResumeSubscriptionResponse": { "description": "Response that contains the resumed subscription.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse", + "id": "ResumeSubscriptionResponse", "properties": { "subscription": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "$ref": "Subscription", "description": "The resumed subscription resource." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod": { + "ServicePeriod": { "description": "A description of what time period or moment in time the product or service is being delivered over.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod", + "id": "ServicePeriod", "properties": { "endTime": { "description": "Optional. The end time of the service period. Time is exclusive.", @@ -1215,12 +1262,12 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1Subscription": { + "Subscription": { "description": "A subscription serves as a central billing entity between an external partner and Google. The underlying Google services rely on the subscription state to grant or revoke the user's service entitlement. It's important to note that the subscription state may not always perfectly align with the user's service entitlement. For example, some Google services may continue providing access to the user until the current billing cycle ends, even if the subscription has been immediately canceled. However, other services may not do the same. To fully understand the specific details, please consult the relevant contract or product policy.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "id": "Subscription", "properties": { "cancellationDetails": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails", + "$ref": "SubscriptionCancellationDetails", "description": "Output only. Describes the details of a cancelled subscription. Only applicable to subscription of state `STATE_CANCELLED`.", "readOnly": true }, @@ -1250,12 +1297,12 @@ "lineItems": { "description": "Required. The line items of the subscription.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem" + "$ref": "SubscriptionLineItem" }, "type": "array" }, "migrationDetails": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails", + "$ref": "SubscriptionMigrationDetails", "description": "Output only. Describes the details of the migrated subscription. Only populated if this subscription is migrated from another system.", "readOnly": true }, @@ -1292,7 +1339,7 @@ "promotionSpecs": { "description": "Optional. Subscription-level promotions. Only free trial is supported on this level. It determines the first renewal time of the subscription to be the end of the free trial period. Specify the promotion resource name only when used as input.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec" + "$ref": "SubscriptionPromotionSpec" }, "type": "array" }, @@ -1320,7 +1367,7 @@ "type": "string" }, "serviceLocation": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Location", + "$ref": "Location", "description": "Required. The location that the service is provided as indicated by the partner." }, "state": { @@ -1353,15 +1400,15 @@ "type": "string" }, "upgradeDowngradeDetails": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails", + "$ref": "SubscriptionUpgradeDowngradeDetails", "description": "Optional. Details about the previous subscription that this new subscription upgrades/downgrades from. Only populated if this subscription is an upgrade/downgrade from another subscription." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails": { + "SubscriptionCancellationDetails": { "description": "Describes the details of a cancelled or cancelling subscription.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails", + "id": "SubscriptionCancellationDetails", "properties": { "reason": { "description": "Output only. The reason of the cancellation.", @@ -1397,12 +1444,12 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem": { + "SubscriptionLineItem": { "description": "Individual line item definition of a subscription.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem", + "id": "SubscriptionLineItem", "properties": { "amount": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Amount", + "$ref": "Amount", "description": "Output only. The price of the product/service in this line item. The amount could be the wholesale price, or it can include a cost of sale based on the contract.", "readOnly": true }, @@ -1417,7 +1464,7 @@ "type": "string" }, "finiteBillingCycleDetails": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails", + "$ref": "FiniteBillingCycleDetails", "description": "Optional. Details for a subscription line item with finite billing cycles. If unset, the line item will be charged indefinitely. Used only with LINE_ITEM_RECURRENCE_TYPE_PERIODIC." }, "lineItemFreeTrialEndTime": { @@ -1435,12 +1482,12 @@ "lineItemPromotionSpecs": { "description": "Optional. The promotions applied on the line item. It can be: - an introductory pricing promotion. - a free trial promotion. This feature is not enabled. If used, the request will be rejected. When used as input in Create or Provision API, specify its resource name only.", "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec" + "$ref": "SubscriptionPromotionSpec" }, "type": "array" }, "oneTimeRecurrenceDetails": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails", + "$ref": "SubscriptionLineItemOneTimeRecurrenceDetails", "description": "Output only. Details only set for a ONE_TIME recurrence line item.", "readOnly": true }, @@ -1449,7 +1496,7 @@ "type": "string" }, "productPayload": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ProductPayload", + "$ref": "ProductPayload", "description": "Optional. Product specific payload for this line item." }, "recurrenceType": { @@ -1495,9 +1542,24 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails": { + "SubscriptionLineItemBundleDetails": { + "description": "The bundle details for a line item corresponding to a hard bundle.", + "id": "SubscriptionLineItemBundleDetails", + "properties": { + "bundleElementDetails": { + "description": "Output only. The details for each element in the hard bundle.", + "items": { + "$ref": "SubscriptionLineItemBundleDetailsBundleElementDetails" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "SubscriptionLineItemBundleDetailsBundleElementDetails": { "description": "The details for an element in the hard bundle.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails", + "id": "SubscriptionLineItemBundleDetailsBundleElementDetails", "properties": { "product": { "description": "Output only. Product resource name that identifies the bundle element. The format is 'partners/{partner_id}/products/{product_id}'.", @@ -1513,21 +1575,21 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails": { + "SubscriptionLineItemOneTimeRecurrenceDetails": { "description": "Details for a ONE_TIME recurrence line item.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails", + "id": "SubscriptionLineItemOneTimeRecurrenceDetails", "properties": { "servicePeriod": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod", + "$ref": "ServicePeriod", "description": "Output only. The service period of the ONE_TIME line item.", "readOnly": true } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails": { + "SubscriptionMigrationDetails": { "description": "Describes the details of the migrated subscription.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails", + "id": "SubscriptionMigrationDetails", "properties": { "migratedSubscriptionId": { "description": "Output only. The migrated subscription id in the legacy system.", @@ -1537,17 +1599,17 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec": { + "SubscriptionPromotionSpec": { "description": "Describes the spec for one promotion.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec", + "id": "SubscriptionPromotionSpec", "properties": { "freeTrialDuration": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "$ref": "Duration", "description": "Output only. The duration of the free trial if the promotion is of type FREE_TRIAL.", "readOnly": true }, "introductoryPricingDetails": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails", + "$ref": "PromotionIntroductoryPricingDetails", "description": "Output only. The details of the introductory pricing spec if the promotion is of type INTRODUCTORY_PRICING.", "readOnly": true }, @@ -1573,9 +1635,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails": { + "SubscriptionUpgradeDowngradeDetails": { "description": "Details about the previous subscription that this new subscription upgrades/downgrades from.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails", + "id": "SubscriptionUpgradeDowngradeDetails", "properties": { "billingCycleSpec": { "description": "Required. Specifies the billing cycle spec for the new upgraded/downgraded subscription.", @@ -1600,43 +1662,43 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionRequest": { + "SuspendSubscriptionRequest": { "description": "Request to suspend a subscription.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionRequest", + "id": "SuspendSubscriptionRequest", "properties": {}, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse": { + "SuspendSubscriptionResponse": { "description": "Response that contains the suspended subscription.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse", + "id": "SuspendSubscriptionResponse", "properties": { "subscription": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "$ref": "Subscription", "description": "The suspended subscription resource." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest": { + "UndoCancelSubscriptionRequest": { "description": "Request to revoke a cancellation request.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest", + "id": "UndoCancelSubscriptionRequest", "properties": {}, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse": { + "UndoCancelSubscriptionResponse": { "description": "Response that contains the updated subscription resource.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse", + "id": "UndoCancelSubscriptionResponse", "properties": { "subscription": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "$ref": "Subscription", "description": "The updated subscription resource." } }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1UserSession": { + "UserSession": { "description": "A user session contains a short-lived token that includes information required to interact with Google Payments Reseller Platform using the following web endpoints. - A user session token should be generated dynamically for an authenticated user. You should refrain from sharing a token directly with a user in an unauthenticated context, such as SMS, or email. - You can re-generate new session tokens repeatedly for same `generate` request if necessary, regardless of the previous tokens being expired or not. You don't need to worry about multiple sessions resulting in duplicate fulfillments as guaranteed by the same subscription id. Please refer to the [Google Managed Signup](/payments/reseller/subscription/reference/index/User.Signup.Integration/Google.Managed.Signup) documentation for additional integration details.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1UserSession", + "id": "UserSession", "properties": { "expireTime": { "description": "Output only. The time at which the user session expires.", @@ -1652,9 +1714,9 @@ }, "type": "object" }, - "GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload": { + "YoutubePayload": { "description": "Payload specific to Youtube products.", - "id": "GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload", + "id": "YoutubePayload", "properties": { "accessEndTime": { "description": "Output only. The access expiration time for this line item.", @@ -1687,64 +1749,6 @@ } }, "type": "object" - }, - "GoogleTypeLocalizedText": { - "description": "Localized variant of a text in a particular language.", - "id": "GoogleTypeLocalizedText", - "properties": { - "languageCode": { - "description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", - "type": "string" - }, - "text": { - "description": "Localized string in the language corresponding to language_code below.", - "type": "string" - } - }, - "type": "object" - }, - "ProductBundleDetails": { - "description": "Details for a bundle product.", - "id": "ProductBundleDetails", - "properties": { - "bundleElements": { - "description": "The individual products that are included in the bundle.", - "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement" - }, - "type": "array" - }, - "entitlementMode": { - "description": "The entitlement mode of the bundle product.", - "enum": [ - "ENTITLEMENT_MODE_UNSPECIFIED", - "ENTITLEMENT_MODE_FULL", - "ENTITLEMENT_MODE_INCREMENTAL" - ], - "enumDescriptions": [ - "Unspecified. It's reserved as an unexpected value, should not be used.", - "All the bundle elements must be fully activated in a single request.", - "The bundle elements could be incrementally activated." - ], - "type": "string" - } - }, - "type": "object" - }, - "SubscriptionLineItemBundleDetails": { - "description": "The bundle details for a line item corresponding to a hard bundle.", - "id": "SubscriptionLineItemBundleDetails", - "properties": { - "bundleElementDetails": { - "description": "Output only. The details for each element in the hard bundle.", - "items": { - "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" } }, "servicePath": "", diff --git a/src/apis/paymentsresellersubscription/v1.ts b/src/apis/paymentsresellersubscription/v1.ts index 098e6f301e..25dd55cca1 100644 --- a/src/apis/paymentsresellersubscription/v1.ts +++ b/src/apis/paymentsresellersubscription/v1.ts @@ -127,7 +127,7 @@ export namespace paymentsresellersubscription_v1 { /** * Describes the amount unit including the currency code. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1Amount { + export interface Schema$Amount { /** * Required. Amount in micros (1_000_000 micros = 1 currency unit) */ @@ -140,7 +140,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request to cancel a subscription. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest { + export interface Schema$CancelSubscriptionRequest { /** * Optional. If true, Google will cancel the subscription immediately, and may or may not (based on the contract) issue a prorated refund for the remainder of the billing cycle. Otherwise, Google defers the cancelation at renewal_time, and will not issue a refund. - YouTube subscriptions must use this option currently. However, the user will still have access to the subscription until the end of the billing cycle. */ @@ -153,16 +153,16 @@ export namespace paymentsresellersubscription_v1 { /** * Response that contains the cancelled subscription resource. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse { + export interface Schema$CancelSubscriptionResponse { /** * The cancelled subscription resource. */ - subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + subscription?: Schema$Subscription; } /** * Intent message for creating a Subscription resource. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent { + export interface Schema$CreateSubscriptionIntent { /** * Required. The parent resource name, which is the identifier of the partner. */ @@ -170,7 +170,7 @@ export namespace paymentsresellersubscription_v1 { /** * Required. The Subscription to be created. */ - subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + subscription?: Schema$Subscription; /** * Required. Identifies the subscription resource on the Partner side. The value is restricted to 63 ASCII characters at the maximum. If a subscription was previously created with the same subscription_id, we will directly return that one. */ @@ -179,7 +179,7 @@ export namespace paymentsresellersubscription_v1 { /** * Describes the length of a period of a time. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1Duration { + export interface Schema$Duration { /** * number of duration units to be included. */ @@ -192,7 +192,7 @@ export namespace paymentsresellersubscription_v1 { /** * Intent for entitling the previously provisioned subscription to an end user. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent { + export interface Schema$EntitleSubscriptionIntent { /** * Required. The name of the subscription resource that is entitled to the current end user. It is in the format of "partners/{partner_id\}/subscriptions/{subscriptionId\}". */ @@ -201,16 +201,16 @@ export namespace paymentsresellersubscription_v1 { /** * Partner request for entitling the previously provisioned subscription to an end user. The end user identity is inferred from the request OAuth context. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest { + export interface Schema$EntitleSubscriptionRequest { /** * Optional. The line items to be entitled. If unspecified, all line items will be entitled. */ - lineItemEntitlementDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails[]; + lineItemEntitlementDetails?: Schema$EntitleSubscriptionRequestLineItemEntitlementDetails[]; } /** * The details of the line item to be entitled. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequestLineItemEntitlementDetails { + export interface Schema$EntitleSubscriptionRequestLineItemEntitlementDetails { /** * Required. The index of the line item to be entitled. */ @@ -223,20 +223,20 @@ export namespace paymentsresellersubscription_v1 { /** * Response that contains the entitled subscription resource. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse { + export interface Schema$EntitleSubscriptionResponse { /** * The subscription that has user linked to it. */ - subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + subscription?: Schema$Subscription; } /** * Request message for extending a Subscription resource. A new recurrence will be made based on the subscription schedule defined by the original product. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest { + export interface Schema$ExtendSubscriptionRequest { /** * Required. Specifies details of the extension. Currently, the duration of the extension must be exactly one billing cycle of the original subscription. */ - extension?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Extension; + extension?: Schema$Extension; /** * Required. Restricted to 36 ASCII characters. A random UUID is recommended. The idempotency key for the request. The ID generation logic is controlled by the partner. request_id should be the same as on retries of the same request. A different request_id must be used for a extension of a different cycle. */ @@ -245,7 +245,7 @@ export namespace paymentsresellersubscription_v1 { /** * Response that contains the timestamps after the extension. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse { + export interface Schema$ExtendSubscriptionResponse { /** * The time at which the subscription is expected to be extended, in ISO 8061 format. UTC timezone. Example, "cycleEndTime":"2019-08-31T17:28:54.564Z" */ @@ -262,11 +262,11 @@ export namespace paymentsresellersubscription_v1 { /** * Describes the details of an extension request. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1Extension { + export interface Schema$Extension { /** * Required. Specifies the period of access the subscription should grant. */ - duration?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Duration; + duration?: Schema$Duration; /** * Required. Identifier of the end-user in partner’s system. */ @@ -275,7 +275,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request to find eligible promotions for the current user. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest { + export interface Schema$FindEligiblePromotionsRequest { /** * Optional. Specifies the filters for the promotion results. The syntax is defined in https://google.aip.dev/160 with the following caveats: 1. Only the following features are supported: - Logical operator `AND` - Comparison operator `=` (no wildcards `*`) - Traversal operator `.` - Has operator `:` (no wildcards `*`) 2. Only the following fields are supported: - `applicableProducts` - `regionCodes` - `youtubePayload.partnerEligibilityId` - `youtubePayload.postalCode` 3. Unless explicitly mentioned above, other features are not supported. Example: `applicableProducts:partners/partner1/products/product1 AND regionCodes:US AND youtubePayload.postalCode=94043 AND youtubePayload.partnerEligibilityId=eligibility-id` */ @@ -292,7 +292,7 @@ export namespace paymentsresellersubscription_v1 { /** * Response containing the found promotions for the current user. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsResponse { + export interface Schema$FindEligiblePromotionsResponse { /** * A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages. */ @@ -300,12 +300,12 @@ export namespace paymentsresellersubscription_v1 { /** * The promotions for the current user. */ - promotions?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Promotion[]; + promotions?: Schema$Promotion[]; } /** * Details for a subscriptiin line item with finite billing cycles. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails { + export interface Schema$FiniteBillingCycleDetails { /** * Required. The number of a subscription line item billing cycles after which billing will stop automatically. */ @@ -314,29 +314,33 @@ export namespace paymentsresellersubscription_v1 { /** * Request to generate a user session. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest { + export interface Schema$GenerateUserSessionRequest { /** * The user intent to generate the user session. */ - intentPayload?: Schema$GoogleCloudPaymentsResellerSubscriptionV1IntentPayload; + intentPayload?: Schema$IntentPayload; } /** * Response that contains the details for generated user session. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse { + export interface Schema$GenerateUserSessionResponse { /** * The generated user session. The token size is proportional to the size of the intent payload. */ - userSession?: Schema$GoogleCloudPaymentsResellerSubscriptionV1UserSession; + userSession?: Schema$UserSession; } /** * Payload specific for Google Home products. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload { + export interface Schema$GoogleHomePayload { /** * Output only. This identifies whether the subscription is attached to a Google Home structure. */ attachedToGoogleStructure?: boolean | null; + /** + * Optional. Structure identifier on Google side. + */ + googleStructureId?: string | null; /** * Optional. This identifies the structure ID on partner side that the subscription should be applied to. Only required when the partner requires structure mapping. */ @@ -345,7 +349,7 @@ export namespace paymentsresellersubscription_v1 { /** * Payload specific to Google One products. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload { + export interface Schema$GoogleOnePayload { /** * Campaign attributed to sales of this subscription. */ @@ -363,23 +367,36 @@ export namespace paymentsresellersubscription_v1 { */ storeId?: string | null; } + /** + * Localized variant of a text in a particular language. + */ + export interface Schema$GoogleTypeLocalizedText { + /** + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string | null; + /** + * Localized string in the language corresponding to language_code below. + */ + text?: string | null; + } /** * The payload that describes the user intent. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1IntentPayload { + export interface Schema$IntentPayload { /** * The request to create a subscription. */ - createIntent?: Schema$GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent; + createIntent?: Schema$CreateSubscriptionIntent; /** * The request to entitle a subscription. */ - entitleIntent?: Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent; + entitleIntent?: Schema$EntitleSubscriptionIntent; } /** * Response that contains the products. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse { + export interface Schema$ListProductsResponse { /** * A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages. */ @@ -387,12 +404,12 @@ export namespace paymentsresellersubscription_v1 { /** * The products for the specified partner. */ - products?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Product[]; + products?: Schema$Product[]; } /** * Response that contains the promotions. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse { + export interface Schema$ListPromotionsResponse { /** * A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages. */ @@ -400,12 +417,12 @@ export namespace paymentsresellersubscription_v1 { /** * The promotions for the specified partner. */ - promotions?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Promotion[]; + promotions?: Schema$Promotion[]; } /** * Describes a location of an end user. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1Location { + export interface Schema$Location { /** * The postal code this location refers to. Ex. "94043" */ @@ -418,7 +435,7 @@ export namespace paymentsresellersubscription_v1 { /** * A Product resource that defines a subscription service that can be resold. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1Product { + export interface Schema$Product { /** * Output only. Specifies the details for a bundle product. */ @@ -426,7 +443,7 @@ export namespace paymentsresellersubscription_v1 { /** * Optional. Details for a subscription line item with finite billing cycles. If unset, the line item will be charged indefinitely. */ - finiteBillingCycleDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails; + finiteBillingCycleDetails?: Schema$FiniteBillingCycleDetails; /** * Identifier. Response only. Resource name of the product. It will have the format of "partners/{partner_id\}/products/{product_id\}" */ @@ -434,7 +451,7 @@ export namespace paymentsresellersubscription_v1 { /** * Output only. Price configs for the product in the available regions. */ - priceConfigs?: Schema$GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig[]; + priceConfigs?: Schema$ProductPriceConfig[]; /** * Output only. Specifies the type of the product. */ @@ -446,16 +463,29 @@ export namespace paymentsresellersubscription_v1 { /** * Output only. Specifies the length of the billing cycle of the subscription. */ - subscriptionBillingCycleDuration?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Duration; + subscriptionBillingCycleDuration?: Schema$Duration; /** * Output only. Localized human readable name of the product. */ titles?: Schema$GoogleTypeLocalizedText[]; } + /** + * Details for a bundle product. + */ + export interface Schema$ProductBundleDetails { + /** + * The individual products that are included in the bundle. + */ + bundleElements?: Schema$ProductBundleDetailsBundleElement[]; + /** + * The entitlement mode of the bundle product. + */ + entitlementMode?: string | null; + } /** * The individual product that is included in the bundle. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement { + export interface Schema$ProductBundleDetailsBundleElement { /** * Required. Output only. Product resource name that identifies the bundle element. The format is 'partners/{partner_id\}/products/{product_id\}'. */ @@ -464,28 +494,28 @@ export namespace paymentsresellersubscription_v1 { /** * Specifies product specific payload. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ProductPayload { + export interface Schema$ProductPayload { /** * Payload specific to Google Home products. */ - googleHomePayload?: Schema$GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload; + googleHomePayload?: Schema$GoogleHomePayload; /** * Product-specific payloads. Payload specific to Google One products. */ - googleOnePayload?: Schema$GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload; + googleOnePayload?: Schema$GoogleOnePayload; /** * Payload specific to Youtube products. */ - youtubePayload?: Schema$GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload; + youtubePayload?: Schema$YoutubePayload; } /** * Configs the prices in an available region. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ProductPriceConfig { + export interface Schema$ProductPriceConfig { /** * Output only. The price in the region. */ - amount?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Amount; + amount?: Schema$Amount; /** * Output only. 2-letter ISO region code where the product is available in. Ex. "US". */ @@ -494,7 +524,7 @@ export namespace paymentsresellersubscription_v1 { /** * A Promotion resource that defines a promotion for a subscription that can be resold. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1Promotion { + export interface Schema$Promotion { /** * Output only. The product ids this promotion can be applied to. */ @@ -506,11 +536,11 @@ export namespace paymentsresellersubscription_v1 { /** * Optional. Specifies the duration of the free trial of the subscription when promotion_type is PROMOTION_TYPE_FREE_TRIAL */ - freeTrialDuration?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Duration; + freeTrialDuration?: Schema$Duration; /** * Optional. Specifies the introductory pricing details when the promotion_type is PROMOTION_TYPE_INTRODUCTORY_PRICING. */ - introductoryPricingDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails; + introductoryPricingDetails?: Schema$PromotionIntroductoryPricingDetails; /** * Identifier. Response only. Resource name of the subscription promotion. It will have the format of "partners/{partner_id\}/promotion/{promotion_id\}" */ @@ -535,20 +565,20 @@ export namespace paymentsresellersubscription_v1 { /** * The details of a introductory pricing promotion. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails { + export interface Schema$PromotionIntroductoryPricingDetails { /** * Output only. Specifies the introductory pricing periods. */ - introductoryPricingSpecs?: Schema$GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec[]; + introductoryPricingSpecs?: Schema$PromotionIntroductoryPricingDetailsIntroductoryPricingSpec[]; } /** * The duration of an introductory pricing promotion. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec { + export interface Schema$PromotionIntroductoryPricingDetailsIntroductoryPricingSpec { /** * Output only. The discount amount. The value is positive. */ - discountAmount?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Amount; + discountAmount?: Schema$Amount; /** * Output only. The discount percentage in micros. For example, 50,000 represents 5%. */ @@ -565,20 +595,20 @@ export namespace paymentsresellersubscription_v1 { /** * Request to resume a suspended subscription. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionRequest {} + export interface Schema$ResumeSubscriptionRequest {} /** * Response that contains the resumed subscription. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionResponse { + export interface Schema$ResumeSubscriptionResponse { /** * The resumed subscription resource. */ - subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + subscription?: Schema$Subscription; } /** * A description of what time period or moment in time the product or service is being delivered over. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod { + export interface Schema$ServicePeriod { /** * Optional. The end time of the service period. Time is exclusive. */ @@ -591,11 +621,11 @@ export namespace paymentsresellersubscription_v1 { /** * A subscription serves as a central billing entity between an external partner and Google. The underlying Google services rely on the subscription state to grant or revoke the user's service entitlement. It's important to note that the subscription state may not always perfectly align with the user's service entitlement. For example, some Google services may continue providing access to the user until the current billing cycle ends, even if the subscription has been immediately canceled. However, other services may not do the same. To fully understand the specific details, please consult the relevant contract or product policy. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription { + export interface Schema$Subscription { /** * Output only. Describes the details of a cancelled subscription. Only applicable to subscription of state `STATE_CANCELLED`. */ - cancellationDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails; + cancellationDetails?: Schema$SubscriptionCancellationDetails; /** * Output only. System generated timestamp when the subscription is created. UTC timezone. */ @@ -615,11 +645,11 @@ export namespace paymentsresellersubscription_v1 { /** * Required. The line items of the subscription. */ - lineItems?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem[]; + lineItems?: Schema$SubscriptionLineItem[]; /** * Output only. Describes the details of the migrated subscription. Only populated if this subscription is migrated from another system. */ - migrationDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails; + migrationDetails?: Schema$SubscriptionMigrationDetails; /** * Identifier. Resource name of the subscription. It will have the format of "partners/{partner_id\}/subscriptions/{subscription_id\}". This is available for authorizeAddon, but otherwise is response only. */ @@ -643,7 +673,7 @@ export namespace paymentsresellersubscription_v1 { /** * Optional. Subscription-level promotions. Only free trial is supported on this level. It determines the first renewal time of the subscription to be the end of the free trial period. Specify the promotion resource name only when used as input. */ - promotionSpecs?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec[]; + promotionSpecs?: Schema$SubscriptionPromotionSpec[]; /** * Optional. The timestamp when the user transaction was made with the Partner. Specify for the case of "bundle with choice", and it must be before the provision_time (when the user makes a selection). */ @@ -659,7 +689,7 @@ export namespace paymentsresellersubscription_v1 { /** * Required. The location that the service is provided as indicated by the partner. */ - serviceLocation?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Location; + serviceLocation?: Schema$Location; /** * Output only. Describes the state of the subscription. See more details at [the lifecycle of a subscription](/payments/reseller/subscription/reference/index/Receive.Notifications#payments-subscription-lifecycle). */ @@ -671,12 +701,12 @@ export namespace paymentsresellersubscription_v1 { /** * Optional. Details about the previous subscription that this new subscription upgrades/downgrades from. Only populated if this subscription is an upgrade/downgrade from another subscription. */ - upgradeDowngradeDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails; + upgradeDowngradeDetails?: Schema$SubscriptionUpgradeDowngradeDetails; } /** * Describes the details of a cancelled or cancelling subscription. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails { + export interface Schema$SubscriptionCancellationDetails { /** * Output only. The reason of the cancellation. */ @@ -685,11 +715,11 @@ export namespace paymentsresellersubscription_v1 { /** * Individual line item definition of a subscription. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem { + export interface Schema$SubscriptionLineItem { /** * Output only. The price of the product/service in this line item. The amount could be the wholesale price, or it can include a cost of sale based on the contract. */ - amount?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Amount; + amount?: Schema$Amount; /** * Output only. The bundle details for the line item. Only populated if the line item corresponds to a hard bundle. */ @@ -701,7 +731,7 @@ export namespace paymentsresellersubscription_v1 { /** * Optional. Details for a subscription line item with finite billing cycles. If unset, the line item will be charged indefinitely. Used only with LINE_ITEM_RECURRENCE_TYPE_PERIODIC. */ - finiteBillingCycleDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1FiniteBillingCycleDetails; + finiteBillingCycleDetails?: Schema$FiniteBillingCycleDetails; /** * Output only. The free trial end time will be populated after the line item is successfully processed. End time of the line item free trial period, in ISO 8061 format. For example, "2019-08-31T17:28:54.564Z". It will be set the same as createTime if no free trial promotion is specified. */ @@ -713,11 +743,11 @@ export namespace paymentsresellersubscription_v1 { /** * Optional. The promotions applied on the line item. It can be: - an introductory pricing promotion. - a free trial promotion. This feature is not enabled. If used, the request will be rejected. When used as input in Create or Provision API, specify its resource name only. */ - lineItemPromotionSpecs?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec[]; + lineItemPromotionSpecs?: Schema$SubscriptionPromotionSpec[]; /** * Output only. Details only set for a ONE_TIME recurrence line item. */ - oneTimeRecurrenceDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails; + oneTimeRecurrenceDetails?: Schema$SubscriptionLineItemOneTimeRecurrenceDetails; /** * Required. Product resource name that identifies one the line item The format is 'partners/{partner_id\}/products/{product_id\}'. */ @@ -725,7 +755,7 @@ export namespace paymentsresellersubscription_v1 { /** * Optional. Product specific payload for this line item. */ - productPayload?: Schema$GoogleCloudPaymentsResellerSubscriptionV1ProductPayload; + productPayload?: Schema$ProductPayload; /** * Output only. The recurrence type of the line item. */ @@ -735,10 +765,19 @@ export namespace paymentsresellersubscription_v1 { */ state?: string | null; } + /** + * The bundle details for a line item corresponding to a hard bundle. + */ + export interface Schema$SubscriptionLineItemBundleDetails { + /** + * Output only. The details for each element in the hard bundle. + */ + bundleElementDetails?: Schema$SubscriptionLineItemBundleDetailsBundleElementDetails[]; + } /** * The details for an element in the hard bundle. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails { + export interface Schema$SubscriptionLineItemBundleDetailsBundleElementDetails { /** * Output only. Product resource name that identifies the bundle element. The format is 'partners/{partner_id\}/products/{product_id\}'. */ @@ -751,16 +790,16 @@ export namespace paymentsresellersubscription_v1 { /** * Details for a ONE_TIME recurrence line item. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemOneTimeRecurrenceDetails { + export interface Schema$SubscriptionLineItemOneTimeRecurrenceDetails { /** * Output only. The service period of the ONE_TIME line item. */ - servicePeriod?: Schema$GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod; + servicePeriod?: Schema$ServicePeriod; } /** * Describes the details of the migrated subscription. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails { + export interface Schema$SubscriptionMigrationDetails { /** * Output only. The migrated subscription id in the legacy system. */ @@ -769,15 +808,15 @@ export namespace paymentsresellersubscription_v1 { /** * Describes the spec for one promotion. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec { + export interface Schema$SubscriptionPromotionSpec { /** * Output only. The duration of the free trial if the promotion is of type FREE_TRIAL. */ - freeTrialDuration?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Duration; + freeTrialDuration?: Schema$Duration; /** * Output only. The details of the introductory pricing spec if the promotion is of type INTRODUCTORY_PRICING. */ - introductoryPricingDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails; + introductoryPricingDetails?: Schema$PromotionIntroductoryPricingDetails; /** * Required. Promotion resource name that identifies a promotion. The format is 'partners/{partner_id\}/promotions/{promotion_id\}'. */ @@ -790,7 +829,7 @@ export namespace paymentsresellersubscription_v1 { /** * Details about the previous subscription that this new subscription upgrades/downgrades from. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails { + export interface Schema$SubscriptionUpgradeDowngradeDetails { /** * Required. Specifies the billing cycle spec for the new upgraded/downgraded subscription. */ @@ -803,33 +842,33 @@ export namespace paymentsresellersubscription_v1 { /** * Request to suspend a subscription. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionRequest {} + export interface Schema$SuspendSubscriptionRequest {} /** * Response that contains the suspended subscription. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionResponse { + export interface Schema$SuspendSubscriptionResponse { /** * The suspended subscription resource. */ - subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + subscription?: Schema$Subscription; } /** * Request to revoke a cancellation request. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest {} + export interface Schema$UndoCancelSubscriptionRequest {} /** * Response that contains the updated subscription resource. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse { + export interface Schema$UndoCancelSubscriptionResponse { /** * The updated subscription resource. */ - subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + subscription?: Schema$Subscription; } /** * A user session contains a short-lived token that includes information required to interact with Google Payments Reseller Platform using the following web endpoints. - A user session token should be generated dynamically for an authenticated user. You should refrain from sharing a token directly with a user in an unauthenticated context, such as SMS, or email. - You can re-generate new session tokens repeatedly for same `generate` request if necessary, regardless of the previous tokens being expired or not. You don't need to worry about multiple sessions resulting in duplicate fulfillments as guaranteed by the same subscription id. Please refer to the [Google Managed Signup](/payments/reseller/subscription/reference/index/User.Signup.Integration/Google.Managed.Signup) documentation for additional integration details. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1UserSession { + export interface Schema$UserSession { /** * Output only. The time at which the user session expires. */ @@ -842,7 +881,7 @@ export namespace paymentsresellersubscription_v1 { /** * Payload specific to Youtube products. */ - export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload { + export interface Schema$YoutubePayload { /** * Output only. The access expiration time for this line item. */ @@ -856,41 +895,6 @@ export namespace paymentsresellersubscription_v1 { */ partnerPlanType?: string | null; } - /** - * Localized variant of a text in a particular language. - */ - export interface Schema$GoogleTypeLocalizedText { - /** - * The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - */ - languageCode?: string | null; - /** - * Localized string in the language corresponding to language_code below. - */ - text?: string | null; - } - /** - * Details for a bundle product. - */ - export interface Schema$ProductBundleDetails { - /** - * The individual products that are included in the bundle. - */ - bundleElements?: Schema$GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement[]; - /** - * The entitlement mode of the bundle product. - */ - entitlementMode?: string | null; - } - /** - * The bundle details for a line item corresponding to a hard bundle. - */ - export interface Schema$SubscriptionLineItemBundleDetails { - /** - * Output only. The details for each element in the hard bundle. - */ - bundleElementDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItemBundleDetailsBundleElementDetails[]; - } export class Resource$Partners { context: APIRequestContext; @@ -981,9 +985,7 @@ export namespace paymentsresellersubscription_v1 { list( params?: Params$Resource$Partners$Products$List, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; list( params: Params$Resource$Partners$Products$List, options: StreamMethodOptions | BodyResponseCallback, @@ -993,34 +995,30 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Products$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( params: Params$Resource$Partners$Products$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: | Params$Resource$Partners$Products$List - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Products$List; @@ -1058,14 +1056,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } } @@ -1169,9 +1165,7 @@ export namespace paymentsresellersubscription_v1 { findEligible( params?: Params$Resource$Partners$Promotions$Findeligible, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; findEligible( params: Params$Resource$Partners$Promotions$Findeligible, options: StreamMethodOptions | BodyResponseCallback, @@ -1181,34 +1175,32 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Promotions$Findeligible, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; findEligible( params: Params$Resource$Partners$Promotions$Findeligible, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; findEligible( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; findEligible( paramsOrCallback?: | Params$Resource$Partners$Promotions$Findeligible - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Promotions$Findeligible; @@ -1246,12 +1238,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -1325,9 +1317,7 @@ export namespace paymentsresellersubscription_v1 { list( params?: Params$Resource$Partners$Promotions$List, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; list( params: Params$Resource$Partners$Promotions$List, options: StreamMethodOptions | BodyResponseCallback, @@ -1337,34 +1327,30 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Promotions$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( params: Params$Resource$Partners$Promotions$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: | Params$Resource$Partners$Promotions$List - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Promotions$List; @@ -1402,14 +1388,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } } @@ -1424,7 +1408,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1FindEligiblePromotionsRequest; + requestBody?: Schema$FindEligiblePromotionsRequest; } export interface Params$Resource$Partners$Promotions$List extends StandardParameters { @@ -1522,9 +1506,7 @@ export namespace paymentsresellersubscription_v1 { cancel( params?: Params$Resource$Partners$Subscriptions$Cancel, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; cancel( params: Params$Resource$Partners$Subscriptions$Cancel, options: StreamMethodOptions | BodyResponseCallback, @@ -1534,34 +1516,32 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Subscriptions$Cancel, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; cancel( params: Params$Resource$Partners$Subscriptions$Cancel, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; cancel( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; cancel( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Cancel - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Cancel; @@ -1596,14 +1576,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -1716,9 +1694,7 @@ export namespace paymentsresellersubscription_v1 { create( params?: Params$Resource$Partners$Subscriptions$Create, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; create( params: Params$Resource$Partners$Subscriptions$Create, options: StreamMethodOptions | BodyResponseCallback, @@ -1726,36 +1702,30 @@ export namespace paymentsresellersubscription_v1 { ): void; create( params: Params$Resource$Partners$Subscriptions$Create, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; create( params: Params$Resource$Partners$Subscriptions$Create, - callback: BodyResponseCallback - ): void; - create( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; + create(callback: BodyResponseCallback): void; create( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Create - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Create; @@ -1793,14 +1763,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -1875,9 +1843,7 @@ export namespace paymentsresellersubscription_v1 { entitle( params?: Params$Resource$Partners$Subscriptions$Entitle, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; entitle( params: Params$Resource$Partners$Subscriptions$Entitle, options: StreamMethodOptions | BodyResponseCallback, @@ -1887,34 +1853,32 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Subscriptions$Entitle, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; entitle( params: Params$Resource$Partners$Subscriptions$Entitle, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; entitle( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; entitle( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Entitle - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Entitle; @@ -1952,14 +1916,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -2035,9 +1997,7 @@ export namespace paymentsresellersubscription_v1 { extend( params?: Params$Resource$Partners$Subscriptions$Extend, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; extend( params: Params$Resource$Partners$Subscriptions$Extend, options: StreamMethodOptions | BodyResponseCallback, @@ -2047,34 +2007,32 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Subscriptions$Extend, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; extend( params: Params$Resource$Partners$Subscriptions$Extend, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; extend( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; extend( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Extend - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Extend; @@ -2109,14 +2067,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -2200,9 +2156,7 @@ export namespace paymentsresellersubscription_v1 { get( params?: Params$Resource$Partners$Subscriptions$Get, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; get( params: Params$Resource$Partners$Subscriptions$Get, options: StreamMethodOptions | BodyResponseCallback, @@ -2210,36 +2164,30 @@ export namespace paymentsresellersubscription_v1 { ): void; get( params: Params$Resource$Partners$Subscriptions$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( params: Params$Resource$Partners$Subscriptions$Get, - callback: BodyResponseCallback - ): void; - get( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Get - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Get; @@ -2274,14 +2222,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -2395,9 +2341,7 @@ export namespace paymentsresellersubscription_v1 { provision( params?: Params$Resource$Partners$Subscriptions$Provision, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; provision( params: Params$Resource$Partners$Subscriptions$Provision, options: StreamMethodOptions | BodyResponseCallback, @@ -2405,36 +2349,30 @@ export namespace paymentsresellersubscription_v1 { ): void; provision( params: Params$Resource$Partners$Subscriptions$Provision, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; provision( params: Params$Resource$Partners$Subscriptions$Provision, - callback: BodyResponseCallback - ): void; - provision( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; + provision(callback: BodyResponseCallback): void; provision( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Provision - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Provision; @@ -2472,14 +2410,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -2550,9 +2486,7 @@ export namespace paymentsresellersubscription_v1 { resume( params?: Params$Resource$Partners$Subscriptions$Resume, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; resume( params: Params$Resource$Partners$Subscriptions$Resume, options: StreamMethodOptions | BodyResponseCallback, @@ -2562,34 +2496,32 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Subscriptions$Resume, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; resume( params: Params$Resource$Partners$Subscriptions$Resume, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; resume( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; resume( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Resume - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Resume; @@ -2624,14 +2556,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -2704,9 +2634,7 @@ export namespace paymentsresellersubscription_v1 { suspend( params?: Params$Resource$Partners$Subscriptions$Suspend, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; suspend( params: Params$Resource$Partners$Subscriptions$Suspend, options: StreamMethodOptions | BodyResponseCallback, @@ -2716,34 +2644,32 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Subscriptions$Suspend, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; suspend( params: Params$Resource$Partners$Subscriptions$Suspend, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; suspend( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; suspend( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Suspend - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Suspend; @@ -2781,14 +2707,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -2860,9 +2784,7 @@ export namespace paymentsresellersubscription_v1 { undoCancel( params?: Params$Resource$Partners$Subscriptions$Undocancel, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; undoCancel( params: Params$Resource$Partners$Subscriptions$Undocancel, options: StreamMethodOptions | BodyResponseCallback, @@ -2872,34 +2794,32 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Subscriptions$Undocancel, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; undoCancel( params: Params$Resource$Partners$Subscriptions$Undocancel, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; undoCancel( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; undoCancel( paramsOrCallback?: | Params$Resource$Partners$Subscriptions$Undocancel - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Subscriptions$Undocancel; @@ -2937,12 +2857,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -2959,7 +2879,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest; + requestBody?: Schema$CancelSubscriptionRequest; } export interface Params$Resource$Partners$Subscriptions$Create extends StandardParameters { @@ -2975,7 +2895,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + requestBody?: Schema$Subscription; } export interface Params$Resource$Partners$Subscriptions$Entitle extends StandardParameters { @@ -2987,7 +2907,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest; + requestBody?: Schema$EntitleSubscriptionRequest; } export interface Params$Resource$Partners$Subscriptions$Extend extends StandardParameters { @@ -2999,7 +2919,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest; + requestBody?: Schema$ExtendSubscriptionRequest; } export interface Params$Resource$Partners$Subscriptions$Get extends StandardParameters { @@ -3022,7 +2942,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + requestBody?: Schema$Subscription; } export interface Params$Resource$Partners$Subscriptions$Resume extends StandardParameters { @@ -3034,7 +2954,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1ResumeSubscriptionRequest; + requestBody?: Schema$ResumeSubscriptionRequest; } export interface Params$Resource$Partners$Subscriptions$Suspend extends StandardParameters { @@ -3046,7 +2966,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SuspendSubscriptionRequest; + requestBody?: Schema$SuspendSubscriptionRequest; } export interface Params$Resource$Partners$Subscriptions$Undocancel extends StandardParameters { @@ -3058,7 +2978,7 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest; + requestBody?: Schema$UndoCancelSubscriptionRequest; } export class Resource$Partners$Usersessions { @@ -3138,9 +3058,7 @@ export namespace paymentsresellersubscription_v1 { generate( params?: Params$Resource$Partners$Usersessions$Generate, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; generate( params: Params$Resource$Partners$Usersessions$Generate, options: StreamMethodOptions | BodyResponseCallback, @@ -3150,34 +3068,32 @@ export namespace paymentsresellersubscription_v1 { params: Params$Resource$Partners$Usersessions$Generate, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; generate( params: Params$Resource$Partners$Usersessions$Generate, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; generate( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; generate( paramsOrCallback?: | Params$Resource$Partners$Usersessions$Generate - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Partners$Usersessions$Generate; @@ -3215,14 +3131,12 @@ export namespace paymentsresellersubscription_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } } @@ -3237,6 +3151,6 @@ export namespace paymentsresellersubscription_v1 { /** * Request body metadata */ - requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest; + requestBody?: Schema$GenerateUserSessionRequest; } } From 258832727ff11c138a8df016b1d3bf9b0fc97169 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 36/43] feat(redis): update the API #### redis:v1 The following keys were added: - schemas.DatabaseResourceFeed.properties.skipIngestion.description - schemas.DatabaseResourceFeed.properties.skipIngestion.type The following keys were changed: - schemas.DatabaseResourceFeed.description - 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 | 22 ++++++++++++++++------ src/apis/redis/v1.ts | 6 +++++- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/discovery/redis-v1.json b/discovery/redis-v1.json index 8936894701..e7d7d98210 100644 --- a/discovery/redis-v1.json +++ b/discovery/redis-v1.json @@ -1073,7 +1073,7 @@ } } }, - "revision": "20250729", + "revision": "20250807", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -1993,7 +1993,7 @@ "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: 10", + "description": "DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 11", "id": "DatabaseResourceFeed", "properties": { "backupdrMetadata": { @@ -2047,6 +2047,10 @@ }, "resourceMetadata": { "$ref": "DatabaseResourceMetadata" + }, + "skipIngestion": { + "description": "Optional. If true, the feed won't be ingested by DB Center. This indicates that the feed is intentionally skipped. For example, BackupDR feeds are only needed for resources integrated with DB Center (e.g., CloudSQL, AlloyDB). Feeds for non-integrated resources (e.g., Compute Engine, Persistent Disk) can be skipped.", + "type": "boolean" } }, "type": "object" @@ -2266,7 +2270,8 @@ "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", "SIGNAL_TYPE_REPLICATION_LAG", - "SIGNAL_TYPE_OUTDATED_VERSION" + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT" ], "enumDeprecated": [ false, @@ -2369,6 +2374,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -2472,7 +2478,8 @@ "Schema not optimized.", "High number of idle connections.", "Replication delay.", - "Outdated version." + "Outdated version.", + "Outdated client." ], "type": "string" }, @@ -2899,7 +2906,8 @@ "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", "SIGNAL_TYPE_REPLICATION_LAG", - "SIGNAL_TYPE_OUTDATED_VERSION" + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT" ], "enumDeprecated": [ false, @@ -3002,6 +3010,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -3105,7 +3114,8 @@ "Schema not optimized.", "High number of idle connections.", "Replication delay.", - "Outdated version." + "Outdated version.", + "Outdated client." ], "type": "string" } diff --git a/src/apis/redis/v1.ts b/src/apis/redis/v1.ts index e3e7c10a51..f0a456f4d0 100644 --- a/src/apis/redis/v1.ts +++ b/src/apis/redis/v1.ts @@ -689,7 +689,7 @@ 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: 10 + * DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 11 */ export interface Schema$DatabaseResourceFeed { /** @@ -716,6 +716,10 @@ export namespace redis_v1 { */ resourceId?: Schema$DatabaseResourceId; resourceMetadata?: Schema$DatabaseResourceMetadata; + /** + * Optional. If true, the feed won't be ingested by DB Center. This indicates that the feed is intentionally skipped. For example, BackupDR feeds are only needed for resources integrated with DB Center (e.g., CloudSQL, AlloyDB). Feeds for non-integrated resources (e.g., Compute Engine, Persistent Disk) can be skipped. + */ + skipIngestion?: boolean | null; } /** * Common model for database resource health signal data. From 335b1c81f355ea42e6cea96879b81b64c2fe4b57 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 37/43] feat(run): update the API #### run:v1 The following keys were changed: - schemas.InstanceSplit.properties.latestRevision.description - schemas.InstanceSplit.properties.percent.description - schemas.WorkerPoolStatus.properties.instanceSplits.description #### run:v2 The following keys were added: - schemas.GoogleCloudRunV2SubmitBuildRequest.properties.machineType.description - schemas.GoogleCloudRunV2SubmitBuildRequest.properties.machineType.type The following keys were changed: - schemas.GoogleCloudRunV2WorkerPool.properties.latestReadyRevision.description - schemas.GoogleCloudRunV2WorkerPool.properties.observedGeneration.description - schemas.GoogleCloudRunV2WorkerPool.properties.reconciling.description --- discovery/run-v1.json | 8 ++++---- discovery/run-v2.json | 12 ++++++++---- src/apis/run/v1.ts | 6 +++--- src/apis/run/v2.ts | 11 ++++++++--- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/discovery/run-v1.json b/discovery/run-v1.json index 1c46510226..091fc87708 100644 --- a/discovery/run-v1.json +++ b/discovery/run-v1.json @@ -2887,7 +2887,7 @@ } } }, - "revision": "20250704", + "revision": "20250801", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -5317,11 +5317,11 @@ "id": "InstanceSplit", "properties": { "latestRevision": { - "description": "Uses the \"status.latestReadyRevisionName\" to determine the traffic target. When it changes, traffic will automatically migrate from the prior \"latest ready\" revision to the new one.", + "description": "Uses the \"status.latestReadyRevisionName\" to determine the instance split target. When it changes, workloads will automatically migrate from the prior \"latest ready\" revision to the new one.", "type": "boolean" }, "percent": { - "description": "Specifies percent of the instance split to this Revision. This defaults to zero if unspecified.", + "description": "Optional. Specifies percent of the instance split to this Revision. This defaults to zero if unspecified.", "format": "int32", "type": "integer" }, @@ -6942,7 +6942,7 @@ "type": "array" }, "instanceSplits": { - "description": "Holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.", + "description": "Holds the configured workload distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.", "items": { "$ref": "InstanceSplit" }, diff --git a/discovery/run-v2.json b/discovery/run-v2.json index c63ccd8a37..4621bfd976 100644 --- a/discovery/run-v2.json +++ b/discovery/run-v2.json @@ -1922,7 +1922,7 @@ } } }, - "revision": "20250718", + "revision": "20250801", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -4097,6 +4097,10 @@ "description": "Required. Artifact Registry URI to store the built image.", "type": "string" }, + "machineType": { + "description": "Optional. The machine type from default pool to use for the build. If left blank, cloudbuild will use a sensible default. Currently only E2_HIGHCPU_8 is supported. If worker_pool is set, this field will be ignored.", + "type": "string" + }, "serviceAccount": { "description": "Optional. The service account to use for the build. If not set, the default Cloud Build service account for the project will be used.", "type": "string" @@ -4721,7 +4725,7 @@ "type": "string" }, "latestReadyRevision": { - "description": "Output only. Name of the latest revision that is serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. Name of the latest revision that is serving workloads. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "readOnly": true, "type": "string" }, @@ -4754,13 +4758,13 @@ "type": "string" }, "observedGeneration": { - "description": "Output only. The generation of this WorkerPool currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", + "description": "Output only. The generation of this WorkerPool currently serving workloads. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", "format": "int64", "readOnly": true, "type": "string" }, "reconciling": { - "description": "Output only. Returns true if the WorkerPool is currently being acted upon by the system to bring it into the desired state. When a new WorkerPool is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the WorkerPool to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the WorkerPool, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `traffic` and `traffic_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `traffic_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created WorkerPools. Additional information on the failure can be found in `terminal_condition` and `conditions`.", + "description": "Output only. Returns true if the WorkerPool is currently being acted upon by the system to bring it into the desired state. When a new WorkerPool is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the WorkerPool to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `instance_split_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the WorkerPool, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `instance_splits` and `instance_split_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `instance_split_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created WorkerPools. Additional information on the failure can be found in `terminal_condition` and `conditions`.", "readOnly": true, "type": "boolean" }, diff --git a/src/apis/run/v1.ts b/src/apis/run/v1.ts index 1b70dd3085..fbccf0077f 100644 --- a/src/apis/run/v1.ts +++ b/src/apis/run/v1.ts @@ -1854,11 +1854,11 @@ export namespace run_v1 { */ export interface Schema$InstanceSplit { /** - * Uses the "status.latestReadyRevisionName" to determine the traffic target. When it changes, traffic will automatically migrate from the prior "latest ready" revision to the new one. + * Uses the "status.latestReadyRevisionName" to determine the instance split target. When it changes, workloads will automatically migrate from the prior "latest ready" revision to the new one. */ latestRevision?: boolean | null; /** - * Specifies percent of the instance split to this Revision. This defaults to zero if unspecified. + * Optional. Specifies percent of the instance split to this Revision. This defaults to zero if unspecified. */ percent?: number | null; /** @@ -3139,7 +3139,7 @@ export namespace run_v1 { */ conditions?: Schema$GoogleCloudRunV1Condition[]; /** - * Holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed. + * Holds the configured workload distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed. */ instanceSplits?: Schema$InstanceSplit[]; /** diff --git a/src/apis/run/v2.ts b/src/apis/run/v2.ts index c20934e691..5d6f0dba7f 100644 --- a/src/apis/run/v2.ts +++ b/src/apis/run/v2.ts @@ -1572,6 +1572,10 @@ export namespace run_v2 { * Required. Artifact Registry URI to store the built image. */ imageUri?: string | null; + /** + * Optional. The machine type from default pool to use for the build. If left blank, cloudbuild will use a sensible default. Currently only E2_HIGHCPU_8 is supported. If worker_pool is set, this field will be ignored. + */ + machineType?: string | null; /** * Optional. The service account to use for the build. If not set, the default Cloud Build service account for the project will be used. */ @@ -2013,7 +2017,7 @@ export namespace run_v2 { */ latestCreatedRevision?: string | null; /** - * Output only. Name of the latest revision that is serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. + * Output only. Name of the latest revision that is serving workloads. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. */ latestReadyRevision?: string | null; /** @@ -2025,11 +2029,11 @@ export namespace run_v2 { */ name?: string | null; /** - * Output only. The generation of this WorkerPool currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`. + * Output only. The generation of this WorkerPool currently serving workloads. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`. */ observedGeneration?: string | null; /** - * Output only. Returns true if the WorkerPool is currently being acted upon by the system to bring it into the desired state. When a new WorkerPool is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the WorkerPool to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the WorkerPool, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `traffic` and `traffic_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `traffic_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created WorkerPools. Additional information on the failure can be found in `terminal_condition` and `conditions`. + * Output only. Returns true if the WorkerPool is currently being acted upon by the system to bring it into the desired state. When a new WorkerPool is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the WorkerPool to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `instance_split_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the WorkerPool, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `instance_splits` and `instance_split_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `instance_split_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created WorkerPools. Additional information on the failure can be found in `terminal_condition` and `conditions`. */ reconciling?: boolean | null; /** @@ -4011,6 +4015,7 @@ export namespace run_v2 { * // "buildpackBuild": {}, * // "dockerBuild": {}, * // "imageUri": "my_imageUri", + * // "machineType": "my_machineType", * // "serviceAccount": "my_serviceAccount", * // "storageSource": {}, * // "tags": [], From ac1ebe0bae6885998abb641911c76d67668f3130 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 38/43] fix(saasservicemgmt): update the API --- src/apis/saasservicemgmt/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apis/saasservicemgmt/README.md b/src/apis/saasservicemgmt/README.md index 5b58c47746..41ec87a302 100644 --- a/src/apis/saasservicemgmt/README.md +++ b/src/apis/saasservicemgmt/README.md @@ -2,7 +2,7 @@ # saasservicemgmt -> +> Model, deploy, and operate your SaaS at scale. ## Installation From a7c35aafc3d8d7e4396dbb5b52213e878350699c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 39/43] feat(storagetransfer): update the API #### storagetransfer:v1 The following keys were added: - schemas.ErrorLogEntry.properties.url.readOnly The following keys were changed: - schemas.ErrorLogEntry.properties.errorDetails.description - schemas.ErrorLogEntry.properties.url.description - schemas.TransferSpec.properties.awsS3CompatibleDataSource.description - schemas.TransferSpec.properties.awsS3DataSource.description - schemas.TransferSpec.properties.azureBlobStorageDataSource.description - schemas.TransferSpec.properties.gcsDataSink.description - schemas.TransferSpec.properties.gcsDataSource.description - schemas.TransferSpec.properties.hdfsDataSource.description - schemas.TransferSpec.properties.httpDataSource.description - schemas.TransferSpec.properties.posixDataSink.description - schemas.TransferSpec.properties.posixDataSource.description --- discovery/storagetransfer-v1.json | 25 +++++++++++++------------ src/apis/storagetransfer/v1.ts | 22 +++++++++++----------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/discovery/storagetransfer-v1.json b/discovery/storagetransfer-v1.json index c27d70a64a..41c8b559bf 100644 --- a/discovery/storagetransfer-v1.json +++ b/discovery/storagetransfer-v1.json @@ -632,7 +632,7 @@ } } }, - "revision": "20250523", + "revision": "20250801", "rootUrl": "https://storagetransfer.googleapis.com/", "schemas": { "AgentPool": { @@ -841,14 +841,15 @@ "id": "ErrorLogEntry", "properties": { "errorDetails": { - "description": "A list of messages that carry the error details.", + "description": "Optional. A list of messages that carry the error details.", "items": { "type": "string" }, "type": "array" }, "url": { - "description": "Required. A URL that refers to the target (a data source, a data sink, or an object) with which the error is associated.", + "description": "Output only. A URL that refers to the target (a data source, a data sink, or an object) with which the error is associated.", + "readOnly": true, "type": "string" } }, @@ -1902,23 +1903,23 @@ "properties": { "awsS3CompatibleDataSource": { "$ref": "AwsS3CompatibleData", - "description": "An AWS S3 compatible data source." + "description": "Optional. An AWS S3 compatible data source." }, "awsS3DataSource": { "$ref": "AwsS3Data", - "description": "An AWS S3 data source." + "description": "Optional. An AWS S3 data source." }, "azureBlobStorageDataSource": { "$ref": "AzureBlobStorageData", - "description": "An Azure Blob Storage data source." + "description": "Optional. An Azure Blob Storage data source." }, "gcsDataSink": { "$ref": "GcsData", - "description": "A Cloud Storage data sink." + "description": "Optional. A Cloud Storage data sink." }, "gcsDataSource": { "$ref": "GcsData", - "description": "A Cloud Storage data source." + "description": "Optional. A Cloud Storage data source." }, "gcsIntermediateDataLocation": { "$ref": "GcsData", @@ -1926,11 +1927,11 @@ }, "hdfsDataSource": { "$ref": "HdfsData", - "description": "An HDFS cluster data source." + "description": "Optional. An HDFS cluster data source." }, "httpDataSource": { "$ref": "HttpData", - "description": "An HTTP URL data source." + "description": "Optional. An HTTP URL data source." }, "objectConditions": { "$ref": "ObjectConditions", @@ -1938,11 +1939,11 @@ }, "posixDataSink": { "$ref": "PosixFilesystem", - "description": "A POSIX Filesystem data sink." + "description": "Optional. A POSIX Filesystem data sink." }, "posixDataSource": { "$ref": "PosixFilesystem", - "description": "A POSIX Filesystem data source." + "description": "Optional. A POSIX Filesystem data source." }, "sinkAgentPoolName": { "description": "Specifies the agent pool name associated with the posix data sink. When unspecified, the default name is used.", diff --git a/src/apis/storagetransfer/v1.ts b/src/apis/storagetransfer/v1.ts index 1a9ff6cdeb..cae5b4a552 100644 --- a/src/apis/storagetransfer/v1.ts +++ b/src/apis/storagetransfer/v1.ts @@ -301,11 +301,11 @@ export namespace storagetransfer_v1 { */ export interface Schema$ErrorLogEntry { /** - * A list of messages that carry the error details. + * Optional. A list of messages that carry the error details. */ errorDetails?: string[] | null; /** - * Required. A URL that refers to the target (a data source, a data sink, or an object) with which the error is associated. + * Output only. A URL that refers to the target (a data source, a data sink, or an object) with which the error is associated. */ url?: string | null; } @@ -945,23 +945,23 @@ export namespace storagetransfer_v1 { */ export interface Schema$TransferSpec { /** - * An AWS S3 compatible data source. + * Optional. An AWS S3 compatible data source. */ awsS3CompatibleDataSource?: Schema$AwsS3CompatibleData; /** - * An AWS S3 data source. + * Optional. An AWS S3 data source. */ awsS3DataSource?: Schema$AwsS3Data; /** - * An Azure Blob Storage data source. + * Optional. An Azure Blob Storage data source. */ azureBlobStorageDataSource?: Schema$AzureBlobStorageData; /** - * A Cloud Storage data sink. + * Optional. A Cloud Storage data sink. */ gcsDataSink?: Schema$GcsData; /** - * A Cloud Storage data source. + * Optional. A Cloud Storage data source. */ gcsDataSource?: Schema$GcsData; /** @@ -969,11 +969,11 @@ export namespace storagetransfer_v1 { */ gcsIntermediateDataLocation?: Schema$GcsData; /** - * An HDFS cluster data source. + * Optional. An HDFS cluster data source. */ hdfsDataSource?: Schema$HdfsData; /** - * An HTTP URL data source. + * Optional. An HTTP URL data source. */ httpDataSource?: Schema$HttpData; /** @@ -981,11 +981,11 @@ export namespace storagetransfer_v1 { */ objectConditions?: Schema$ObjectConditions; /** - * A POSIX Filesystem data sink. + * Optional. A POSIX Filesystem data sink. */ posixDataSink?: Schema$PosixFilesystem; /** - * A POSIX Filesystem data source. + * Optional. A POSIX Filesystem data source. */ posixDataSource?: Schema$PosixFilesystem; /** From f6720350a7e3e3122c6754fb8f22f31d63bba66e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 40/43] feat(texttospeech): update the API #### texttospeech:v1beta1 The following keys were added: - schemas.VoiceSelectionParams.properties.modelName.description - schemas.VoiceSelectionParams.properties.modelName.type #### texttospeech:v1 The following keys were added: - schemas.VoiceSelectionParams.properties.modelName.description - schemas.VoiceSelectionParams.properties.modelName.type --- discovery/texttospeech-v1.json | 6 +++++- discovery/texttospeech-v1beta1.json | 6 +++++- src/apis/texttospeech/v1.ts | 4 ++++ src/apis/texttospeech/v1beta1.ts | 4 ++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/discovery/texttospeech-v1.json b/discovery/texttospeech-v1.json index 053843333f..d0b35efb15 100644 --- a/discovery/texttospeech-v1.json +++ b/discovery/texttospeech-v1.json @@ -318,7 +318,7 @@ } } }, - "revision": "20250716", + "revision": "20250805", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AdvancedVoiceOptions": { @@ -791,6 +791,10 @@ "description": "Required. The language (and potentially also the region) of the voice expressed as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. \"en-US\". This should not include a script tag (e.g. use \"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred from the input provided in the SynthesisInput. The TTS service will use this parameter to help choose an appropriate voice. Note that the TTS service may choose a voice with a slightly different language code than the one selected; it may substitute a different region (e.g. using en-US rather than en-CA if there isn't a Canadian voice available), or even a different language, e.g. using \"nb\" (Norwegian Bokmal) instead of \"no\" (Norwegian)\".", "type": "string" }, + "modelName": { + "description": "Optional. The name of the model. If set, the service will choose the model matching the specified configuration.", + "type": "string" + }, "name": { "description": "The name of the voice. If both the name and the gender are not set, the service will choose a voice based on the other parameters such as language_code.", "type": "string" diff --git a/discovery/texttospeech-v1beta1.json b/discovery/texttospeech-v1beta1.json index ac316c9e04..9a717416fe 100644 --- a/discovery/texttospeech-v1beta1.json +++ b/discovery/texttospeech-v1beta1.json @@ -261,7 +261,7 @@ } } }, - "revision": "20250716", + "revision": "20250805", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AdvancedVoiceOptions": { @@ -766,6 +766,10 @@ "description": "Required. The language (and potentially also the region) of the voice expressed as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. \"en-US\". This should not include a script tag (e.g. use \"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred from the input provided in the SynthesisInput. The TTS service will use this parameter to help choose an appropriate voice. Note that the TTS service may choose a voice with a slightly different language code than the one selected; it may substitute a different region (e.g. using en-US rather than en-CA if there isn't a Canadian voice available), or even a different language, e.g. using \"nb\" (Norwegian Bokmal) instead of \"no\" (Norwegian)\".", "type": "string" }, + "modelName": { + "description": "Optional. The name of the model. If set, the service will choose the model matching the specified configuration.", + "type": "string" + }, "name": { "description": "The name of the voice. If both the name and the gender are not set, the service will choose a voice based on the other parameters such as language_code.", "type": "string" diff --git a/src/apis/texttospeech/v1.ts b/src/apis/texttospeech/v1.ts index d1e6c35dc6..c2f6111645 100644 --- a/src/apis/texttospeech/v1.ts +++ b/src/apis/texttospeech/v1.ts @@ -453,6 +453,10 @@ export namespace texttospeech_v1 { * Required. The language (and potentially also the region) of the voice expressed as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. "en-US". This should not include a script tag (e.g. use "cmn-cn" rather than "cmn-Hant-cn"), because the script will be inferred from the input provided in the SynthesisInput. The TTS service will use this parameter to help choose an appropriate voice. Note that the TTS service may choose a voice with a slightly different language code than the one selected; it may substitute a different region (e.g. using en-US rather than en-CA if there isn't a Canadian voice available), or even a different language, e.g. using "nb" (Norwegian Bokmal) instead of "no" (Norwegian)". */ languageCode?: string | null; + /** + * Optional. The name of the model. If set, the service will choose the model matching the specified configuration. + */ + modelName?: string | null; /** * The name of the voice. If both the name and the gender are not set, the service will choose a voice based on the other parameters such as language_code. */ diff --git a/src/apis/texttospeech/v1beta1.ts b/src/apis/texttospeech/v1beta1.ts index f03b676cc2..34d1ddd7a6 100644 --- a/src/apis/texttospeech/v1beta1.ts +++ b/src/apis/texttospeech/v1beta1.ts @@ -468,6 +468,10 @@ export namespace texttospeech_v1beta1 { * Required. The language (and potentially also the region) of the voice expressed as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. "en-US". This should not include a script tag (e.g. use "cmn-cn" rather than "cmn-Hant-cn"), because the script will be inferred from the input provided in the SynthesisInput. The TTS service will use this parameter to help choose an appropriate voice. Note that the TTS service may choose a voice with a slightly different language code than the one selected; it may substitute a different region (e.g. using en-US rather than en-CA if there isn't a Canadian voice available), or even a different language, e.g. using "nb" (Norwegian Bokmal) instead of "no" (Norwegian)". */ languageCode?: string | null; + /** + * Optional. The name of the model. If set, the service will choose the model matching the specified configuration. + */ + modelName?: string | null; /** * The name of the voice. If both the name and the gender are not set, the service will choose a voice based on the other parameters such as language_code. */ From d75502811e6528b9f951dfdd5308b7123880fbed Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:13 +0000 Subject: [PATCH 41/43] fix(vision): update the API #### vision:v1p1beta1 The following keys were changed: - schemas.GoogleCloudVisionV1p1beta1Feature.properties.model.description #### vision:v1p2beta1 The following keys were changed: - schemas.GoogleCloudVisionV1p2beta1Feature.properties.model.description #### vision:v1 The following keys were changed: - schemas.Feature.properties.model.description --- discovery/vision-v1.json | 4 ++-- discovery/vision-v1p1beta1.json | 4 ++-- discovery/vision-v1p2beta1.json | 4 ++-- src/apis/vision/v1.ts | 2 +- src/apis/vision/v1p1beta1.ts | 2 +- src/apis/vision/v1p2beta1.ts | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/discovery/vision-v1.json b/discovery/vision-v1.json index b07ac2e8f4..690158fd68 100644 --- a/discovery/vision-v1.json +++ b/discovery/vision-v1.json @@ -1282,7 +1282,7 @@ } } }, - "revision": "20241115", + "revision": "20250804", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AddProductToProductSetRequest": { @@ -2174,7 +2174,7 @@ "type": "integer" }, "model": { - "description": "Model to use for the feature. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support \"builtin/weekly\" for the bleeding edge release updated weekly.", + "description": "Model to use for the feature. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support \"builtin/rc\" for the latest release candidate.", "type": "string" }, "type": { diff --git a/discovery/vision-v1p1beta1.json b/discovery/vision-v1p1beta1.json index 49035584f0..97269444b5 100644 --- a/discovery/vision-v1p1beta1.json +++ b/discovery/vision-v1p1beta1.json @@ -449,7 +449,7 @@ } } }, - "revision": "20240823", + "revision": "20250804", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { @@ -1958,7 +1958,7 @@ "type": "integer" }, "model": { - "description": "Model to use for the feature. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support \"builtin/weekly\" for the bleeding edge release updated weekly.", + "description": "Model to use for the feature. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support \"builtin/rc\" for the latest release candidate.", "type": "string" }, "type": { diff --git a/discovery/vision-v1p2beta1.json b/discovery/vision-v1p2beta1.json index 481956fa08..b00d5e6d56 100644 --- a/discovery/vision-v1p2beta1.json +++ b/discovery/vision-v1p2beta1.json @@ -449,7 +449,7 @@ } } }, - "revision": "20240823", + "revision": "20250804", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { @@ -3372,7 +3372,7 @@ "type": "integer" }, "model": { - "description": "Model to use for the feature. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support \"builtin/weekly\" for the bleeding edge release updated weekly.", + "description": "Model to use for the feature. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support \"builtin/rc\" for the latest release candidate.", "type": "string" }, "type": { diff --git a/src/apis/vision/v1.ts b/src/apis/vision/v1.ts index 4e48574f01..ef605ab722 100644 --- a/src/apis/vision/v1.ts +++ b/src/apis/vision/v1.ts @@ -685,7 +685,7 @@ export namespace vision_v1 { */ maxResults?: number | null; /** - * Model to use for the feature. Supported values: "builtin/stable" (the default if unset) and "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support "builtin/weekly" for the bleeding edge release updated weekly. + * Model to use for the feature. Supported values: "builtin/stable" (the default if unset) and "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support "builtin/rc" for the latest release candidate. */ model?: string | null; /** diff --git a/src/apis/vision/v1p1beta1.ts b/src/apis/vision/v1p1beta1.ts index 9b87f8360e..f12a0b3918 100644 --- a/src/apis/vision/v1p1beta1.ts +++ b/src/apis/vision/v1p1beta1.ts @@ -1000,7 +1000,7 @@ export namespace vision_v1p1beta1 { */ maxResults?: number | null; /** - * Model to use for the feature. Supported values: "builtin/stable" (the default if unset) and "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support "builtin/weekly" for the bleeding edge release updated weekly. + * Model to use for the feature. Supported values: "builtin/stable" (the default if unset) and "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support "builtin/rc" for the latest release candidate. */ model?: string | null; /** diff --git a/src/apis/vision/v1p2beta1.ts b/src/apis/vision/v1p2beta1.ts index 1e3d90ac83..535c07f7a3 100644 --- a/src/apis/vision/v1p2beta1.ts +++ b/src/apis/vision/v1p2beta1.ts @@ -1862,7 +1862,7 @@ export namespace vision_v1p2beta1 { */ maxResults?: number | null; /** - * Model to use for the feature. Supported values: "builtin/stable" (the default if unset) and "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support "builtin/weekly" for the bleeding edge release updated weekly. + * Model to use for the feature. Supported values: "builtin/stable" (the default if unset) and "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also support "builtin/rc" for the latest release candidate. */ model?: string | null; /** From f3fcdb19fafe0224f61d3e3798fa83ea9714839a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:14 +0000 Subject: [PATCH 42/43] feat(walletobjects): update the API #### walletobjects:v1 The following keys were added: - schemas.Image.properties.privateImageId.description - schemas.Image.properties.privateImageId.type - schemas.UploadPrivateImageRequest.description - schemas.UploadPrivateImageRequest.id - schemas.UploadPrivateImageRequest.type - schemas.UploadPrivateImageResponse.description - schemas.UploadPrivateImageResponse.id - schemas.UploadPrivateImageResponse.properties.privateImageId.description - schemas.UploadPrivateImageResponse.properties.privateImageId.type - schemas.UploadPrivateImageResponse.type The following keys were changed: - schemas.Image.properties.sourceUri.description --- discovery/walletobjects-v1.json | 25 +++++++++++++++++++++++-- src/apis/walletobjects/v1.ts | 19 ++++++++++++++++++- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/discovery/walletobjects-v1.json b/discovery/walletobjects-v1.json index f2e1a6fc8f..6e8ab9a033 100644 --- a/discovery/walletobjects-v1.json +++ b/discovery/walletobjects-v1.json @@ -2711,7 +2711,7 @@ } } }, - "revision": "20250506", + "revision": "20250804", "rootUrl": "https://walletobjects.googleapis.com/", "schemas": { "ActivationOptions": { @@ -6206,9 +6206,13 @@ "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#image\"`.", "type": "string" }, + "privateImageId": { + "description": "An ID for an already uploaded private image. Either this or source_uri should be set. Requests setting both or neither will be rejected. Please contact support to use private images.", + "type": "string" + }, "sourceUri": { "$ref": "ImageUri", - "description": "The URI for the image." + "description": "A URI for the image. Either this or private_image_id should be set. Requests setting both or neither will be rejected." } }, "type": "object" @@ -9747,6 +9751,23 @@ }, "type": "object" }, + "UploadPrivateImageRequest": { + "description": "Request to upload a private image to use in a pass.", + "id": "UploadPrivateImageRequest", + "properties": {}, + "type": "object" + }, + "UploadPrivateImageResponse": { + "description": "Response for uploading the private image.", + "id": "UploadPrivateImageResponse", + "properties": { + "privateImageId": { + "description": "Unique ID of the uploaded image to be referenced later in Image.private_image_id.", + "type": "string" + } + }, + "type": "object" + }, "Uri": { "id": "Uri", "properties": { diff --git a/src/apis/walletobjects/v1.ts b/src/apis/walletobjects/v1.ts index 1a1b4ca33a..0a3436d7d0 100644 --- a/src/apis/walletobjects/v1.ts +++ b/src/apis/walletobjects/v1.ts @@ -2161,7 +2161,11 @@ export namespace walletobjects_v1 { */ kind?: string | null; /** - * The URI for the image. + * An ID for an already uploaded private image. Either this or source_uri should be set. Requests setting both or neither will be rejected. Please contact support to use private images. + */ + privateImageId?: string | null; + /** + * A URI for the image. Either this or private_image_id should be set. Requests setting both or neither will be rejected. */ sourceUri?: Schema$ImageUri; } @@ -4278,6 +4282,19 @@ export namespace walletobjects_v1 { */ enableNotification?: boolean | null; } + /** + * Request to upload a private image to use in a pass. + */ + export interface Schema$UploadPrivateImageRequest {} + /** + * Response for uploading the private image. + */ + export interface Schema$UploadPrivateImageResponse { + /** + * Unique ID of the uploaded image to be referenced later in Image.private_image_id. + */ + privateImageId?: string | null; + } export interface Schema$Uri { /** * The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. From cfafb0cc9e540f91ea2cbd4047189e978128b5cd Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 12 Aug 2025 01:37:14 +0000 Subject: [PATCH 43/43] feat: regenerate index files --- discovery/adexchangebuyer2-v2beta1.json | 8 +- discovery/apigee-v1.json | 10 +- discovery/composer-v1.json | 8 +- discovery/composer-v1beta1.json | 8 +- discovery/driveactivity-v2.json | 10 +- discovery/gkehub-v1.json | 28 +++- discovery/gkehub-v1alpha.json | 54 ++++++- discovery/gkehub-v1beta.json | 28 +++- discovery/gkehub-v2.json | 30 +++- discovery/gkehub-v2alpha.json | 30 +++- discovery/gkehub-v2beta.json | 30 +++- discovery/index.json | 182 +++++++++++++++++++++++- discovery/solar-v1.json | 10 +- src/index.ts | 11 ++ 14 files changed, 403 insertions(+), 44 deletions(-) diff --git a/discovery/adexchangebuyer2-v2beta1.json b/discovery/adexchangebuyer2-v2beta1.json index 01bc638fd2..b8506d792d 100644 --- a/discovery/adexchangebuyer2-v2beta1.json +++ b/discovery/adexchangebuyer2-v2beta1.json @@ -3115,7 +3115,7 @@ } } }, - "revision": "20241002", + "revision": "20250807", "rootUrl": "https://adexchangebuyer.googleapis.com/", "schemas": { "AbsoluteDateRange": { @@ -5661,14 +5661,16 @@ "AD_NOT_RENDERED", "INVALID_IMPRESSION", "FATAL_VAST_ERROR", - "LOST_IN_MEDIATION" + "LOST_IN_MEDIATION", + "OVERDELIVERED_IMPRESSION" ], "enumDescriptions": [ "A placeholder for an undefined status. This value will never be returned in responses.", "The buyer was not billed because the ad was not rendered by the publisher.", "The buyer was not billed because the impression won by the bid was determined to be invalid.", "A video impression was served but a fatal error was reported from the client during playback.", - "The buyer was not billed because the ad was outplaced in the mediation waterfall." + "The buyer was not billed because the ad was outplaced in the mediation waterfall.", + "The impression was not billed because it exceeded a guaranteed deal delivery goal." ], "type": "string" } diff --git a/discovery/apigee-v1.json b/discovery/apigee-v1.json index b1a0e8d340..0687bdf0f2 100644 --- a/discovery/apigee-v1.json +++ b/discovery/apigee-v1.json @@ -2422,7 +2422,7 @@ "type": "string" }, "pageSize": { - "description": "Optional. Count of apps a single page can have in the response. If unspecified, at most 100 apps will be returned. The maximum value is 100; values above 100 will be coerced to 100. \"page_size\" is supported from ver 1.10.0 and above.", + "description": "Optional. Count of apps a single page can have in the response. If unspecified, at most 1000 apps will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. \"page_size\" is supported from ver 1.10.0 and above.", "format": "int32", "location": "query", "type": "integer" @@ -2440,7 +2440,7 @@ "type": "string" }, "rows": { - "description": "Optional. Maximum number of app IDs to return. Defaults to 1000.", + "description": "Optional. Maximum number of app IDs to return. Defaults to 1000, which is also the upper limit. To get more than 1000, use pagination with 'pageSize' and 'pageToken' parameters.", "format": "int64", "location": "query", "type": "string" @@ -11127,7 +11127,7 @@ } } }, - "revision": "20250722", + "revision": "20250731", "rootUrl": "https://apigee.googleapis.com/", "schemas": { "EdgeConfigstoreBundleBadBundle": { @@ -15248,6 +15248,10 @@ "description": "Required. Flag that specifies whether entry values will be encrypted. This field is retained for backward compatibility and the value of encrypted will always be `true`. Apigee X and hybrid do not support unencrypted key value maps.", "type": "boolean" }, + "maskedValues": { + "description": "Required. Flag that specifies whether entry values will be masked when returned.", + "type": "boolean" + }, "name": { "description": "Required. ID of the key value map.", "type": "string" diff --git a/discovery/composer-v1.json b/discovery/composer-v1.json index e608c1e93b..11f6b59c3f 100644 --- a/discovery/composer-v1.json +++ b/discovery/composer-v1.json @@ -1226,7 +1226,7 @@ } } }, - "revision": "20250630", + "revision": "20250803", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -2194,7 +2194,8 @@ "CHECK", "SAVE_SNAPSHOT", "LOAD_SNAPSHOT", - "DATABASE_FAILOVER" + "DATABASE_FAILOVER", + "MIGRATE" ], "enumDescriptions": [ "Unused.", @@ -2204,7 +2205,8 @@ "A resource check operation.", "Saves snapshot of the resource operation.", "Loads snapshot of the resource operation.", - "Triggers failover of environment's Cloud SQL instance (only for highly resilient environments)." + "Triggers failover of environment's Cloud SQL instance (only for highly resilient environments).", + "Migrates resource to a new major version." ], "type": "string" }, diff --git a/discovery/composer-v1beta1.json b/discovery/composer-v1beta1.json index 46bd6d27db..822b2ab9b6 100644 --- a/discovery/composer-v1beta1.json +++ b/discovery/composer-v1beta1.json @@ -1226,7 +1226,7 @@ } } }, - "revision": "20250630", + "revision": "20250803", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -2211,7 +2211,8 @@ "CHECK", "SAVE_SNAPSHOT", "LOAD_SNAPSHOT", - "DATABASE_FAILOVER" + "DATABASE_FAILOVER", + "MIGRATE" ], "enumDescriptions": [ "Unused.", @@ -2221,7 +2222,8 @@ "A resource check operation.", "Saves snapshot of the resource operation.", "Loads snapshot of the resource operation.", - "Triggers failover of environment's Cloud SQL instance (only for highly resilient environments)." + "Triggers failover of environment's Cloud SQL instance (only for highly resilient environments).", + "Migrates resource to a new major version." ], "type": "string" }, diff --git a/discovery/driveactivity-v2.json b/discovery/driveactivity-v2.json index 650e868d6a..261219aae8 100644 --- a/discovery/driveactivity-v2.json +++ b/discovery/driveactivity-v2.json @@ -132,7 +132,7 @@ } } }, - "revision": "20250517", + "revision": "20250805", "rootUrl": "https://driveactivity.googleapis.com/", "schemas": { "Action": { @@ -1135,7 +1135,9 @@ "DIRECT_SHARING", "ITEM_DUPLICATION", "DRIVE_FILE_STREAM", - "FILE_ORGANIZER_CAN_SHARE_FOLDERS" + "FILE_ORGANIZER_CAN_SHARE_FOLDERS", + "READERS_CAN_DOWNLOAD", + "WRITERS_CAN_DOWNLOAD" ], "enumDescriptions": [ "The feature which changed restriction settings was not available.", @@ -1143,7 +1145,9 @@ "When restricted, this prevents direct sharing of individual items.", "When restricted, this prevents actions like copy, download, and print that might result in uncontrolled duplicates of items. Now deprecated in favor of READERS_CAN_DOWNLOAD.", "When restricted, this prevents use of Drive File Stream.", - "When restricted, this limits sharing of folders to managers only." + "When restricted, this limits sharing of folders to managers only.", + "When restricted, this prevents actions like copy, download, and print for readers. This is the same as ITEM_DUPLICATION.", + "When restricted, this prevents actions like copy, download, and print for writers." ], "type": "string" }, diff --git a/discovery/gkehub-v1.json b/discovery/gkehub-v1.json index a60b970fb4..fda379cf10 100644 --- a/discovery/gkehub-v1.json +++ b/discovery/gkehub-v1.json @@ -2117,7 +2117,7 @@ } } }, - "revision": "20250720", + "revision": "20250731", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -6307,7 +6307,18 @@ "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", "MODERNIZATION_ABORTED", - "MODERNIZATION_WILL_BE_SCHEDULED" + "MODERNIZATION_PREPARING", + "MODERNIZATION_STALLED", + "MODERNIZATION_PREPARED", + "MODERNIZATION_MIGRATING_WORKLOADS", + "MODERNIZATION_ROLLING_BACK_CLUSTER", + "MODERNIZATION_WILL_BE_SCHEDULED", + "MODERNIZATION_MANUAL", + "MODERNIZATION_ELIGIBLE", + "MODERNIZATION_MODERNIZING", + "MODERNIZATION_MODERNIZED_SOAKING", + "MODERNIZATION_FINALIZED", + "MODERNIZATION_ROLLING_BACK_FLEET" ], "enumDescriptions": [ "Default Unspecified code", @@ -6351,7 +6362,18 @@ "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", "Modernization is aborted for a cluster.", - "Modernization will be scheduled for a fleet." + "Preparing cluster so that its workloads can be migrated.", + "Modernization is stalled for a cluster.", + "Cluster has been prepared for its workloads to be migrated.", + "Migrating the cluster's workloads to the new implementation.", + "Rollback is in progress for modernization of a cluster.", + "Modernization will be scheduled for a fleet.", + "Fleet is opted out from automated modernization.", + "Fleet is eligible for modernization.", + "Modernization of one or more clusters in a fleet is in progress.", + "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", + "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", + "Rollback is in progress for modernization of all clusters in a fleet." ], "type": "string" }, diff --git a/discovery/gkehub-v1alpha.json b/discovery/gkehub-v1alpha.json index b7f0abb432..8dff07be64 100644 --- a/discovery/gkehub-v1alpha.json +++ b/discovery/gkehub-v1alpha.json @@ -2261,7 +2261,7 @@ } } }, - "revision": "20250720", + "revision": "20250731", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -6891,7 +6891,18 @@ "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", "MODERNIZATION_ABORTED", - "MODERNIZATION_WILL_BE_SCHEDULED" + "MODERNIZATION_PREPARING", + "MODERNIZATION_STALLED", + "MODERNIZATION_PREPARED", + "MODERNIZATION_MIGRATING_WORKLOADS", + "MODERNIZATION_ROLLING_BACK_CLUSTER", + "MODERNIZATION_WILL_BE_SCHEDULED", + "MODERNIZATION_MANUAL", + "MODERNIZATION_ELIGIBLE", + "MODERNIZATION_MODERNIZING", + "MODERNIZATION_MODERNIZED_SOAKING", + "MODERNIZATION_FINALIZED", + "MODERNIZATION_ROLLING_BACK_FLEET" ], "enumDescriptions": [ "Default Unspecified code", @@ -6935,7 +6946,18 @@ "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", "Modernization is aborted for a cluster.", - "Modernization will be scheduled for a fleet." + "Preparing cluster so that its workloads can be migrated.", + "Modernization is stalled for a cluster.", + "Cluster has been prepared for its workloads to be migrated.", + "Migrating the cluster's workloads to the new implementation.", + "Rollback is in progress for modernization of a cluster.", + "Modernization will be scheduled for a fleet.", + "Fleet is opted out from automated modernization.", + "Fleet is eligible for modernization.", + "Modernization of one or more clusters in a fleet is in progress.", + "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", + "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", + "Rollback is in progress for modernization of all clusters in a fleet." ], "type": "string" }, @@ -7111,7 +7133,18 @@ "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", "MODERNIZATION_ABORTED", - "MODERNIZATION_WILL_BE_SCHEDULED" + "MODERNIZATION_PREPARING", + "MODERNIZATION_STALLED", + "MODERNIZATION_PREPARED", + "MODERNIZATION_MIGRATING_WORKLOADS", + "MODERNIZATION_ROLLING_BACK_CLUSTER", + "MODERNIZATION_WILL_BE_SCHEDULED", + "MODERNIZATION_MANUAL", + "MODERNIZATION_ELIGIBLE", + "MODERNIZATION_MODERNIZING", + "MODERNIZATION_MODERNIZED_SOAKING", + "MODERNIZATION_FINALIZED", + "MODERNIZATION_ROLLING_BACK_FLEET" ], "enumDescriptions": [ "Default Unspecified code", @@ -7155,7 +7188,18 @@ "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", "Modernization is aborted for a cluster.", - "Modernization will be scheduled for a fleet." + "Preparing cluster so that its workloads can be migrated.", + "Modernization is stalled for a cluster.", + "Cluster has been prepared for its workloads to be migrated.", + "Migrating the cluster's workloads to the new implementation.", + "Rollback is in progress for modernization of a cluster.", + "Modernization will be scheduled for a fleet.", + "Fleet is opted out from automated modernization.", + "Fleet is eligible for modernization.", + "Modernization of one or more clusters in a fleet is in progress.", + "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", + "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", + "Rollback is in progress for modernization of all clusters in a fleet." ], "type": "string" }, diff --git a/discovery/gkehub-v1beta.json b/discovery/gkehub-v1beta.json index 522866dffa..5f9f19272c 100644 --- a/discovery/gkehub-v1beta.json +++ b/discovery/gkehub-v1beta.json @@ -2117,7 +2117,7 @@ } } }, - "revision": "20250720", + "revision": "20250731", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -6433,7 +6433,18 @@ "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", "MODERNIZATION_ABORTED", - "MODERNIZATION_WILL_BE_SCHEDULED" + "MODERNIZATION_PREPARING", + "MODERNIZATION_STALLED", + "MODERNIZATION_PREPARED", + "MODERNIZATION_MIGRATING_WORKLOADS", + "MODERNIZATION_ROLLING_BACK_CLUSTER", + "MODERNIZATION_WILL_BE_SCHEDULED", + "MODERNIZATION_MANUAL", + "MODERNIZATION_ELIGIBLE", + "MODERNIZATION_MODERNIZING", + "MODERNIZATION_MODERNIZED_SOAKING", + "MODERNIZATION_FINALIZED", + "MODERNIZATION_ROLLING_BACK_FLEET" ], "enumDescriptions": [ "Default Unspecified code", @@ -6477,7 +6488,18 @@ "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", "Modernization is aborted for a cluster.", - "Modernization will be scheduled for a fleet." + "Preparing cluster so that its workloads can be migrated.", + "Modernization is stalled for a cluster.", + "Cluster has been prepared for its workloads to be migrated.", + "Migrating the cluster's workloads to the new implementation.", + "Rollback is in progress for modernization of a cluster.", + "Modernization will be scheduled for a fleet.", + "Fleet is opted out from automated modernization.", + "Fleet is eligible for modernization.", + "Modernization of one or more clusters in a fleet is in progress.", + "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", + "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", + "Rollback is in progress for modernization of all clusters in a fleet." ], "type": "string" }, diff --git a/discovery/gkehub-v2.json b/discovery/gkehub-v2.json index 36ae7ea568..20f4f8ec59 100644 --- a/discovery/gkehub-v2.json +++ b/discovery/gkehub-v2.json @@ -477,7 +477,7 @@ } } }, - "revision": "20250720", + "revision": "20250731", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceState": { @@ -3065,7 +3065,18 @@ "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", "MODERNIZATION_ABORTED", - "MODERNIZATION_WILL_BE_SCHEDULED" + "MODERNIZATION_PREPARING", + "MODERNIZATION_STALLED", + "MODERNIZATION_PREPARED", + "MODERNIZATION_MIGRATING_WORKLOADS", + "MODERNIZATION_ROLLING_BACK_CLUSTER", + "MODERNIZATION_WILL_BE_SCHEDULED", + "MODERNIZATION_MANUAL", + "MODERNIZATION_ELIGIBLE", + "MODERNIZATION_MODERNIZING", + "MODERNIZATION_MODERNIZED_SOAKING", + "MODERNIZATION_FINALIZED", + "MODERNIZATION_ROLLING_BACK_FLEET" ], "enumDescriptions": [ "Default Unspecified code", @@ -3109,7 +3120,18 @@ "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", "Modernization is aborted for a cluster.", - "Modernization will be scheduled for a fleet." + "Preparing cluster so that its workloads can be migrated.", + "Modernization is stalled for a cluster.", + "Cluster has been prepared for its workloads to be migrated.", + "Migrating the cluster's workloads to the new implementation.", + "Rollback is in progress for modernization of a cluster.", + "Modernization will be scheduled for a fleet.", + "Fleet is opted out from automated modernization.", + "Fleet is eligible for modernization.", + "Modernization of one or more clusters in a fleet is in progress.", + "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", + "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", + "Rollback is in progress for modernization of all clusters in a fleet." ], "type": "string" }, @@ -3296,7 +3318,7 @@ "MANAGEMENT_NOT_INSTALLED" ], "enumDescriptions": [ - "Unspecified", + "Unspecified.", "Google should manage my Service Mesh for the cluster.", "User will manually configure their service mesh components.", "Google should remove any managed Service Mesh components from this cluster and deprovision any resources." diff --git a/discovery/gkehub-v2alpha.json b/discovery/gkehub-v2alpha.json index 0c3af64f77..cd7474d1a9 100644 --- a/discovery/gkehub-v2alpha.json +++ b/discovery/gkehub-v2alpha.json @@ -477,7 +477,7 @@ } } }, - "revision": "20250720", + "revision": "20250731", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceState": { @@ -3065,7 +3065,18 @@ "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", "MODERNIZATION_ABORTED", - "MODERNIZATION_WILL_BE_SCHEDULED" + "MODERNIZATION_PREPARING", + "MODERNIZATION_STALLED", + "MODERNIZATION_PREPARED", + "MODERNIZATION_MIGRATING_WORKLOADS", + "MODERNIZATION_ROLLING_BACK_CLUSTER", + "MODERNIZATION_WILL_BE_SCHEDULED", + "MODERNIZATION_MANUAL", + "MODERNIZATION_ELIGIBLE", + "MODERNIZATION_MODERNIZING", + "MODERNIZATION_MODERNIZED_SOAKING", + "MODERNIZATION_FINALIZED", + "MODERNIZATION_ROLLING_BACK_FLEET" ], "enumDescriptions": [ "Default Unspecified code", @@ -3109,7 +3120,18 @@ "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", "Modernization is aborted for a cluster.", - "Modernization will be scheduled for a fleet." + "Preparing cluster so that its workloads can be migrated.", + "Modernization is stalled for a cluster.", + "Cluster has been prepared for its workloads to be migrated.", + "Migrating the cluster's workloads to the new implementation.", + "Rollback is in progress for modernization of a cluster.", + "Modernization will be scheduled for a fleet.", + "Fleet is opted out from automated modernization.", + "Fleet is eligible for modernization.", + "Modernization of one or more clusters in a fleet is in progress.", + "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", + "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", + "Rollback is in progress for modernization of all clusters in a fleet." ], "type": "string" }, @@ -3296,7 +3318,7 @@ "MANAGEMENT_NOT_INSTALLED" ], "enumDescriptions": [ - "Unspecified", + "Unspecified.", "Google should manage my Service Mesh for the cluster.", "User will manually configure their service mesh components.", "Google should remove any managed Service Mesh components from this cluster and deprovision any resources." diff --git a/discovery/gkehub-v2beta.json b/discovery/gkehub-v2beta.json index 6a88d6d8f7..6294006463 100644 --- a/discovery/gkehub-v2beta.json +++ b/discovery/gkehub-v2beta.json @@ -477,7 +477,7 @@ } } }, - "revision": "20250720", + "revision": "20250731", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceState": { @@ -3065,7 +3065,18 @@ "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", "MODERNIZATION_ABORTED", - "MODERNIZATION_WILL_BE_SCHEDULED" + "MODERNIZATION_PREPARING", + "MODERNIZATION_STALLED", + "MODERNIZATION_PREPARED", + "MODERNIZATION_MIGRATING_WORKLOADS", + "MODERNIZATION_ROLLING_BACK_CLUSTER", + "MODERNIZATION_WILL_BE_SCHEDULED", + "MODERNIZATION_MANUAL", + "MODERNIZATION_ELIGIBLE", + "MODERNIZATION_MODERNIZING", + "MODERNIZATION_MODERNIZED_SOAKING", + "MODERNIZATION_FINALIZED", + "MODERNIZATION_ROLLING_BACK_FLEET" ], "enumDescriptions": [ "Default Unspecified code", @@ -3109,7 +3120,18 @@ "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", "Modernization is aborted for a cluster.", - "Modernization will be scheduled for a fleet." + "Preparing cluster so that its workloads can be migrated.", + "Modernization is stalled for a cluster.", + "Cluster has been prepared for its workloads to be migrated.", + "Migrating the cluster's workloads to the new implementation.", + "Rollback is in progress for modernization of a cluster.", + "Modernization will be scheduled for a fleet.", + "Fleet is opted out from automated modernization.", + "Fleet is eligible for modernization.", + "Modernization of one or more clusters in a fleet is in progress.", + "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", + "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", + "Rollback is in progress for modernization of all clusters in a fleet." ], "type": "string" }, @@ -3296,7 +3318,7 @@ "MANAGEMENT_NOT_INSTALLED" ], "enumDescriptions": [ - "Unspecified", + "Unspecified.", "Google should manage my Service Mesh for the cluster.", "User will manually configure their service mesh components.", "Google should remove any managed Service Mesh components from this cluster and deprovision any resources." diff --git a/discovery/index.json b/discovery/index.json index ea8a1b8de0..636dcb31cb 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -4280,6 +4280,21 @@ "title": "Cloud Memorystore for Memcached API", "version": "v1" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=accounts_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:accounts_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "accounts_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=accounts_v1beta", @@ -4295,6 +4310,21 @@ "title": "Merchant API", "version": "accounts_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=conversions_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:conversions_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "conversions_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=conversions_v1beta", @@ -4310,6 +4340,21 @@ "title": "Merchant API", "version": "conversions_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=datasources_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:datasources_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "datasources_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=datasources_v1beta", @@ -4325,6 +4370,21 @@ "title": "Merchant API", "version": "datasources_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=inventories_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:inventories_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "inventories_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=inventories_v1beta", @@ -4340,6 +4400,21 @@ "title": "Merchant API", "version": "inventories_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=issueresolution_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:issueresolution_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "issueresolution_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=issueresolution_v1beta", @@ -4355,6 +4430,21 @@ "title": "Merchant API", "version": "issueresolution_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=lfp_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:lfp_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "lfp_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=lfp_v1beta", @@ -4370,6 +4460,21 @@ "title": "Merchant API", "version": "lfp_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=notifications_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:notifications_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "notifications_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=notifications_v1beta", @@ -4385,6 +4490,21 @@ "title": "Merchant API", "version": "notifications_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=ordertracking_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:ordertracking_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "ordertracking_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=ordertracking_v1beta", @@ -4400,6 +4520,21 @@ "title": "Merchant API", "version": "ordertracking_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=products_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:products_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "products_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=products_v1beta", @@ -4415,6 +4550,21 @@ "title": "Merchant API", "version": "products_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=promotions_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:promotions_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "promotions_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=promotions_v1beta", @@ -4430,6 +4580,21 @@ "title": "Merchant API", "version": "promotions_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=quota_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:quota_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "quota_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=quota_v1beta", @@ -4445,6 +4610,21 @@ "title": "Merchant API", "version": "quota_v1beta" }, + { + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=reports_v1", + "documentationLink": "https://developers.google.com/merchant/api", + "icons": { + "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": "merchantapi:reports_v1", + "kind": "discovery#directoryItem", + "name": "merchantapi", + "preferred": false, + "title": "Merchant API", + "version": "reports_v1" + }, { "description": "Programmatically manage your Merchant Center Accounts.", "discoveryRestUrl": "https://merchantapi.googleapis.com/$discovery/rest?version=reports_v1beta", @@ -5857,7 +6037,7 @@ "version": "v1" }, { - "description": "", + "description": "Model, deploy, and operate your SaaS at scale.", "discoveryRestUrl": "https://saasservicemgmt.googleapis.com/$discovery/rest?version=v1beta1", "documentationLink": "https://cloud.google.com/saas-runtime/docs", "icons": { diff --git a/discovery/solar-v1.json b/discovery/solar-v1.json index ccc05360e4..142cc55df3 100644 --- a/discovery/solar-v1.json +++ b/discovery/solar-v1.json @@ -154,7 +154,7 @@ "Solar data is derived from aerial imagery captured at low-altitude and processed at 0.1 m/pixel.", "Solar data is derived from enhanced aerial imagery captured at high-altitude and processed at 0.25 m/pixel.", "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel.", - "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel. **Note:** This enum is only available if `experiments=EXPANDED_COVERAGE` is set in the request. For more information, see [Expanded Coverage](https://developers.google.com/maps/documentation/solar/expanded-coverage)." + "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel." ], "location": "query", "type": "string" @@ -236,7 +236,7 @@ "Solar data is derived from aerial imagery captured at low-altitude and processed at 0.1 m/pixel.", "Solar data is derived from enhanced aerial imagery captured at high-altitude and processed at 0.25 m/pixel.", "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel.", - "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel. **Note:** This enum is only available if `experiments=EXPANDED_COVERAGE` is set in the request. For more information, see [Expanded Coverage](https://developers.google.com/maps/documentation/solar/expanded-coverage)." + "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel." ], "location": "query", "type": "string" @@ -299,7 +299,7 @@ } } }, - "revision": "20250427", + "revision": "20250804", "rootUrl": "https://solar.googleapis.com/", "schemas": { "BuildingInsights": { @@ -340,7 +340,7 @@ "Solar data is derived from aerial imagery captured at low-altitude and processed at 0.1 m/pixel.", "Solar data is derived from enhanced aerial imagery captured at high-altitude and processed at 0.25 m/pixel.", "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel.", - "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel. **Note:** This enum is only available if `experiments=EXPANDED_COVERAGE` is set in the request. For more information, see [Expanded Coverage](https://developers.google.com/maps/documentation/solar/expanded-coverage)." + "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel." ], "type": "string" }, @@ -436,7 +436,7 @@ "Solar data is derived from aerial imagery captured at low-altitude and processed at 0.1 m/pixel.", "Solar data is derived from enhanced aerial imagery captured at high-altitude and processed at 0.25 m/pixel.", "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel.", - "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel. **Note:** This enum is only available if `experiments=EXPANDED_COVERAGE` is set in the request. For more information, see [Expanded Coverage](https://developers.google.com/maps/documentation/solar/expanded-coverage)." + "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel." ], "type": "string" }, diff --git a/src/index.ts b/src/index.ts index 517c80968b..cb69dd6d1a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -353,17 +353,28 @@ export {marketingplatformadmin_v1alpha} from './apis/marketingplatformadmin/v1al export {meet_v2} from './apis/meet/v2'; export {memcache_v1} from './apis/memcache/v1'; export {memcache_v1beta2} from './apis/memcache/v1beta2'; +export {merchantapi_accounts_v1} from './apis/merchantapi/accounts_v1'; export {merchantapi_accounts_v1beta} from './apis/merchantapi/accounts_v1beta'; +export {merchantapi_conversions_v1} from './apis/merchantapi/conversions_v1'; export {merchantapi_conversions_v1beta} from './apis/merchantapi/conversions_v1beta'; +export {merchantapi_datasources_v1} from './apis/merchantapi/datasources_v1'; export {merchantapi_datasources_v1beta} from './apis/merchantapi/datasources_v1beta'; +export {merchantapi_inventories_v1} from './apis/merchantapi/inventories_v1'; export {merchantapi_inventories_v1beta} from './apis/merchantapi/inventories_v1beta'; +export {merchantapi_issueresolution_v1} from './apis/merchantapi/issueresolution_v1'; export {merchantapi_issueresolution_v1beta} from './apis/merchantapi/issueresolution_v1beta'; export {merchantapi_lfp_v1beta} from './apis/merchantapi/lfp_v1beta'; +export {merchantapi_notifications_v1} from './apis/merchantapi/notifications_v1'; export {merchantapi_notifications_v1beta} from './apis/merchantapi/notifications_v1beta'; +export {merchantapi_ordertracking_v1} from './apis/merchantapi/ordertracking_v1'; export {merchantapi_ordertracking_v1beta} from './apis/merchantapi/ordertracking_v1beta'; +export {merchantapi_products_v1} from './apis/merchantapi/products_v1'; export {merchantapi_products_v1beta} from './apis/merchantapi/products_v1beta'; +export {merchantapi_promotions_v1} from './apis/merchantapi/promotions_v1'; export {merchantapi_promotions_v1beta} from './apis/merchantapi/promotions_v1beta'; +export {merchantapi_quota_v1} from './apis/merchantapi/quota_v1'; export {merchantapi_quota_v1beta} from './apis/merchantapi/quota_v1beta'; +export {merchantapi_reports_v1} from './apis/merchantapi/reports_v1'; export {merchantapi_reports_v1beta} from './apis/merchantapi/reports_v1beta'; export {merchantapi_reviews_v1beta} from './apis/merchantapi/reviews_v1beta'; export {metastore_v1} from './apis/metastore/v1';