diff --git a/third_party/googleapis/.bazelrc b/third_party/googleapis/.bazelrc index 083958747..b3adea557 100644 --- a/third_party/googleapis/.bazelrc +++ b/third_party/googleapis/.bazelrc @@ -8,4 +8,9 @@ build --repo_env=BAZEL_CXXOPTS="-std=c++14" # This is to avoid JVM SIGBUS crashes on highly parallel builds, # see https://github.com/bazelbuild/bazel/issues/3236 for more details build --enable_platform_specific_config -build:linux --sandbox_tmpfs_path=/tmp \ No newline at end of file +build:linux --sandbox_tmpfs_path=/tmp + +# Do not create bazel-* symlinks in the workspace directory +build:linux --experimental_convenience_symlinks=ignore +test:linux --experimental_convenience_symlinks=ignore +run:linux --experimental_convenience_symlinks=ignore diff --git a/third_party/googleapis/.github/workflows/diregapic.yaml b/third_party/googleapis/.github/workflows/diregapic.yaml index 65bad0429..311c6e21c 100644 --- a/third_party/googleapis/.github/workflows/diregapic.yaml +++ b/third_party/googleapis/.github/workflows/diregapic.yaml @@ -22,18 +22,18 @@ jobs: - name: Regenerate API definitions run: | git config --global --add safe.directory /__w/googleapis/googleapis - bazelisk build //google/cloud/compute/v1:compute_gen + bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_gen cp bazel-bin/google/cloud/compute/v1/compute_gen.proto google/cloud/compute/v1/compute.proto - bazelisk build //google/cloud/compute/v1:compute_grpc_service_config_gen + bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_grpc_service_config_gen cp bazel-bin/google/cloud/compute/v1/compute_grpc_service_config_gen.json google/cloud/compute/v1/compute_grpc_service_config.json - bazelisk build //google/cloud/compute/v1:compute_gapic_gen + bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_gapic_gen cp bazel-bin/google/cloud/compute/v1/compute_gapic_gen.yaml google/cloud/compute/v1/compute_gapic.yaml echo api_changes=$(git diff-index --shortstat HEAD) >> $GITHUB_ENV - name: Build GAPIC clients if: contains(env.api_changes, 'file') run: | - bazelisk build //google/cloud/compute/v1/... - bazelisk build //google/cloud/compute/v1/... + bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1/... + bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1/... - name: Create PR uses: googleapis/code-suggester@v2 env: diff --git a/third_party/googleapis/WORKSPACE b/third_party/googleapis/WORKSPACE index 3c06b00cf..8bf384036 100644 --- a/third_party/googleapis/WORKSPACE +++ b/third_party/googleapis/WORKSPACE @@ -360,9 +360,9 @@ gapic_generator_register_toolchains() # TypeScript ############################################################################## -_gapic_generator_typescript_version = "4.4.1" +_gapic_generator_typescript_version = "4.4.2" -_gapic_generator_typescript_sha256 = "b2da814b6282c4612b5fa9854deda841ef5867788e26d09b8ff9401e6a349017" +_gapic_generator_typescript_sha256 = "6cc1c90a0e5dfb7bbb4e58feb1fbb3c49290da7d064ae55e5a127408efaf101f" ### TypeScript generator http_archive( @@ -457,9 +457,9 @@ gapic_generator_csharp_repositories() # Ruby ############################################################################## -_gapic_generator_ruby_version = "v0.27.4" +_gapic_generator_ruby_version = "v0.29.0" -_gapic_generator_ruby_sha256 = "2e6986cf8ec4e4b20d6dfd38a2c47a98f88e5cf9248b52f614daae6d888e1493" +_gapic_generator_ruby_sha256 = "21d8c448e99eef6a2d8182f0422c70f8adddf9fc333d6c739e47720702ce52df" http_archive( name = "gapic_generator_ruby", diff --git a/third_party/googleapis/api-index-v1.json b/third_party/googleapis/api-index-v1.json index abce65cf0..626b2ac9f 100644 --- a/third_party/googleapis/api-index-v1.json +++ b/third_party/googleapis/api-index-v1.json @@ -5064,6 +5064,2516 @@ ], "nameInServiceConfig": "googleads.googleapis.com" }, + { + "id": "google.ads.googleads.v16", + "directory": "google/ads/googleads/v16", + "version": "v16", + "majorVersion": "v16", + "hostName": "googleads.googleapis.com", + "title": "Google Ads API", + "description": "Manage your Google Ads accounts, campaigns, and reports with this API.", + "importDirectories": [ + "google/ads/googleads/v16/common", + "google/ads/googleads/v16/enums", + "google/ads/googleads/v16/errors", + "google/ads/googleads/v16/resources", + "google/ads/googleads/v16/services", + "google/api", + "google/longrunning", + "google/protobuf", + "google/rpc" + ], + "options": { + "csharp_namespace": { + "valueCounts": { + "Google.Ads.GoogleAds.V16.Common": 38, + "Google.Ads.GoogleAds.V16.Enums": 348, + "Google.Ads.GoogleAds.V16.Errors": 152, + "Google.Ads.GoogleAds.V16.Resources": 177, + "Google.Ads.GoogleAds.V16.Services": 111 + } + }, + "go_package": { + "valueCounts": { + "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common": 38, + "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums": 348, + "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors": 152, + "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources": 177, + "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services": 111 + } + }, + "java_multiple_files": { + "valueCounts": { + "true": 826 + } + }, + "java_package": { + "valueCounts": { + "com.google.ads.googleads.v16.common": 38, + "com.google.ads.googleads.v16.enums": 348, + "com.google.ads.googleads.v16.errors": 152, + "com.google.ads.googleads.v16.resources": 177, + "com.google.ads.googleads.v16.services": 111 + } + }, + "objc_class_prefix": { + "valueCounts": { + "GAA": 826 + } + }, + "php_namespace": { + "valueCounts": { + "Google\\Ads\\GoogleAds\\V16\\Common": 38, + "Google\\Ads\\GoogleAds\\V16\\Enums": 348, + "Google\\Ads\\GoogleAds\\V16\\Errors": 152, + "Google\\Ads\\GoogleAds\\V16\\Resources": 177, + "Google\\Ads\\GoogleAds\\V16\\Services": 111 + } + }, + "ruby_package": { + "valueCounts": { + "Google::Ads::GoogleAds::V16::Common": 38, + "Google::Ads::GoogleAds::V16::Enums": 348, + "Google::Ads::GoogleAds::V16::Errors": 152, + "Google::Ads::GoogleAds::V16::Resources": 177, + "Google::Ads::GoogleAds::V16::Services": 111 + } + } + }, + "services": [ + { + "shortName": "AccountBudgetProposalService", + "fullName": "google.ads.googleads.v16.services.AccountBudgetProposalService", + "methods": [ + { + "shortName": "MutateAccountBudgetProposal", + "fullName": "google.ads.googleads.v16.services.AccountBudgetProposalService.MutateAccountBudgetProposal", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/accountBudgetProposals:mutate" + } + ] + } + ] + }, + { + "shortName": "AccountLinkService", + "fullName": "google.ads.googleads.v16.services.AccountLinkService", + "methods": [ + { + "shortName": "CreateAccountLink", + "fullName": "google.ads.googleads.v16.services.AccountLinkService.CreateAccountLink", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/accountLinks:create" + } + ] + }, + { + "shortName": "MutateAccountLink", + "fullName": "google.ads.googleads.v16.services.AccountLinkService.MutateAccountLink", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/accountLinks:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupAdLabelService", + "fullName": "google.ads.googleads.v16.services.AdGroupAdLabelService", + "methods": [ + { + "shortName": "MutateAdGroupAdLabels", + "fullName": "google.ads.googleads.v16.services.AdGroupAdLabelService.MutateAdGroupAdLabels", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupAdLabels:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupAdService", + "fullName": "google.ads.googleads.v16.services.AdGroupAdService", + "methods": [ + { + "shortName": "MutateAdGroupAds", + "fullName": "google.ads.googleads.v16.services.AdGroupAdService.MutateAdGroupAds", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupAds:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupAssetService", + "fullName": "google.ads.googleads.v16.services.AdGroupAssetService", + "methods": [ + { + "shortName": "MutateAdGroupAssets", + "fullName": "google.ads.googleads.v16.services.AdGroupAssetService.MutateAdGroupAssets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupAssets:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupAssetSetService", + "fullName": "google.ads.googleads.v16.services.AdGroupAssetSetService", + "methods": [ + { + "shortName": "MutateAdGroupAssetSets", + "fullName": "google.ads.googleads.v16.services.AdGroupAssetSetService.MutateAdGroupAssetSets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupAssetSets:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupBidModifierService", + "fullName": "google.ads.googleads.v16.services.AdGroupBidModifierService", + "methods": [ + { + "shortName": "MutateAdGroupBidModifiers", + "fullName": "google.ads.googleads.v16.services.AdGroupBidModifierService.MutateAdGroupBidModifiers", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupBidModifiers:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupCriterionCustomizerService", + "fullName": "google.ads.googleads.v16.services.AdGroupCriterionCustomizerService", + "methods": [ + { + "shortName": "MutateAdGroupCriterionCustomizers", + "fullName": "google.ads.googleads.v16.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupCriterionLabelService", + "fullName": "google.ads.googleads.v16.services.AdGroupCriterionLabelService", + "methods": [ + { + "shortName": "MutateAdGroupCriterionLabels", + "fullName": "google.ads.googleads.v16.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupCriterionLabels:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupCriterionService", + "fullName": "google.ads.googleads.v16.services.AdGroupCriterionService", + "methods": [ + { + "shortName": "MutateAdGroupCriteria", + "fullName": "google.ads.googleads.v16.services.AdGroupCriterionService.MutateAdGroupCriteria", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupCriteria:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupCustomizerService", + "fullName": "google.ads.googleads.v16.services.AdGroupCustomizerService", + "methods": [ + { + "shortName": "MutateAdGroupCustomizers", + "fullName": "google.ads.googleads.v16.services.AdGroupCustomizerService.MutateAdGroupCustomizers", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupCustomizers:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupExtensionSettingService", + "fullName": "google.ads.googleads.v16.services.AdGroupExtensionSettingService", + "methods": [ + { + "shortName": "MutateAdGroupExtensionSettings", + "fullName": "google.ads.googleads.v16.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupExtensionSettings:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupFeedService", + "fullName": "google.ads.googleads.v16.services.AdGroupFeedService", + "methods": [ + { + "shortName": "MutateAdGroupFeeds", + "fullName": "google.ads.googleads.v16.services.AdGroupFeedService.MutateAdGroupFeeds", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupFeeds:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupLabelService", + "fullName": "google.ads.googleads.v16.services.AdGroupLabelService", + "methods": [ + { + "shortName": "MutateAdGroupLabels", + "fullName": "google.ads.googleads.v16.services.AdGroupLabelService.MutateAdGroupLabels", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroupLabels:mutate" + } + ] + } + ] + }, + { + "shortName": "AdGroupService", + "fullName": "google.ads.googleads.v16.services.AdGroupService", + "methods": [ + { + "shortName": "MutateAdGroups", + "fullName": "google.ads.googleads.v16.services.AdGroupService.MutateAdGroups", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adGroups:mutate" + } + ] + } + ] + }, + { + "shortName": "AdParameterService", + "fullName": "google.ads.googleads.v16.services.AdParameterService", + "methods": [ + { + "shortName": "MutateAdParameters", + "fullName": "google.ads.googleads.v16.services.AdParameterService.MutateAdParameters", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/adParameters:mutate" + } + ] + } + ] + }, + { + "shortName": "AdService", + "fullName": "google.ads.googleads.v16.services.AdService", + "methods": [ + { + "shortName": "GetAd", + "fullName": "google.ads.googleads.v16.services.AdService.GetAd", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/{resource_name=customers/*/ads/*}" + } + ] + }, + { + "shortName": "MutateAds", + "fullName": "google.ads.googleads.v16.services.AdService.MutateAds", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/ads:mutate" + } + ] + } + ] + }, + { + "shortName": "AssetGroupAssetService", + "fullName": "google.ads.googleads.v16.services.AssetGroupAssetService", + "methods": [ + { + "shortName": "MutateAssetGroupAssets", + "fullName": "google.ads.googleads.v16.services.AssetGroupAssetService.MutateAssetGroupAssets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/assetGroupAssets:mutate" + } + ] + } + ] + }, + { + "shortName": "AssetGroupListingGroupFilterService", + "fullName": "google.ads.googleads.v16.services.AssetGroupListingGroupFilterService", + "methods": [ + { + "shortName": "MutateAssetGroupListingGroupFilters", + "fullName": "google.ads.googleads.v16.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" + } + ] + } + ] + }, + { + "shortName": "AssetGroupService", + "fullName": "google.ads.googleads.v16.services.AssetGroupService", + "methods": [ + { + "shortName": "MutateAssetGroups", + "fullName": "google.ads.googleads.v16.services.AssetGroupService.MutateAssetGroups", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/assetGroups:mutate" + } + ] + } + ] + }, + { + "shortName": "AssetGroupSignalService", + "fullName": "google.ads.googleads.v16.services.AssetGroupSignalService", + "methods": [ + { + "shortName": "MutateAssetGroupSignals", + "fullName": "google.ads.googleads.v16.services.AssetGroupSignalService.MutateAssetGroupSignals", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/assetGroupSignals:mutate" + } + ] + } + ] + }, + { + "shortName": "AssetService", + "fullName": "google.ads.googleads.v16.services.AssetService", + "methods": [ + { + "shortName": "MutateAssets", + "fullName": "google.ads.googleads.v16.services.AssetService.MutateAssets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/assets:mutate" + } + ] + } + ] + }, + { + "shortName": "AssetSetAssetService", + "fullName": "google.ads.googleads.v16.services.AssetSetAssetService", + "methods": [ + { + "shortName": "MutateAssetSetAssets", + "fullName": "google.ads.googleads.v16.services.AssetSetAssetService.MutateAssetSetAssets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/assetSetAssets:mutate" + } + ] + } + ] + }, + { + "shortName": "AssetSetService", + "fullName": "google.ads.googleads.v16.services.AssetSetService", + "methods": [ + { + "shortName": "MutateAssetSets", + "fullName": "google.ads.googleads.v16.services.AssetSetService.MutateAssetSets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/assetSets:mutate" + } + ] + } + ] + }, + { + "shortName": "AudienceInsightsService", + "fullName": "google.ads.googleads.v16.services.AudienceInsightsService", + "methods": [ + { + "shortName": "GenerateAudienceCompositionInsights", + "fullName": "google.ads.googleads.v16.services.AudienceInsightsService.GenerateAudienceCompositionInsights", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:generateAudienceCompositionInsights" + } + ] + }, + { + "shortName": "GenerateInsightsFinderReport", + "fullName": "google.ads.googleads.v16.services.AudienceInsightsService.GenerateInsightsFinderReport", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:generateInsightsFinderReport" + } + ] + }, + { + "shortName": "GenerateSuggestedTargetingInsights", + "fullName": "google.ads.googleads.v16.services.AudienceInsightsService.GenerateSuggestedTargetingInsights", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:generateSuggestedTargetingInsights" + } + ] + }, + { + "shortName": "ListAudienceInsightsAttributes", + "fullName": "google.ads.googleads.v16.services.AudienceInsightsService.ListAudienceInsightsAttributes", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:searchAudienceInsightsAttributes" + } + ] + }, + { + "shortName": "ListInsightsEligibleDates", + "fullName": "google.ads.googleads.v16.services.AudienceInsightsService.ListInsightsEligibleDates", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/audienceInsights:listInsightsEligibleDates" + } + ] + } + ] + }, + { + "shortName": "AudienceService", + "fullName": "google.ads.googleads.v16.services.AudienceService", + "methods": [ + { + "shortName": "MutateAudiences", + "fullName": "google.ads.googleads.v16.services.AudienceService.MutateAudiences", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/audiences:mutate" + } + ] + } + ] + }, + { + "shortName": "BatchJobService", + "fullName": "google.ads.googleads.v16.services.BatchJobService", + "methods": [ + { + "shortName": "AddBatchJobOperations", + "fullName": "google.ads.googleads.v16.services.BatchJobService.AddBatchJobOperations", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{resource_name=customers/*/batchJobs/*}:addOperations" + } + ] + }, + { + "shortName": "ListBatchJobResults", + "fullName": "google.ads.googleads.v16.services.BatchJobService.ListBatchJobResults", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/{resource_name=customers/*/batchJobs/*}:listResults" + } + ] + }, + { + "shortName": "MutateBatchJob", + "fullName": "google.ads.googleads.v16.services.BatchJobService.MutateBatchJob", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/batchJobs:mutate" + } + ] + }, + { + "shortName": "RunBatchJob", + "fullName": "google.ads.googleads.v16.services.BatchJobService.RunBatchJob", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{resource_name=customers/*/batchJobs/*}:run" + } + ] + } + ] + }, + { + "shortName": "BiddingDataExclusionService", + "fullName": "google.ads.googleads.v16.services.BiddingDataExclusionService", + "methods": [ + { + "shortName": "MutateBiddingDataExclusions", + "fullName": "google.ads.googleads.v16.services.BiddingDataExclusionService.MutateBiddingDataExclusions", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/biddingDataExclusions:mutate" + } + ] + } + ] + }, + { + "shortName": "BiddingSeasonalityAdjustmentService", + "fullName": "google.ads.googleads.v16.services.BiddingSeasonalityAdjustmentService", + "methods": [ + { + "shortName": "MutateBiddingSeasonalityAdjustments", + "fullName": "google.ads.googleads.v16.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" + } + ] + } + ] + }, + { + "shortName": "BiddingStrategyService", + "fullName": "google.ads.googleads.v16.services.BiddingStrategyService", + "methods": [ + { + "shortName": "MutateBiddingStrategies", + "fullName": "google.ads.googleads.v16.services.BiddingStrategyService.MutateBiddingStrategies", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/biddingStrategies:mutate" + } + ] + } + ] + }, + { + "shortName": "BillingSetupService", + "fullName": "google.ads.googleads.v16.services.BillingSetupService", + "methods": [ + { + "shortName": "MutateBillingSetup", + "fullName": "google.ads.googleads.v16.services.BillingSetupService.MutateBillingSetup", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/billingSetups:mutate" + } + ] + } + ] + }, + { + "shortName": "BrandSuggestionService", + "fullName": "google.ads.googleads.v16.services.BrandSuggestionService", + "methods": [ + { + "shortName": "SuggestBrands", + "fullName": "google.ads.googleads.v16.services.BrandSuggestionService.SuggestBrands", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:suggestBrands" + } + ] + } + ] + }, + { + "shortName": "CampaignAssetService", + "fullName": "google.ads.googleads.v16.services.CampaignAssetService", + "methods": [ + { + "shortName": "MutateCampaignAssets", + "fullName": "google.ads.googleads.v16.services.CampaignAssetService.MutateCampaignAssets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignAssets:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignAssetSetService", + "fullName": "google.ads.googleads.v16.services.CampaignAssetSetService", + "methods": [ + { + "shortName": "MutateCampaignAssetSets", + "fullName": "google.ads.googleads.v16.services.CampaignAssetSetService.MutateCampaignAssetSets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignAssetSets:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignBidModifierService", + "fullName": "google.ads.googleads.v16.services.CampaignBidModifierService", + "methods": [ + { + "shortName": "MutateCampaignBidModifiers", + "fullName": "google.ads.googleads.v16.services.CampaignBidModifierService.MutateCampaignBidModifiers", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignBidModifiers:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignBudgetService", + "fullName": "google.ads.googleads.v16.services.CampaignBudgetService", + "methods": [ + { + "shortName": "MutateCampaignBudgets", + "fullName": "google.ads.googleads.v16.services.CampaignBudgetService.MutateCampaignBudgets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignBudgets:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignConversionGoalService", + "fullName": "google.ads.googleads.v16.services.CampaignConversionGoalService", + "methods": [ + { + "shortName": "MutateCampaignConversionGoals", + "fullName": "google.ads.googleads.v16.services.CampaignConversionGoalService.MutateCampaignConversionGoals", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignConversionGoals:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignCriterionService", + "fullName": "google.ads.googleads.v16.services.CampaignCriterionService", + "methods": [ + { + "shortName": "MutateCampaignCriteria", + "fullName": "google.ads.googleads.v16.services.CampaignCriterionService.MutateCampaignCriteria", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignCriteria:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignCustomizerService", + "fullName": "google.ads.googleads.v16.services.CampaignCustomizerService", + "methods": [ + { + "shortName": "MutateCampaignCustomizers", + "fullName": "google.ads.googleads.v16.services.CampaignCustomizerService.MutateCampaignCustomizers", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignCustomizers:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignDraftService", + "fullName": "google.ads.googleads.v16.services.CampaignDraftService", + "methods": [ + { + "shortName": "ListCampaignDraftAsyncErrors", + "fullName": "google.ads.googleads.v16.services.CampaignDraftService.ListCampaignDraftAsyncErrors", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" + } + ] + }, + { + "shortName": "MutateCampaignDrafts", + "fullName": "google.ads.googleads.v16.services.CampaignDraftService.MutateCampaignDrafts", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignDrafts:mutate" + } + ] + }, + { + "shortName": "PromoteCampaignDraft", + "fullName": "google.ads.googleads.v16.services.CampaignDraftService.PromoteCampaignDraft", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{campaign_draft=customers/*/campaignDrafts/*}:promote" + } + ] + } + ] + }, + { + "shortName": "CampaignExtensionSettingService", + "fullName": "google.ads.googleads.v16.services.CampaignExtensionSettingService", + "methods": [ + { + "shortName": "MutateCampaignExtensionSettings", + "fullName": "google.ads.googleads.v16.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignExtensionSettings:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignFeedService", + "fullName": "google.ads.googleads.v16.services.CampaignFeedService", + "methods": [ + { + "shortName": "MutateCampaignFeeds", + "fullName": "google.ads.googleads.v16.services.CampaignFeedService.MutateCampaignFeeds", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignFeeds:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignGroupService", + "fullName": "google.ads.googleads.v16.services.CampaignGroupService", + "methods": [ + { + "shortName": "MutateCampaignGroups", + "fullName": "google.ads.googleads.v16.services.CampaignGroupService.MutateCampaignGroups", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignGroups:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignLabelService", + "fullName": "google.ads.googleads.v16.services.CampaignLabelService", + "methods": [ + { + "shortName": "MutateCampaignLabels", + "fullName": "google.ads.googleads.v16.services.CampaignLabelService.MutateCampaignLabels", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignLabels:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignLifecycleGoalService", + "fullName": "google.ads.googleads.v16.services.CampaignLifecycleGoalService", + "methods": [ + { + "shortName": "ConfigureCampaignLifecycleGoals", + "fullName": "google.ads.googleads.v16.services.CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignLifecycleGoal:configureCampaignLifecycleGoals" + } + ] + } + ] + }, + { + "shortName": "CampaignService", + "fullName": "google.ads.googleads.v16.services.CampaignService", + "methods": [ + { + "shortName": "MutateCampaigns", + "fullName": "google.ads.googleads.v16.services.CampaignService.MutateCampaigns", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaigns:mutate" + } + ] + } + ] + }, + { + "shortName": "CampaignSharedSetService", + "fullName": "google.ads.googleads.v16.services.CampaignSharedSetService", + "methods": [ + { + "shortName": "MutateCampaignSharedSets", + "fullName": "google.ads.googleads.v16.services.CampaignSharedSetService.MutateCampaignSharedSets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/campaignSharedSets:mutate" + } + ] + } + ] + }, + { + "shortName": "ConversionActionService", + "fullName": "google.ads.googleads.v16.services.ConversionActionService", + "methods": [ + { + "shortName": "MutateConversionActions", + "fullName": "google.ads.googleads.v16.services.ConversionActionService.MutateConversionActions", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/conversionActions:mutate" + } + ] + } + ] + }, + { + "shortName": "ConversionAdjustmentUploadService", + "fullName": "google.ads.googleads.v16.services.ConversionAdjustmentUploadService", + "methods": [ + { + "shortName": "UploadConversionAdjustments", + "fullName": "google.ads.googleads.v16.services.ConversionAdjustmentUploadService.UploadConversionAdjustments", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:uploadConversionAdjustments" + } + ] + } + ] + }, + { + "shortName": "ConversionCustomVariableService", + "fullName": "google.ads.googleads.v16.services.ConversionCustomVariableService", + "methods": [ + { + "shortName": "MutateConversionCustomVariables", + "fullName": "google.ads.googleads.v16.services.ConversionCustomVariableService.MutateConversionCustomVariables", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/conversionCustomVariables:mutate" + } + ] + } + ] + }, + { + "shortName": "ConversionGoalCampaignConfigService", + "fullName": "google.ads.googleads.v16.services.ConversionGoalCampaignConfigService", + "methods": [ + { + "shortName": "MutateConversionGoalCampaignConfigs", + "fullName": "google.ads.googleads.v16.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" + } + ] + } + ] + }, + { + "shortName": "ConversionUploadService", + "fullName": "google.ads.googleads.v16.services.ConversionUploadService", + "methods": [ + { + "shortName": "UploadCallConversions", + "fullName": "google.ads.googleads.v16.services.ConversionUploadService.UploadCallConversions", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:uploadCallConversions" + } + ] + }, + { + "shortName": "UploadClickConversions", + "fullName": "google.ads.googleads.v16.services.ConversionUploadService.UploadClickConversions", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:uploadClickConversions" + } + ] + } + ] + }, + { + "shortName": "ConversionValueRuleService", + "fullName": "google.ads.googleads.v16.services.ConversionValueRuleService", + "methods": [ + { + "shortName": "MutateConversionValueRules", + "fullName": "google.ads.googleads.v16.services.ConversionValueRuleService.MutateConversionValueRules", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/conversionValueRules:mutate" + } + ] + } + ] + }, + { + "shortName": "ConversionValueRuleSetService", + "fullName": "google.ads.googleads.v16.services.ConversionValueRuleSetService", + "methods": [ + { + "shortName": "MutateConversionValueRuleSets", + "fullName": "google.ads.googleads.v16.services.ConversionValueRuleSetService.MutateConversionValueRuleSets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/conversionValueRuleSets:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomAudienceService", + "fullName": "google.ads.googleads.v16.services.CustomAudienceService", + "methods": [ + { + "shortName": "MutateCustomAudiences", + "fullName": "google.ads.googleads.v16.services.CustomAudienceService.MutateCustomAudiences", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customAudiences:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomConversionGoalService", + "fullName": "google.ads.googleads.v16.services.CustomConversionGoalService", + "methods": [ + { + "shortName": "MutateCustomConversionGoals", + "fullName": "google.ads.googleads.v16.services.CustomConversionGoalService.MutateCustomConversionGoals", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customConversionGoals:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomInterestService", + "fullName": "google.ads.googleads.v16.services.CustomInterestService", + "methods": [ + { + "shortName": "MutateCustomInterests", + "fullName": "google.ads.googleads.v16.services.CustomInterestService.MutateCustomInterests", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customInterests:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerAssetService", + "fullName": "google.ads.googleads.v16.services.CustomerAssetService", + "methods": [ + { + "shortName": "MutateCustomerAssets", + "fullName": "google.ads.googleads.v16.services.CustomerAssetService.MutateCustomerAssets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerAssets:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerAssetSetService", + "fullName": "google.ads.googleads.v16.services.CustomerAssetSetService", + "methods": [ + { + "shortName": "MutateCustomerAssetSets", + "fullName": "google.ads.googleads.v16.services.CustomerAssetSetService.MutateCustomerAssetSets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerAssetSets:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerClientLinkService", + "fullName": "google.ads.googleads.v16.services.CustomerClientLinkService", + "methods": [ + { + "shortName": "MutateCustomerClientLink", + "fullName": "google.ads.googleads.v16.services.CustomerClientLinkService.MutateCustomerClientLink", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerClientLinks:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerConversionGoalService", + "fullName": "google.ads.googleads.v16.services.CustomerConversionGoalService", + "methods": [ + { + "shortName": "MutateCustomerConversionGoals", + "fullName": "google.ads.googleads.v16.services.CustomerConversionGoalService.MutateCustomerConversionGoals", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerConversionGoals:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerCustomizerService", + "fullName": "google.ads.googleads.v16.services.CustomerCustomizerService", + "methods": [ + { + "shortName": "MutateCustomerCustomizers", + "fullName": "google.ads.googleads.v16.services.CustomerCustomizerService.MutateCustomerCustomizers", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/CustomerCustomizers:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerExtensionSettingService", + "fullName": "google.ads.googleads.v16.services.CustomerExtensionSettingService", + "methods": [ + { + "shortName": "MutateCustomerExtensionSettings", + "fullName": "google.ads.googleads.v16.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerExtensionSettings:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerFeedService", + "fullName": "google.ads.googleads.v16.services.CustomerFeedService", + "methods": [ + { + "shortName": "MutateCustomerFeeds", + "fullName": "google.ads.googleads.v16.services.CustomerFeedService.MutateCustomerFeeds", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerFeeds:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerLabelService", + "fullName": "google.ads.googleads.v16.services.CustomerLabelService", + "methods": [ + { + "shortName": "MutateCustomerLabels", + "fullName": "google.ads.googleads.v16.services.CustomerLabelService.MutateCustomerLabels", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerLabels:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerLifecycleGoalService", + "fullName": "google.ads.googleads.v16.services.CustomerLifecycleGoalService", + "methods": [ + { + "shortName": "ConfigureCustomerLifecycleGoals", + "fullName": "google.ads.googleads.v16.services.CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerLifecycleGoal:configureCustomerLifecycleGoals" + } + ] + } + ] + }, + { + "shortName": "CustomerManagerLinkService", + "fullName": "google.ads.googleads.v16.services.CustomerManagerLinkService", + "methods": [ + { + "shortName": "MoveManagerLink", + "fullName": "google.ads.googleads.v16.services.CustomerManagerLinkService.MoveManagerLink", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" + } + ] + }, + { + "shortName": "MutateCustomerManagerLink", + "fullName": "google.ads.googleads.v16.services.CustomerManagerLinkService.MutateCustomerManagerLink", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerManagerLinks:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerNegativeCriterionService", + "fullName": "google.ads.googleads.v16.services.CustomerNegativeCriterionService", + "methods": [ + { + "shortName": "MutateCustomerNegativeCriteria", + "fullName": "google.ads.googleads.v16.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerNegativeCriteria:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerService", + "fullName": "google.ads.googleads.v16.services.CustomerService", + "methods": [ + { + "shortName": "CreateCustomerClient", + "fullName": "google.ads.googleads.v16.services.CustomerService.CreateCustomerClient", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:createCustomerClient" + } + ] + }, + { + "shortName": "ListAccessibleCustomers", + "fullName": "google.ads.googleads.v16.services.CustomerService.ListAccessibleCustomers", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/customers:listAccessibleCustomers" + } + ] + }, + { + "shortName": "MutateCustomer", + "fullName": "google.ads.googleads.v16.services.CustomerService.MutateCustomer", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerSkAdNetworkConversionValueSchemaService", + "fullName": "google.ads.googleads.v16.services.CustomerSkAdNetworkConversionValueSchemaService", + "methods": [ + { + "shortName": "MutateCustomerSkAdNetworkConversionValueSchema", + "fullName": "google.ads.googleads.v16.services.CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerSkAdNetworkConversionValueSchemas:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerUserAccessInvitationService", + "fullName": "google.ads.googleads.v16.services.CustomerUserAccessInvitationService", + "methods": [ + { + "shortName": "MutateCustomerUserAccessInvitation", + "fullName": "google.ads.googleads.v16.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerUserAccessInvitations:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomerUserAccessService", + "fullName": "google.ads.googleads.v16.services.CustomerUserAccessService", + "methods": [ + { + "shortName": "MutateCustomerUserAccess", + "fullName": "google.ads.googleads.v16.services.CustomerUserAccessService.MutateCustomerUserAccess", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customerUserAccesses:mutate" + } + ] + } + ] + }, + { + "shortName": "CustomizerAttributeService", + "fullName": "google.ads.googleads.v16.services.CustomizerAttributeService", + "methods": [ + { + "shortName": "MutateCustomizerAttributes", + "fullName": "google.ads.googleads.v16.services.CustomizerAttributeService.MutateCustomizerAttributes", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/customizerAttributes:mutate" + } + ] + } + ] + }, + { + "shortName": "ExperimentArmService", + "fullName": "google.ads.googleads.v16.services.ExperimentArmService", + "methods": [ + { + "shortName": "MutateExperimentArms", + "fullName": "google.ads.googleads.v16.services.ExperimentArmService.MutateExperimentArms", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/experimentArms:mutate" + } + ] + } + ] + }, + { + "shortName": "ExperimentService", + "fullName": "google.ads.googleads.v16.services.ExperimentService", + "methods": [ + { + "shortName": "EndExperiment", + "fullName": "google.ads.googleads.v16.services.ExperimentService.EndExperiment", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{experiment=customers/*/experiments/*}:endExperiment" + } + ] + }, + { + "shortName": "GraduateExperiment", + "fullName": "google.ads.googleads.v16.services.ExperimentService.GraduateExperiment", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{experiment=customers/*/experiments/*}:graduateExperiment" + } + ] + }, + { + "shortName": "ListExperimentAsyncErrors", + "fullName": "google.ads.googleads.v16.services.ExperimentService.ListExperimentAsyncErrors", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/{resource_name=customers/*/experiments/*}:listExperimentAsyncErrors" + } + ] + }, + { + "shortName": "MutateExperiments", + "fullName": "google.ads.googleads.v16.services.ExperimentService.MutateExperiments", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/experiments:mutate" + } + ] + }, + { + "shortName": "PromoteExperiment", + "fullName": "google.ads.googleads.v16.services.ExperimentService.PromoteExperiment", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{resource_name=customers/*/experiments/*}:promoteExperiment" + } + ] + }, + { + "shortName": "ScheduleExperiment", + "fullName": "google.ads.googleads.v16.services.ExperimentService.ScheduleExperiment", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{resource_name=customers/*/experiments/*}:scheduleExperiment" + } + ] + } + ] + }, + { + "shortName": "ExtensionFeedItemService", + "fullName": "google.ads.googleads.v16.services.ExtensionFeedItemService", + "methods": [ + { + "shortName": "MutateExtensionFeedItems", + "fullName": "google.ads.googleads.v16.services.ExtensionFeedItemService.MutateExtensionFeedItems", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/extensionFeedItems:mutate" + } + ] + } + ] + }, + { + "shortName": "FeedItemService", + "fullName": "google.ads.googleads.v16.services.FeedItemService", + "methods": [ + { + "shortName": "MutateFeedItems", + "fullName": "google.ads.googleads.v16.services.FeedItemService.MutateFeedItems", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/feedItems:mutate" + } + ] + } + ] + }, + { + "shortName": "FeedItemSetLinkService", + "fullName": "google.ads.googleads.v16.services.FeedItemSetLinkService", + "methods": [ + { + "shortName": "MutateFeedItemSetLinks", + "fullName": "google.ads.googleads.v16.services.FeedItemSetLinkService.MutateFeedItemSetLinks", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/feedItemSetLinks:mutate" + } + ] + } + ] + }, + { + "shortName": "FeedItemSetService", + "fullName": "google.ads.googleads.v16.services.FeedItemSetService", + "methods": [ + { + "shortName": "MutateFeedItemSets", + "fullName": "google.ads.googleads.v16.services.FeedItemSetService.MutateFeedItemSets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/feedItemSets:mutate" + } + ] + } + ] + }, + { + "shortName": "FeedItemTargetService", + "fullName": "google.ads.googleads.v16.services.FeedItemTargetService", + "methods": [ + { + "shortName": "MutateFeedItemTargets", + "fullName": "google.ads.googleads.v16.services.FeedItemTargetService.MutateFeedItemTargets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/feedItemTargets:mutate" + } + ] + } + ] + }, + { + "shortName": "FeedMappingService", + "fullName": "google.ads.googleads.v16.services.FeedMappingService", + "methods": [ + { + "shortName": "MutateFeedMappings", + "fullName": "google.ads.googleads.v16.services.FeedMappingService.MutateFeedMappings", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/feedMappings:mutate" + } + ] + } + ] + }, + { + "shortName": "FeedService", + "fullName": "google.ads.googleads.v16.services.FeedService", + "methods": [ + { + "shortName": "MutateFeeds", + "fullName": "google.ads.googleads.v16.services.FeedService.MutateFeeds", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/feeds:mutate" + } + ] + } + ] + }, + { + "shortName": "GeoTargetConstantService", + "fullName": "google.ads.googleads.v16.services.GeoTargetConstantService", + "methods": [ + { + "shortName": "SuggestGeoTargetConstants", + "fullName": "google.ads.googleads.v16.services.GeoTargetConstantService.SuggestGeoTargetConstants", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/geoTargetConstants:suggest" + } + ] + } + ] + }, + { + "shortName": "GoogleAdsFieldService", + "fullName": "google.ads.googleads.v16.services.GoogleAdsFieldService", + "methods": [ + { + "shortName": "GetGoogleAdsField", + "fullName": "google.ads.googleads.v16.services.GoogleAdsFieldService.GetGoogleAdsField", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/{resource_name=googleAdsFields/*}" + } + ] + }, + { + "shortName": "SearchGoogleAdsFields", + "fullName": "google.ads.googleads.v16.services.GoogleAdsFieldService.SearchGoogleAdsFields", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/googleAdsFields:search" + } + ] + } + ] + }, + { + "shortName": "GoogleAdsService", + "fullName": "google.ads.googleads.v16.services.GoogleAdsService", + "methods": [ + { + "shortName": "Mutate", + "fullName": "google.ads.googleads.v16.services.GoogleAdsService.Mutate", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/googleAds:mutate" + } + ] + }, + { + "shortName": "Search", + "fullName": "google.ads.googleads.v16.services.GoogleAdsService.Search", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/googleAds:search" + } + ] + }, + { + "shortName": "SearchStream", + "fullName": "google.ads.googleads.v16.services.GoogleAdsService.SearchStream", + "mode": "SERVER_STREAMING", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/googleAds:searchStream" + } + ] + } + ] + }, + { + "shortName": "IdentityVerificationService", + "fullName": "google.ads.googleads.v16.services.IdentityVerificationService", + "methods": [ + { + "shortName": "GetIdentityVerification", + "fullName": "google.ads.googleads.v16.services.IdentityVerificationService.GetIdentityVerification", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/customers/{customer_id=*}/getIdentityVerification" + } + ] + }, + { + "shortName": "StartIdentityVerification", + "fullName": "google.ads.googleads.v16.services.IdentityVerificationService.StartIdentityVerification", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:startIdentityVerification" + } + ] + } + ] + }, + { + "shortName": "InvoiceService", + "fullName": "google.ads.googleads.v16.services.InvoiceService", + "methods": [ + { + "shortName": "ListInvoices", + "fullName": "google.ads.googleads.v16.services.InvoiceService.ListInvoices", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/customers/{customer_id=*}/invoices" + } + ] + } + ] + }, + { + "shortName": "KeywordPlanAdGroupKeywordService", + "fullName": "google.ads.googleads.v16.services.KeywordPlanAdGroupKeywordService", + "methods": [ + { + "shortName": "MutateKeywordPlanAdGroupKeywords", + "fullName": "google.ads.googleads.v16.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" + } + ] + } + ] + }, + { + "shortName": "KeywordPlanAdGroupService", + "fullName": "google.ads.googleads.v16.services.KeywordPlanAdGroupService", + "methods": [ + { + "shortName": "MutateKeywordPlanAdGroups", + "fullName": "google.ads.googleads.v16.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/keywordPlanAdGroups:mutate" + } + ] + } + ] + }, + { + "shortName": "KeywordPlanCampaignKeywordService", + "fullName": "google.ads.googleads.v16.services.KeywordPlanCampaignKeywordService", + "methods": [ + { + "shortName": "MutateKeywordPlanCampaignKeywords", + "fullName": "google.ads.googleads.v16.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" + } + ] + } + ] + }, + { + "shortName": "KeywordPlanCampaignService", + "fullName": "google.ads.googleads.v16.services.KeywordPlanCampaignService", + "methods": [ + { + "shortName": "MutateKeywordPlanCampaigns", + "fullName": "google.ads.googleads.v16.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/keywordPlanCampaigns:mutate" + } + ] + } + ] + }, + { + "shortName": "KeywordPlanIdeaService", + "fullName": "google.ads.googleads.v16.services.KeywordPlanIdeaService", + "methods": [ + { + "shortName": "GenerateAdGroupThemes", + "fullName": "google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateAdGroupThemes", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:generateAdGroupThemes" + } + ] + }, + { + "shortName": "GenerateKeywordForecastMetrics", + "fullName": "google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateKeywordForecastMetrics", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:generateKeywordForecastMetrics" + } + ] + }, + { + "shortName": "GenerateKeywordHistoricalMetrics", + "fullName": "google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:generateKeywordHistoricalMetrics" + } + ] + }, + { + "shortName": "GenerateKeywordIdeas", + "fullName": "google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateKeywordIdeas", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:generateKeywordIdeas" + } + ] + } + ] + }, + { + "shortName": "KeywordPlanService", + "fullName": "google.ads.googleads.v16.services.KeywordPlanService", + "methods": [ + { + "shortName": "MutateKeywordPlans", + "fullName": "google.ads.googleads.v16.services.KeywordPlanService.MutateKeywordPlans", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/keywordPlans:mutate" + } + ] + } + ] + }, + { + "shortName": "KeywordThemeConstantService", + "fullName": "google.ads.googleads.v16.services.KeywordThemeConstantService", + "methods": [ + { + "shortName": "SuggestKeywordThemeConstants", + "fullName": "google.ads.googleads.v16.services.KeywordThemeConstantService.SuggestKeywordThemeConstants", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/keywordThemeConstants:suggest" + } + ] + } + ] + }, + { + "shortName": "LabelService", + "fullName": "google.ads.googleads.v16.services.LabelService", + "methods": [ + { + "shortName": "MutateLabels", + "fullName": "google.ads.googleads.v16.services.LabelService.MutateLabels", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/labels:mutate" + } + ] + } + ] + }, + { + "shortName": "OfflineUserDataJobService", + "fullName": "google.ads.googleads.v16.services.OfflineUserDataJobService", + "methods": [ + { + "shortName": "AddOfflineUserDataJobOperations", + "fullName": "google.ads.googleads.v16.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" + } + ] + }, + { + "shortName": "CreateOfflineUserDataJob", + "fullName": "google.ads.googleads.v16.services.OfflineUserDataJobService.CreateOfflineUserDataJob", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/offlineUserDataJobs:create" + } + ] + }, + { + "shortName": "RunOfflineUserDataJob", + "fullName": "google.ads.googleads.v16.services.OfflineUserDataJobService.RunOfflineUserDataJob", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{resource_name=customers/*/offlineUserDataJobs/*}:run" + } + ] + } + ] + }, + { + "shortName": "PaymentsAccountService", + "fullName": "google.ads.googleads.v16.services.PaymentsAccountService", + "methods": [ + { + "shortName": "ListPaymentsAccounts", + "fullName": "google.ads.googleads.v16.services.PaymentsAccountService.ListPaymentsAccounts", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/customers/{customer_id=*}/paymentsAccounts" + } + ] + } + ] + }, + { + "shortName": "ProductLinkInvitationService", + "fullName": "google.ads.googleads.v16.services.ProductLinkInvitationService", + "methods": [ + { + "shortName": "CreateProductLinkInvitation", + "fullName": "google.ads.googleads.v16.services.ProductLinkInvitationService.CreateProductLinkInvitation", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/productLinkInvitations:create" + } + ] + }, + { + "shortName": "RemoveProductLinkInvitation", + "fullName": "google.ads.googleads.v16.services.ProductLinkInvitationService.RemoveProductLinkInvitation", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/productLinkInvitations:remove" + } + ] + }, + { + "shortName": "UpdateProductLinkInvitation", + "fullName": "google.ads.googleads.v16.services.ProductLinkInvitationService.UpdateProductLinkInvitation", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/productLinkInvitations:update" + } + ] + } + ] + }, + { + "shortName": "ProductLinkService", + "fullName": "google.ads.googleads.v16.services.ProductLinkService", + "methods": [ + { + "shortName": "CreateProductLink", + "fullName": "google.ads.googleads.v16.services.ProductLinkService.CreateProductLink", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/productLinks:create" + } + ] + }, + { + "shortName": "RemoveProductLink", + "fullName": "google.ads.googleads.v16.services.ProductLinkService.RemoveProductLink", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/productLinks:remove" + } + ] + } + ] + }, + { + "shortName": "ReachPlanService", + "fullName": "google.ads.googleads.v16.services.ReachPlanService", + "methods": [ + { + "shortName": "GenerateReachForecast", + "fullName": "google.ads.googleads.v16.services.ReachPlanService.GenerateReachForecast", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:generateReachForecast" + } + ] + }, + { + "shortName": "ListPlannableLocations", + "fullName": "google.ads.googleads.v16.services.ReachPlanService.ListPlannableLocations", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16:listPlannableLocations" + } + ] + }, + { + "shortName": "ListPlannableProducts", + "fullName": "google.ads.googleads.v16.services.ReachPlanService.ListPlannableProducts", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16:listPlannableProducts" + } + ] + } + ] + }, + { + "shortName": "RecommendationService", + "fullName": "google.ads.googleads.v16.services.RecommendationService", + "methods": [ + { + "shortName": "ApplyRecommendation", + "fullName": "google.ads.googleads.v16.services.RecommendationService.ApplyRecommendation", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/recommendations:apply" + } + ] + }, + { + "shortName": "DismissRecommendation", + "fullName": "google.ads.googleads.v16.services.RecommendationService.DismissRecommendation", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/recommendations:dismiss" + } + ] + }, + { + "shortName": "GenerateRecommendations", + "fullName": "google.ads.googleads.v16.services.RecommendationService.GenerateRecommendations", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/recommendations:generate" + } + ] + } + ] + }, + { + "shortName": "RecommendationSubscriptionService", + "fullName": "google.ads.googleads.v16.services.RecommendationSubscriptionService", + "methods": [ + { + "shortName": "MutateRecommendationSubscription", + "fullName": "google.ads.googleads.v16.services.RecommendationSubscriptionService.MutateRecommendationSubscription", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/recommendationSubscriptions:mutateRecommendationSubscription" + } + ] + } + ] + }, + { + "shortName": "RemarketingActionService", + "fullName": "google.ads.googleads.v16.services.RemarketingActionService", + "methods": [ + { + "shortName": "MutateRemarketingActions", + "fullName": "google.ads.googleads.v16.services.RemarketingActionService.MutateRemarketingActions", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/remarketingActions:mutate" + } + ] + } + ] + }, + { + "shortName": "SharedCriterionService", + "fullName": "google.ads.googleads.v16.services.SharedCriterionService", + "methods": [ + { + "shortName": "MutateSharedCriteria", + "fullName": "google.ads.googleads.v16.services.SharedCriterionService.MutateSharedCriteria", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/sharedCriteria:mutate" + } + ] + } + ] + }, + { + "shortName": "SharedSetService", + "fullName": "google.ads.googleads.v16.services.SharedSetService", + "methods": [ + { + "shortName": "MutateSharedSets", + "fullName": "google.ads.googleads.v16.services.SharedSetService.MutateSharedSets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/sharedSets:mutate" + } + ] + } + ] + }, + { + "shortName": "SmartCampaignSettingService", + "fullName": "google.ads.googleads.v16.services.SmartCampaignSettingService", + "methods": [ + { + "shortName": "GetSmartCampaignStatus", + "fullName": "google.ads.googleads.v16.services.SmartCampaignSettingService.GetSmartCampaignStatus", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v16/{resource_name=customers/*/smartCampaignSettings/*}:getSmartCampaignStatus" + } + ] + }, + { + "shortName": "MutateSmartCampaignSettings", + "fullName": "google.ads.googleads.v16.services.SmartCampaignSettingService.MutateSmartCampaignSettings", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/smartCampaignSettings:mutate" + } + ] + } + ] + }, + { + "shortName": "SmartCampaignSuggestService", + "fullName": "google.ads.googleads.v16.services.SmartCampaignSuggestService", + "methods": [ + { + "shortName": "SuggestKeywordThemes", + "fullName": "google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestKeywordThemes", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:suggestKeywordThemes" + } + ] + }, + { + "shortName": "SuggestSmartCampaignAd", + "fullName": "google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestSmartCampaignAd", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:suggestSmartCampaignAd" + } + ] + }, + { + "shortName": "SuggestSmartCampaignBudgetOptions", + "fullName": "google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" + } + ] + } + ] + }, + { + "shortName": "ThirdPartyAppAnalyticsLinkService", + "fullName": "google.ads.googleads.v16.services.ThirdPartyAppAnalyticsLinkService", + "methods": [ + { + "shortName": "RegenerateShareableLinkId", + "fullName": "google.ads.googleads.v16.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" + } + ] + } + ] + }, + { + "shortName": "TravelAssetSuggestionService", + "fullName": "google.ads.googleads.v16.services.TravelAssetSuggestionService", + "methods": [ + { + "shortName": "SuggestTravelAssets", + "fullName": "google.ads.googleads.v16.services.TravelAssetSuggestionService.SuggestTravelAssets", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:suggestTravelAssets" + } + ] + } + ] + }, + { + "shortName": "UserDataService", + "fullName": "google.ads.googleads.v16.services.UserDataService", + "methods": [ + { + "shortName": "UploadUserData", + "fullName": "google.ads.googleads.v16.services.UserDataService.UploadUserData", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}:uploadUserData" + } + ] + } + ] + }, + { + "shortName": "UserListService", + "fullName": "google.ads.googleads.v16.services.UserListService", + "methods": [ + { + "shortName": "MutateUserLists", + "fullName": "google.ads.googleads.v16.services.UserListService.MutateUserLists", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v16/customers/{customer_id=*}/userLists:mutate" + } + ] + } + ] + } + ], + "configFile": "googleads_v16.yaml", + "serviceConfigApiNames": [ + "google.ads.googleads.v16.services.AccountBudgetProposalService", + "google.ads.googleads.v16.services.AccountLinkService", + "google.ads.googleads.v16.services.AdGroupAdLabelService", + "google.ads.googleads.v16.services.AdGroupAdService", + "google.ads.googleads.v16.services.AdGroupAssetService", + "google.ads.googleads.v16.services.AdGroupAssetSetService", + "google.ads.googleads.v16.services.AdGroupBidModifierService", + "google.ads.googleads.v16.services.AdGroupCriterionCustomizerService", + "google.ads.googleads.v16.services.AdGroupCriterionLabelService", + "google.ads.googleads.v16.services.AdGroupCriterionService", + "google.ads.googleads.v16.services.AdGroupCustomizerService", + "google.ads.googleads.v16.services.AdGroupExtensionSettingService", + "google.ads.googleads.v16.services.AdGroupFeedService", + "google.ads.googleads.v16.services.AdGroupLabelService", + "google.ads.googleads.v16.services.AdGroupService", + "google.ads.googleads.v16.services.AdParameterService", + "google.ads.googleads.v16.services.AdService", + "google.ads.googleads.v16.services.AssetGroupAssetService", + "google.ads.googleads.v16.services.AssetGroupListingGroupFilterService", + "google.ads.googleads.v16.services.AssetGroupService", + "google.ads.googleads.v16.services.AssetGroupSignalService", + "google.ads.googleads.v16.services.AssetService", + "google.ads.googleads.v16.services.AssetSetAssetService", + "google.ads.googleads.v16.services.AssetSetService", + "google.ads.googleads.v16.services.AudienceInsightsService", + "google.ads.googleads.v16.services.AudienceService", + "google.ads.googleads.v16.services.BatchJobService", + "google.ads.googleads.v16.services.BiddingDataExclusionService", + "google.ads.googleads.v16.services.BiddingSeasonalityAdjustmentService", + "google.ads.googleads.v16.services.BiddingStrategyService", + "google.ads.googleads.v16.services.BillingSetupService", + "google.ads.googleads.v16.services.BrandSuggestionService", + "google.ads.googleads.v16.services.CampaignAssetService", + "google.ads.googleads.v16.services.CampaignAssetSetService", + "google.ads.googleads.v16.services.CampaignBidModifierService", + "google.ads.googleads.v16.services.CampaignBudgetService", + "google.ads.googleads.v16.services.CampaignConversionGoalService", + "google.ads.googleads.v16.services.CampaignCriterionService", + "google.ads.googleads.v16.services.CampaignCustomizerService", + "google.ads.googleads.v16.services.CampaignDraftService", + "google.ads.googleads.v16.services.CampaignExtensionSettingService", + "google.ads.googleads.v16.services.CampaignFeedService", + "google.ads.googleads.v16.services.CampaignGroupService", + "google.ads.googleads.v16.services.CampaignLabelService", + "google.ads.googleads.v16.services.CampaignLifecycleGoalService", + "google.ads.googleads.v16.services.CampaignService", + "google.ads.googleads.v16.services.CampaignSharedSetService", + "google.ads.googleads.v16.services.ConversionActionService", + "google.ads.googleads.v16.services.ConversionAdjustmentUploadService", + "google.ads.googleads.v16.services.ConversionCustomVariableService", + "google.ads.googleads.v16.services.ConversionGoalCampaignConfigService", + "google.ads.googleads.v16.services.ConversionUploadService", + "google.ads.googleads.v16.services.ConversionValueRuleService", + "google.ads.googleads.v16.services.ConversionValueRuleSetService", + "google.ads.googleads.v16.services.CustomAudienceService", + "google.ads.googleads.v16.services.CustomConversionGoalService", + "google.ads.googleads.v16.services.CustomInterestService", + "google.ads.googleads.v16.services.CustomerAssetService", + "google.ads.googleads.v16.services.CustomerAssetSetService", + "google.ads.googleads.v16.services.CustomerClientLinkService", + "google.ads.googleads.v16.services.CustomerConversionGoalService", + "google.ads.googleads.v16.services.CustomerCustomizerService", + "google.ads.googleads.v16.services.CustomerExtensionSettingService", + "google.ads.googleads.v16.services.CustomerFeedService", + "google.ads.googleads.v16.services.CustomerLabelService", + "google.ads.googleads.v16.services.CustomerLifecycleGoalService", + "google.ads.googleads.v16.services.CustomerManagerLinkService", + "google.ads.googleads.v16.services.CustomerNegativeCriterionService", + "google.ads.googleads.v16.services.CustomerService", + "google.ads.googleads.v16.services.CustomerSkAdNetworkConversionValueSchemaService", + "google.ads.googleads.v16.services.CustomerUserAccessInvitationService", + "google.ads.googleads.v16.services.CustomerUserAccessService", + "google.ads.googleads.v16.services.CustomizerAttributeService", + "google.ads.googleads.v16.services.ExperimentArmService", + "google.ads.googleads.v16.services.ExperimentService", + "google.ads.googleads.v16.services.ExtensionFeedItemService", + "google.ads.googleads.v16.services.FeedItemService", + "google.ads.googleads.v16.services.FeedItemSetLinkService", + "google.ads.googleads.v16.services.FeedItemSetService", + "google.ads.googleads.v16.services.FeedItemTargetService", + "google.ads.googleads.v16.services.FeedMappingService", + "google.ads.googleads.v16.services.FeedService", + "google.ads.googleads.v16.services.GeoTargetConstantService", + "google.ads.googleads.v16.services.GoogleAdsFieldService", + "google.ads.googleads.v16.services.GoogleAdsService", + "google.ads.googleads.v16.services.IdentityVerificationService", + "google.ads.googleads.v16.services.InvoiceService", + "google.ads.googleads.v16.services.KeywordPlanAdGroupKeywordService", + "google.ads.googleads.v16.services.KeywordPlanAdGroupService", + "google.ads.googleads.v16.services.KeywordPlanCampaignKeywordService", + "google.ads.googleads.v16.services.KeywordPlanCampaignService", + "google.ads.googleads.v16.services.KeywordPlanIdeaService", + "google.ads.googleads.v16.services.KeywordPlanService", + "google.ads.googleads.v16.services.KeywordThemeConstantService", + "google.ads.googleads.v16.services.LabelService", + "google.ads.googleads.v16.services.OfflineUserDataJobService", + "google.ads.googleads.v16.services.PaymentsAccountService", + "google.ads.googleads.v16.services.ProductLinkInvitationService", + "google.ads.googleads.v16.services.ProductLinkService", + "google.ads.googleads.v16.services.ReachPlanService", + "google.ads.googleads.v16.services.RecommendationService", + "google.ads.googleads.v16.services.RecommendationSubscriptionService", + "google.ads.googleads.v16.services.RemarketingActionService", + "google.ads.googleads.v16.services.SharedCriterionService", + "google.ads.googleads.v16.services.SharedSetService", + "google.ads.googleads.v16.services.SmartCampaignSettingService", + "google.ads.googleads.v16.services.SmartCampaignSuggestService", + "google.ads.googleads.v16.services.ThirdPartyAppAnalyticsLinkService", + "google.ads.googleads.v16.services.TravelAssetSuggestionService", + "google.ads.googleads.v16.services.UserDataService", + "google.ads.googleads.v16.services.UserListService" + ], + "nameInServiceConfig": "googleads.googleapis.com" + }, { "id": "google.ads.searchads360.v0", "directory": "google/ads/searchads360/v0", @@ -11305,7 +13815,7 @@ }, "go_package": { "valueCounts": { - "google.golang.org/genproto/googleapis/apps/events/subscriptions/v1;subscriptions": 2 + "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb;subscriptionspb": 2 } }, "java_multiple_files": { @@ -12917,7 +15427,7 @@ "majorVersion": "v1", "hostName": "chat.googleapis.com", "title": "Google Chat API", - "description": "Enables apps to fetch information and perform actions in Google Chat. Authentication is a prerequisite for using the Google Chat REST API.", + "description": "The Google Chat API lets you build Chat apps to integrate your services with Google Chat and manage Chat resources such as spaces, members, and messages.", "importDirectories": [ "google/api", "google/apps/card/v1", @@ -12926,9 +15436,14 @@ "google/rpc" ], "options": { + "csharp_namespace": { + "valueCounts": { + "Google.Chat.V1": 17 + } + }, "go_package": { "valueCounts": { - "google.golang.org/genproto/googleapis/chat/v1;chat": 17 + "cloud.google.com/go/chat/apiv1/chatpb;chatpb": 17 } }, "java_multiple_files": { @@ -12940,6 +15455,16 @@ "valueCounts": { "com.google.chat.v1": 17 } + }, + "php_namespace": { + "valueCounts": { + "Google\\Chat\\V1": 17 + } + }, + "ruby_package": { + "valueCounts": { + "Google::Chat::V1": 17 + } } }, "services": [ @@ -21409,6 +23934,17 @@ } ] }, + { + "shortName": "ListDatabases", + "fullName": "google.cloud.alloydb.v1beta.AlloyDBAdmin.ListDatabases", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "GET", + "path": "/v1beta/{parent=projects/*/locations/*/clusters/*}/databases" + } + ] + }, { "shortName": "ListInstances", "fullName": "google.cloud.alloydb.v1beta.AlloyDBAdmin.ListInstances", @@ -24543,7 +27079,7 @@ "majorVersion": "v1", "hostName": "batch.googleapis.com", "title": "Batch API", - "description": "An API to manage the running of batch jobs on Google Cloud Platform.", + "description": "An API to manage the running of batch resources on Google Cloud Platform.", "importDirectories": [ "google/api", "google/cloud/batch/v1", @@ -24676,7 +27212,7 @@ "majorVersion": "v1", "hostName": "batch.googleapis.com", "title": "Batch API", - "description": "An API to manage the running of batch jobs on Google Cloud Platform.", + "description": "An API to manage the running of batch resources on Google Cloud Platform.", "importDirectories": [ "google/api", "google/cloud/batch/v1alpha", @@ -61590,142 +64126,6 @@ ], "nameInServiceConfig": "gkehub.googleapis.com" }, - { - "id": "google.cloud.gkehub.v1alpha2", - "directory": "google/cloud/gkehub/v1alpha2", - "version": "v1alpha2", - "majorVersion": "v1", - "hostName": "gkehub.googleapis.com", - "title": "GKE Hub API", - "description": "", - "importDirectories": [ - "google/api", - "google/longrunning", - "google/protobuf" - ], - "options": { - "csharp_namespace": { - "valueCounts": { - "Google.Cloud.GkeHub.V1Alpha2": 1 - } - }, - "go_package": { - "valueCounts": { - "cloud.google.com/go/gkehub/apiv1alpha2/gkehubpb;gkehubpb": 1 - } - }, - "java_multiple_files": { - "valueCounts": { - "true": 1 - } - }, - "java_package": { - "valueCounts": { - "com.google.cloud.gkehub.v1alpha2": 1 - } - }, - "php_namespace": { - "valueCounts": { - "Google\\Cloud\\GkeHub\\V1alpha2": 1 - } - }, - "ruby_package": { - "valueCounts": { - "Google::Cloud::GkeHub::V1alpha2": 1 - } - } - }, - "services": [ - { - "shortName": "GkeHub", - "fullName": "google.cloud.gkehub.v1alpha2.GkeHub", - "methods": [ - { - "shortName": "CreateMembership", - "fullName": "google.cloud.gkehub.v1alpha2.GkeHub.CreateMembership", - "mode": "UNARY", - "bindings": [ - { - "httpMethod": "POST", - "path": "/v1alpha2/{parent=projects/*/locations/*}/memberships" - } - ] - }, - { - "shortName": "DeleteMembership", - "fullName": "google.cloud.gkehub.v1alpha2.GkeHub.DeleteMembership", - "mode": "UNARY", - "bindings": [ - { - "httpMethod": "DELETE", - "path": "/v1alpha2/{name=projects/*/locations/*/memberships/*}" - } - ] - }, - { - "shortName": "GenerateConnectManifest", - "fullName": "google.cloud.gkehub.v1alpha2.GkeHub.GenerateConnectManifest", - "mode": "UNARY", - "bindings": [ - { - "httpMethod": "GET", - "path": "/v1alpha2/{name=projects/*/locations/*/memberships/*}:generateConnectManifest" - } - ] - }, - { - "shortName": "GetMembership", - "fullName": "google.cloud.gkehub.v1alpha2.GkeHub.GetMembership", - "mode": "UNARY", - "bindings": [ - { - "httpMethod": "GET", - "path": "/v1alpha2/{name=projects/*/locations/*/memberships/*}" - } - ] - }, - { - "shortName": "InitializeHub", - "fullName": "google.cloud.gkehub.v1alpha2.GkeHub.InitializeHub", - "mode": "UNARY", - "bindings": [ - { - "httpMethod": "POST", - "path": "/v1alpha2/{project=projects/*/locations/global/memberships}:initializeHub" - } - ] - }, - { - "shortName": "ListMemberships", - "fullName": "google.cloud.gkehub.v1alpha2.GkeHub.ListMemberships", - "mode": "UNARY", - "bindings": [ - { - "httpMethod": "GET", - "path": "/v1alpha2/{parent=projects/*/locations/*}/memberships" - } - ] - }, - { - "shortName": "UpdateMembership", - "fullName": "google.cloud.gkehub.v1alpha2.GkeHub.UpdateMembership", - "mode": "UNARY", - "bindings": [ - { - "httpMethod": "PATCH", - "path": "/v1alpha2/{name=projects/*/locations/*/memberships/*}" - } - ] - } - ] - } - ], - "configFile": "gkehub_v1alpha2.yaml", - "serviceConfigApiNames": [ - "google.cloud.gkehub.v1alpha2.GkeHub" - ], - "nameInServiceConfig": "gkehub.googleapis.com" - }, { "id": "google.cloud.gkehub.v1beta", "directory": "google/cloud/gkehub/v1beta", @@ -81910,32 +84310,32 @@ "options": { "csharp_namespace": { "valueCounts": { - "Google.Cloud.SecurityCenter.V1": 36 + "Google.Cloud.SecurityCenter.V1": 40 } }, "go_package": { "valueCounts": { - "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb": 36 + "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb": 40 } }, "java_multiple_files": { "valueCounts": { - "true": 36 + "true": 40 } }, "java_package": { "valueCounts": { - "com.google.cloud.securitycenter.v1": 36 + "com.google.cloud.securitycenter.v1": 40 } }, "php_namespace": { "valueCounts": { - "Google\\Cloud\\SecurityCenter\\V1": 36 + "Google\\Cloud\\SecurityCenter\\V1": 40 } }, "ruby_package": { "valueCounts": { - "Google::Cloud::SecurityCenter::V1": 36 + "Google::Cloud::SecurityCenter::V1": 40 } } }, @@ -83387,7 +85787,7 @@ "majorVersion": "v1", "hostName": "securitycentermanagement.googleapis.com", "title": "Security Center Management API", - "description": "Management API for the Security Command Center, a built-in security and risk management solution for Google Cloud. Use this API to programmatically update the settings and configuration of Security Command Center.", + "description": "Management API for Security Command Center, a built-in security and risk management solution for Google Cloud. Use this API to programmatically update the settings and configuration of Security Command Center.", "importDirectories": [ "google/api", "google/iam/v1", @@ -108552,6 +110952,17 @@ "shortName": "Places", "fullName": "google.maps.places.v1.Places", "methods": [ + { + "shortName": "AutocompletePlaces", + "fullName": "google.maps.places.v1.Places.AutocompletePlaces", + "mode": "UNARY", + "bindings": [ + { + "httpMethod": "POST", + "path": "/v1/places:autocomplete" + } + ] + }, { "shortName": "GetPhotoMedia", "fullName": "google.maps.places.v1.Places.GetPhotoMedia", diff --git a/third_party/googleapis/google/ads/googleads/v16/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v16/BUILD.bazel new file mode 100644 index 000000000..96e870593 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/BUILD.bazel @@ -0,0 +1,266 @@ +# 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 +# +# https://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. + +package(default_visibility = ["//visibility:public"]) + +exports_files(["googleads_grpc_service_config.json"] + ["*.yaml"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "googleads_proto", + srcs = [], + deps = [ + "//google/ads/googleads/v16/common:common_proto", + "//google/ads/googleads/v16/enums:enums_proto", + "//google/ads/googleads/v16/errors:errors_proto", + "//google/ads/googleads/v16/resources:resources_proto", + "//google/ads/googleads/v16/services:services_proto", + ], +) + +proto_library_with_info( + name = "googleads_proto_with_info", + deps = [ + ":googleads_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", +) + +java_gapic_library( + name = "googleads_java_gapic", + srcs = [ + ":googleads_proto_with_info", + ], + gapic_yaml = "googleads_gapic.yaml", + grpc_service_config = ":googleads_grpc_service_config.json", + service_yaml = "googleads_v16.yaml", + deps = [ + "//google/ads/googleads/v16/common:common_java_proto", + "//google/ads/googleads/v16/enums:enums_java_proto", + "//google/ads/googleads/v16/resources:resources_java_proto", + "//google/ads/googleads/v16/services:services_java_grpc", + "//google/ads/googleads/v16/services:services_java_proto", + ], +) + +# TODO(ohren): Add more test classes when java_gapic_test is able to run more +# than a single test. Having at least one verifies proper compilation at least. +java_gapic_test( + name = "googleads_java_gapic_suite", + test_classes = [ + "com.google.ads.googleads.v16.services.CampaignServiceClientTest", + ], + runtime_deps = [":googleads_java_gapic_test"], +) + +java_gapic_assembly_gradle_pkg( + name = "googleads-java", + deps = [ + ":googleads_java_gapic", + "//google/ads/googleads/v16:googleads_proto", + "//google/ads/googleads/v16/common:common_java_proto", + "//google/ads/googleads/v16/enums:enums_java_proto", + "//google/ads/googleads/v16/errors:errors_java_proto", + "//google/ads/googleads/v16/resources:resources_java_proto", + "//google/ads/googleads/v16/services:services_java_grpc", + "//google/ads/googleads/v16/services:services_java_proto", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "googleads_php_proto", + plugin_args = ["aggregate_metadata=google.ads.googleads"], + deps = [":googleads_proto"], +) + +php_grpc_library( + name = "googleads_php_grpc", + srcs = [":googleads_proto"], + deps = [":googleads_php_proto"], +) + +php_gapic_library( + name = "googleads_php_gapic", + srcs = [":googleads_proto"], + gapic_yaml = "googleads_gapic.yaml", + grpc_service_config = "googleads_grpc_service_config.json", + service_yaml = "googleads_v16.yaml", + generate_snippets = False, + migration_mode = "NEW_SURFACE_ONLY", + deps = [ + ":googleads_php_grpc", + ":googleads_php_proto", + ], +) + +php_gapic_assembly_pkg( + name = "googleads-php", + deps = [ + ":googleads_php_gapic", + ":googleads_php_grpc", + ":googleads_php_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", +) + +csharp_gapic_library( + name = "googleads_csharp_gapic", + srcs = [ + ":googleads_proto_with_info", + ], + grpc_service_config = "googleads_grpc_service_config.json", + service_yaml = "googleads_v16.yaml", + deps = [ + "//google/ads/googleads/v16/services:services_csharp_grpc", + ], +) + +csharp_gapic_assembly_pkg( + name = "googleads-csharp", + deps = [ + ":googleads_csharp_gapic", + "//google/ads/googleads/v16/common:common_csharp_proto", + "//google/ads/googleads/v16/enums:enums_csharp_proto", + "//google/ads/googleads/v16/errors:errors_csharp_proto", + "//google/ads/googleads/v16/resources:resources_csharp_proto", + "//google/ads/googleads/v16/services:services_csharp_grpc", + "//google/ads/googleads/v16/services:services_csharp_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_ads_gapic_library", + "ruby_gapic_assembly_pkg", +) + +ruby_ads_gapic_library( + name = "googleads_ruby_gapic", + srcs = ["googleads_proto_with_info"], + extra_protoc_parameters = [ + ":gem.:name=google-ads-googleads", + ":defaults.:service.:default_host=googleads.googleapis.com", + ":overrides.:namespace.Googleads=GoogleAds", + ], + grpc_service_config = "googleads_grpc_service_config.json", + service_yaml = "googleads_v16.yaml", +) + +ruby_gapic_assembly_pkg( + name = "googleads-ruby", + deps = [ + ":googleads_ruby_gapic", + "//google/ads/googleads/v16/common:common_ruby_proto", + "//google/ads/googleads/v16/enums:enums_ruby_proto", + "//google/ads/googleads/v16/errors:errors_ruby_proto", + "//google/ads/googleads/v16/resources:resources_ruby_proto", + "//google/ads/googleads/v16/services:services_ruby_grpc", + "//google/ads/googleads/v16/services:services_ruby_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", +) + +py_gapic_library( + name = "googleads_py_gapic", + srcs = [":googleads_proto_with_info"], + service_yaml = "googleads_v16.yaml", + grpc_service_config = "googleads_grpc_service_config.json", + opt_args = [ + "old-naming", + "lazy-import", + "python-gapic-name=googleads", + "python-gapic-templates=ads-templates", + "warehouse-package-name=google-ads", + ], +) + +py_gapic_assembly_pkg( + name = "googleads-py", + deps = [ + ":googleads_py_gapic", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "googleads_nodejs_gapic", + package_name = "google-ads", + src = ":googleads_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "googleads_grpc_service_config.json", + main_service = "GoogleAdsService", + package = "google.ads.googleads.v16", + service_yaml = "googleads_v16.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "googleads-nodejs", + deps = [ + ":googleads_nodejs_gapic", + ":googleads_proto", + ], +) diff --git a/third_party/googleapis/google/ads/googleads/v16/common/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v16/common/BUILD.bazel new file mode 100644 index 000000000..3f2090f9c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/BUILD.bazel @@ -0,0 +1,94 @@ +# 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 +# +# https://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. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "common_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v16/enums:enums_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "common_java_proto", + deps = [":common_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "common_csharp_proto", + deps = [":common_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "common_ruby_proto", + deps = [":common_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "common_py_proto", + deps = [":common_proto"], +) diff --git a/third_party/googleapis/google/ads/googleads/v16/common/ad_asset.proto b/third_party/googleapis/google/ads/googleads/v16/common/ad_asset.proto new file mode 100644 index 000000000..b9eab8665 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/ad_asset.proto @@ -0,0 +1,82 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/asset_policy.proto"; +import "google/ads/googleads/v16/enums/asset_performance_label.proto"; +import "google/ads/googleads/v16/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdAssetProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing assets used inside an ad. + +// A text asset used inside an ad. +message AdTextAsset { + // Asset text. + optional string text = 4; + + // The pinned field of the asset. This restricts the asset to only serve + // within this field. Multiple assets can be pinned to the same field. An + // asset that is unpinned or pinned to a different field will not serve in a + // field where some other asset has been pinned. + google.ads.googleads.v16.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + pinned_field = 2; + + // The performance label of this text asset. + google.ads.googleads.v16.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel + asset_performance_label = 5; + + // The policy summary of this text asset. + AdAssetPolicySummary policy_summary_info = 6; +} + +// An image asset used inside an ad. +message AdImageAsset { + // The Asset resource name of this image. + optional string asset = 2; +} + +// A video asset used inside an ad. +message AdVideoAsset { + // The Asset resource name of this video. + optional string asset = 2; +} + +// A media bundle asset used inside an ad. +message AdMediaBundleAsset { + // The Asset resource name of this media bundle. + optional string asset = 2; +} + +// A discovery carousel card asset used inside an ad. +message AdDiscoveryCarouselCardAsset { + // The Asset resource name of this discovery carousel card. + optional string asset = 1; +} + +// A call to action asset used inside an ad. +message AdCallToActionAsset { + // The Asset resource name of this call to action asset. + optional string asset = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/ad_type_infos.proto b/third_party/googleapis/google/ads/googleads/v16/common/ad_type_infos.proto new file mode 100644 index 000000000..a2f249bdb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/ad_type_infos.proto @@ -0,0 +1,778 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/ad_asset.proto"; +import "google/ads/googleads/v16/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v16/enums/display_ad_format_setting.proto"; +import "google/ads/googleads/v16/enums/display_upload_product_type.proto"; +import "google/ads/googleads/v16/enums/legacy_app_install_ad_app_store.proto"; +import "google/ads/googleads/v16/enums/mime_type.proto"; +import "google/ads/googleads/v16/enums/video_thumbnail.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file containing info messages for specific ad types. + +// A text ad. +message TextAdInfo { + // The headline of the ad. + optional string headline = 4; + + // The first line of the ad's description. + optional string description1 = 5; + + // The second line of the ad's description. + optional string description2 = 6; +} + +// An expanded text ad. +message ExpandedTextAdInfo { + // The first part of the ad's headline. + optional string headline_part1 = 8; + + // The second part of the ad's headline. + optional string headline_part2 = 9; + + // The third part of the ad's headline. + optional string headline_part3 = 10; + + // The description of the ad. + optional string description = 11; + + // The second description of the ad. + optional string description2 = 12; + + // The text that can appear alongside the ad's displayed URL. + optional string path1 = 13; + + // Additional text that can appear alongside the ad's displayed URL. + optional string path2 = 14; +} + +// An expanded dynamic search ad. +message ExpandedDynamicSearchAdInfo { + // The description of the ad. + optional string description = 3; + + // The second description of the ad. + optional string description2 = 4; +} + +// A hotel ad. +message HotelAdInfo {} + +// A travel ad. +message TravelAdInfo {} + +// A Smart Shopping ad. +message ShoppingSmartAdInfo {} + +// A standard Shopping ad. +message ShoppingProductAdInfo {} + +// A Shopping Comparison Listing ad. +message ShoppingComparisonListingAdInfo { + // Headline of the ad. This field is required. Allowed length is between 25 + // and 45 characters. + optional string headline = 2; +} + +// An image ad. +message ImageAdInfo { + // Width in pixels of the full size image. + optional int64 pixel_width = 15; + + // Height in pixels of the full size image. + optional int64 pixel_height = 16; + + // URL of the full size image. + optional string image_url = 17; + + // Width in pixels of the preview size image. + optional int64 preview_pixel_width = 18; + + // Height in pixels of the preview size image. + optional int64 preview_pixel_height = 19; + + // URL of the preview size image. + optional string preview_image_url = 20; + + // The mime type of the image. + google.ads.googleads.v16.enums.MimeTypeEnum.MimeType mime_type = 10; + + // The name of the image. If the image was created from a MediaFile, this is + // the MediaFile's name. If the image was created from bytes, this is empty. + optional string name = 21; + + // The image to create the ImageAd from. This can be specified in one of + // two ways. + // 1. An existing MediaFile resource. + // 2. The raw image data as bytes. + oneof image { + // The image assets used for the ad. + AdImageAsset image_asset = 22; + + // Raw image data as bytes. + bytes data = 13; + + // An ad ID to copy the image from. + int64 ad_id_to_copy_image_from = 14; + } +} + +// Representation of video bumper in-stream ad format (very short in-stream +// non-skippable video ad). +message VideoBumperInStreamAdInfo { + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 3; + + // Label on the "Call To Action" button taking the user to the video ad's + // final URL. + string action_button_label = 4; + + // Additional text displayed with the CTA (call-to-action) button to give + // context and encourage clicking on the button. + string action_headline = 5; +} + +// Representation of video non-skippable in-stream ad format (15 second +// in-stream non-skippable video ad). +message VideoNonSkippableInStreamAdInfo { + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 5; + + // Label on the "Call To Action" button taking the user to the video ad's + // final URL. + string action_button_label = 3; + + // Additional text displayed with the "Call To Action" button to give + // context and encourage clicking on the button. + string action_headline = 4; +} + +// Representation of video TrueView in-stream ad format (ad shown during video +// playback, often at beginning, which displays a skip button a few seconds into +// the video). +message VideoTrueViewInStreamAdInfo { + // Label on the CTA (call-to-action) button taking the user to the video ad's + // final URL. + // Required for TrueView for action campaigns, optional otherwise. + string action_button_label = 4; + + // Additional text displayed with the CTA (call-to-action) button to give + // context and encourage clicking on the button. + string action_headline = 5; + + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 7; +} + +// Representation of video out-stream ad format (ad shown alongside a feed +// with automatic playback, without sound). +message VideoOutstreamAdInfo { + // The headline of the ad. + string headline = 3; + + // The description line. + string description = 4; +} + +// Representation of In-feed video ad format. +message InFeedVideoAdInfo { + // The headline of the ad. + string headline = 1; + + // First text line for the ad. + string description1 = 2; + + // Second text line for the ad. + string description2 = 3; + + // Video thumbnail image to use. + google.ads.googleads.v16.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = + 4; +} + +// A video ad. +message VideoAdInfo { + // The YouTube video assets used for the ad. + AdVideoAsset video = 8; + + // Format-specific schema for the different video formats. + oneof format { + // Video TrueView in-stream ad format. + VideoTrueViewInStreamAdInfo in_stream = 2; + + // Video bumper in-stream ad format. + VideoBumperInStreamAdInfo bumper = 3; + + // Video out-stream ad format. + VideoOutstreamAdInfo out_stream = 4; + + // Video non-skippable in-stream ad format. + VideoNonSkippableInStreamAdInfo non_skippable = 5; + + // In-feed video ad format. + InFeedVideoAdInfo in_feed = 9; + } +} + +// A video responsive ad. +message VideoResponsiveAdInfo { + // List of text assets used for the short headline. Currently, only a single + // value for the short headline is supported. + repeated AdTextAsset headlines = 1; + + // List of text assets used for the long headline. + // Currently, only a single value for the long headline is supported. + repeated AdTextAsset long_headlines = 2; + + // List of text assets used for the description. + // Currently, only a single value for the description is supported. + repeated AdTextAsset descriptions = 3; + + // List of text assets used for the button, for example, the "Call To Action" + // button. Currently, only a single value for the button is supported. + repeated AdTextAsset call_to_actions = 4; + + // List of YouTube video assets used for the ad. + // Currently, only a single value for the YouTube video asset is supported. + repeated AdVideoAsset videos = 5; + + // List of image assets used for the companion banner. + // Currently, only a single value for the companion banner asset is supported. + repeated AdImageAsset companion_banners = 6; + + // First part of text that appears in the ad with the displayed URL. + string breadcrumb1 = 7; + + // Second part of text that appears in the ad with the displayed URL. + string breadcrumb2 = 8; +} + +// A responsive search ad. +// +// Responsive search ads let you create an ad that adapts to show more text, and +// more relevant messages, to your customers. Enter multiple headlines and +// descriptions when creating a responsive search ad, and over time, Google Ads +// will automatically test different combinations and learn which combinations +// perform best. By adapting your ad's content to more closely match potential +// customers' search terms, responsive search ads may improve your campaign's +// performance. +// +// More information at https://support.google.com/google-ads/answer/7684791 +message ResponsiveSearchAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // First part of text that can be appended to the URL in the ad. + optional string path1 = 5; + + // Second part of text that can be appended to the URL in the ad. This field + // can only be set when `path1` is also set. + optional string path2 = 6; +} + +// A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' +// in the Google Ads UI. +message LegacyResponsiveDisplayAdInfo { + // The short version of the ad's headline. + optional string short_headline = 16; + + // The long version of the ad's headline. + optional string long_headline = 17; + + // The description of the ad. + optional string description = 18; + + // The business name in the ad. + optional string business_name = 19; + + // Advertiser's consent to allow flexible color. When true, the ad may be + // served with different color if necessary. When false, the ad will be served + // with the specified colors or a neutral color. + // The default value is `true`. + // Must be true if `main_color` and `accent_color` are not set. + optional bool allow_flexible_color = 20; + + // The accent color of the ad in hexadecimal, for example, #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string accent_color = 21; + + // The main color of the ad in hexadecimal, for example, #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string main_color = 22; + + // The call-to-action text for the ad. + optional string call_to_action_text = 23; + + // The MediaFile resource name of the logo image used in the ad. + optional string logo_image = 24; + + // The MediaFile resource name of the square logo image used in the ad. + optional string square_logo_image = 25; + + // The MediaFile resource name of the marketing image used in the ad. + optional string marketing_image = 26; + + // The MediaFile resource name of the square marketing image used in the ad. + optional string square_marketing_image = 27; + + // Specifies which format the ad will be served in. Default is ALL_FORMATS. + google.ads.googleads.v16.enums.DisplayAdFormatSettingEnum + .DisplayAdFormatSetting format_setting = 13; + + // Prefix before price. For example, 'as low as'. + optional string price_prefix = 28; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 29; +} + +// An app ad. +message AppAdInfo { + // Mandatory ad text. + AdTextAsset mandatory_ad_text = 1; + + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 2; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 3; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 4; + + // List of YouTube video assets that may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 5; + + // List of media bundle assets that may be used with the ad. + repeated AdMediaBundleAsset html5_media_bundles = 6; +} + +// App engagement ads allow you to write text encouraging a specific action in +// the app, like checking in, making a purchase, or booking a flight. +// They allow you to send users to a specific part of your app where they can +// find what they're looking for easier and faster. +message AppEngagementAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of video assets that may be displayed with the ad. + repeated AdVideoAsset videos = 4; +} + +// App pre-registration ads link to your app or game listing on Google Play, and +// can run on Google Play, on YouTube (in-stream only), and within other apps +// and mobile websites on the Display Network. It will help capture people's +// interest in your app or game and generate an early install base for your app +// or game before a launch. +message AppPreRegistrationAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image asset IDs whose images may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of YouTube video asset IDs whose videos may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 4; +} + +// A legacy app install ad that only can be used by a few select customers. +message LegacyAppInstallAdInfo { + // The ID of the mobile app. + optional string app_id = 6; + + // The app store the mobile app is available in. + google.ads.googleads.v16.enums.LegacyAppInstallAdAppStoreEnum + .LegacyAppInstallAdAppStore app_store = 2; + + // The headline of the ad. + optional string headline = 7; + + // The first description line of the ad. + optional string description1 = 8; + + // The second description line of the ad. + optional string description2 = 9; +} + +// A responsive display ad. +message ResponsiveDisplayAdInfo { + // Marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined + // with `square_marketing_images`, the maximum is 15. + repeated AdImageAsset marketing_images = 1; + + // Square marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). At least one square `marketing_image` is required. Combined + // with `marketing_images`, the maximum is 15. + repeated AdImageAsset square_marketing_images = 2; + + // Logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must + // be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5. + repeated AdImageAsset logo_images = 3; + + // Square logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must + // be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5. + repeated AdImageAsset square_logo_images = 4; + + // Short format headlines for the ad. The maximum length is 30 characters. + // At least 1 and max 5 headlines can be specified. + repeated AdTextAsset headlines = 5; + + // A required long format headline. The maximum length is 90 characters. + AdTextAsset long_headline = 6; + + // Descriptive texts for the ad. The maximum length is 90 characters. At + // least 1 and max 5 headlines can be specified. + repeated AdTextAsset descriptions = 7; + + // Optional YouTube videos for the ad. A maximum of 5 videos can be specified. + repeated AdVideoAsset youtube_videos = 8; + + // The advertiser/brand name. Maximum display width is 25. + optional string business_name = 17; + + // The main color of the ad in hexadecimal, for example, #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string main_color = 18; + + // The accent color of the ad in hexadecimal, for example, #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string accent_color = 19; + + // Advertiser's consent to allow flexible color. When true, the ad may be + // served with different color if necessary. When false, the ad will be served + // with the specified colors or a neutral color. + // The default value is `true`. + // Must be true if `main_color` and `accent_color` are not set. + optional bool allow_flexible_color = 20; + + // The call-to-action text for the ad. Maximum display width is 30. + optional string call_to_action_text = 21; + + // Prefix before price. For example, 'as low as'. + optional string price_prefix = 22; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 23; + + // Specifies which format the ad will be served in. Default is ALL_FORMATS. + google.ads.googleads.v16.enums.DisplayAdFormatSettingEnum + .DisplayAdFormatSetting format_setting = 16; + + // Specification for various creative controls. + ResponsiveDisplayAdControlSpec control_spec = 24; +} + +// A local ad. +message LocalAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. At least 1 and at most 5 headlines must be + // specified. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. At least 1 and at most 5 descriptions must + // be specified. + repeated AdTextAsset descriptions = 2; + + // List of text assets for call-to-actions. When the ad serves the + // call-to-actions will be selected from this list. At least 1 and at most + // 5 call-to-actions must be specified. + repeated AdTextAsset call_to_actions = 3; + + // List of marketing image assets that may be displayed with the ad. The + // images must be 314x600 pixels or 320x320 pixels. At least 1 and at most + // 20 image assets must be specified. + repeated AdImageAsset marketing_images = 4; + + // List of logo image assets that may be displayed with the ad. The images + // must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 + // image assets must be specified. + repeated AdImageAsset logo_images = 5; + + // List of YouTube video assets that may be displayed with the ad. At least 1 + // and at most 20 video assets must be specified. + repeated AdVideoAsset videos = 6; + + // First part of optional text that can be appended to the URL in the ad. + optional string path1 = 9; + + // Second part of optional text that can be appended to the URL in the ad. + // This field can only be set when `path1` is also set. + optional string path2 = 10; +} + +// A generic type of display ad. The exact ad format is controlled by the +// `display_upload_product_type` field, which determines what kinds of data +// need to be included with the ad. +message DisplayUploadAdInfo { + // The product type of this ad. See comments on the enum for details. + google.ads.googleads.v16.enums.DisplayUploadProductTypeEnum + .DisplayUploadProductType display_upload_product_type = 1; + + // The asset data that makes up the ad. + oneof media_asset { + // A media bundle asset to be used in the ad. For information about the + // media bundle for HTML5_UPLOAD_AD, see + // https://support.google.com/google-ads/answer/1722096 + // Media bundles that are part of dynamic product types use a special format + // that needs to be created through the Google Web Designer. See + // https://support.google.com/webdesigner/answer/7543898 for more + // information. + AdMediaBundleAsset media_bundle = 2; + } +} + +// Specification for various creative controls for a responsive display ad. +message ResponsiveDisplayAdControlSpec { + // Whether the advertiser has opted into the asset enhancements feature. + bool enable_asset_enhancements = 1; + + // Whether the advertiser has opted into auto-gen video feature. + bool enable_autogen_video = 2; +} + +// A Smart campaign ad. +message SmartCampaignAdInfo { + // List of text assets, each of which corresponds to a headline when the ad + // serves. This list consists of a minimum of 3 and up to 15 text assets. + repeated AdTextAsset headlines = 1; + + // List of text assets, each of which corresponds to a description when the ad + // serves. This list consists of a minimum of 2 and up to 4 text assets. + repeated AdTextAsset descriptions = 2; +} + +// A call ad. +message CallAdInfo { + // The country code in the ad. + string country_code = 1; + + // The phone number in the ad. + string phone_number = 2; + + // The business name in the ad. + string business_name = 3; + + // First headline in the ad. + string headline1 = 11; + + // Second headline in the ad. + string headline2 = 12; + + // The first line of the ad's description. + string description1 = 4; + + // The second line of the ad's description. + string description2 = 5; + + // Whether to enable call tracking for the creative. Enabling call + // tracking also enables call conversions. + bool call_tracked = 6; + + // Whether to disable call conversion for the creative. + // If set to `true`, disables call conversions even when `call_tracked` is + // `true`. + // If `call_tracked` is `false`, this field is ignored. + bool disable_call_conversion = 7; + + // The URL to be used for phone number verification. + string phone_number_verification_url = 8; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // `call_tracked` is set to `true`. Otherwise this field is ignored. + string conversion_action = 9; + + // The call conversion behavior of this call ad. It can use its own call + // conversion setting, inherit the account level setting, or be disabled. + google.ads.googleads.v16.enums.CallConversionReportingStateEnum + .CallConversionReportingState conversion_reporting_state = 10; + + // First part of text that can be appended to the URL in the ad. Optional. + string path1 = 13; + + // Second part of text that can be appended to the URL in the ad. This field + // can only be set when `path1` is also set. Optional. + string path2 = 14; +} + +// A discovery multi asset ad. +message DiscoveryMultiAssetAdInfo { + // Marketing image assets to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). Required if square_marketing_images is + // not present. Combined with `square_marketing_images` and + // `portrait_marketing_images` the maximum is 20. + repeated AdImageAsset marketing_images = 1; + + // Square marketing image assets to be used in the ad. Valid image types are + // GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). Required if marketing_images is not present. Combined with + // `marketing_images` and `portrait_marketing_images` the maximum is 20. + repeated AdImageAsset square_marketing_images = 2; + + // Portrait marketing image assets to be used in the ad. Valid image types are + // GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must + // be 4:5 (+-1%). Combined with `marketing_images` and + // `square_marketing_images` the maximum is 20. + repeated AdImageAsset portrait_marketing_images = 3; + + // Logo image assets to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be + // 1:1 (+-1%). At least 1 and max 5 logo images can be specified. + repeated AdImageAsset logo_images = 4; + + // Headline text asset of the ad. Maximum display width is 30. At least 1 and + // max 5 headlines can be specified. + repeated AdTextAsset headlines = 5; + + // The descriptive text of the ad. Maximum display width is 90. At least 1 and + // max 5 descriptions can be specified. + repeated AdTextAsset descriptions = 6; + + // The Advertiser/brand name. Maximum display width is 25. Required. + optional string business_name = 7; + + // Call to action text. + optional string call_to_action_text = 8; + + // Boolean option that indicates if this ad must be served with lead form. + optional bool lead_form_only = 9; +} + +// A discovery carousel ad. +message DiscoveryCarouselAdInfo { + // Required. The Advertiser/brand name. + string business_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Logo image to be used in the ad. The minimum size is 128x128 and + // the aspect ratio must be 1:1 (+-1%). + AdImageAsset logo_image = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Headline of the ad. + AdTextAsset headline = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The descriptive text of the ad. + AdTextAsset description = 4 [(google.api.field_behavior) = REQUIRED]; + + // Call to action text. + string call_to_action_text = 5; + + // Required. Carousel cards that will display with the ad. Min 2 max 10. + repeated AdDiscoveryCarouselCardAsset carousel_cards = 6 + [(google.api.field_behavior) = REQUIRED]; +} + +// A discovery video responsive ad. +message DiscoveryVideoResponsiveAdInfo { + // List of text assets used for the short headline. + repeated AdTextAsset headlines = 1; + + // List of text assets used for the long headline. + repeated AdTextAsset long_headlines = 2; + + // List of text assets used for the description. + repeated AdTextAsset descriptions = 3; + + // List of YouTube video assets used for the ad. + repeated AdVideoAsset videos = 4; + + // Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. + // The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). + repeated AdImageAsset logo_images = 5; + + // First part of text that appears in the ad with the displayed URL. + string breadcrumb1 = 6; + + // Second part of text that appears in the ad with the displayed URL. + string breadcrumb2 = 7; + + // Required. The advertiser/brand name. + AdTextAsset business_name = 8 [(google.api.field_behavior) = REQUIRED]; + + // Assets of type CallToActionAsset used for the "Call To Action" button. + repeated AdCallToActionAsset call_to_actions = 9; +} + +// A Demand Gen product ad. +message DemandGenProductAdInfo { + // Required. Text asset used for the short headline. + optional AdTextAsset headline = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Text asset used for the description. + optional AdTextAsset description = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, + // and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 + // (+-1%). + optional AdImageAsset logo_image = 3 [(google.api.field_behavior) = REQUIRED]; + + // First part of text that appears in the ad with the displayed URL. + string breadcrumb1 = 4; + + // Second part of text that appears in the ad with the displayed URL. + string breadcrumb2 = 5; + + // Required. The advertiser/brand name. + AdTextAsset business_name = 6 [(google.api.field_behavior) = REQUIRED]; + + // Asset of type CallToActionAsset used for the "Call To Action" button. + optional AdCallToActionAsset call_to_action = 7; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/asset_policy.proto b/third_party/googleapis/google/ads/googleads/v16/common/asset_policy.proto new file mode 100644 index 000000000..1b8dd93f7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/asset_policy.proto @@ -0,0 +1,80 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/asset_offline_evaluation_error_reasons.proto"; +import "google/ads/googleads/v16/enums/policy_approval_status.proto"; +import "google/ads/googleads/v16/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetPolicyProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing asset policies. + +// Contains policy information for an asset inside an ad. +message AdAssetPolicySummary { + // The list of policy findings for this asset. + repeated PolicyTopicEntry policy_topic_entries = 1; + + // Where in the review process this asset. + google.ads.googleads.v16.enums.PolicyReviewStatusEnum.PolicyReviewStatus + review_status = 2; + + // The overall approval status of this asset, which is calculated based on + // the status of its individual policy topic entries. + google.ads.googleads.v16.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3; +} + +// Provides the detail of a PrimaryStatus. +// Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not +// serving), and list of corroborating PrimaryStatusReasons (e.g. +// [ASSET_DISAPPROVED]). Each reason may have some additional details +// annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the +// details field will contain additional information about the offline +// evaluation errors which led to the asset being disapproved. +message AssetLinkPrimaryStatusDetails { + // Provides the reason of this PrimaryStatus. + optional google.ads.googleads.v16.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason reason = 1; + + // Provides the PrimaryStatus of this status detail. + optional google.ads.googleads.v16.enums.AssetLinkPrimaryStatusEnum + .AssetLinkPrimaryStatus status = 2; + + // Provides the details associated with the asset link primary status. + oneof details { + // Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED + AssetDisapproved asset_disapproved = 3; + } +} + +// Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED +message AssetDisapproved { + // Provides the quality evaluation disapproval reason of an asset. + repeated google.ads.googleads.v16.enums.AssetOfflineEvaluationErrorReasonsEnum + .AssetOfflineEvaluationErrorReasons offline_evaluation_error_reasons = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/asset_set_types.proto b/third_party/googleapis/google/ads/googleads/v16/common/asset_set_types.proto new file mode 100644 index 000000000..f5124121c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/asset_set_types.proto @@ -0,0 +1,188 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/chain_relationship_type.proto"; +import "google/ads/googleads/v16/enums/location_ownership_type.proto"; +import "google/ads/googleads/v16/enums/location_string_filter_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypesProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file containing info messages for specific asset set types. + +// Data related to location set. One of the Google Business Profile (previously +// known as Google My Business) data, Chain data, and map location data need to +// be specified. +message LocationSet { + // Required. Immutable. Location Ownership Type (owned location or affiliate + // location). + google.ads.googleads.v16.enums.LocationOwnershipTypeEnum.LocationOwnershipType + location_ownership_type = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Location data specific to each sync source. + oneof source { + // Data used to configure a location set populated from Google Business + // Profile locations. + BusinessProfileLocationSet business_profile_location_set = 1; + + // Data used to configure a location on chain set populated with the + // specified chains. + ChainSet chain_location_set = 2; + + // Only set if locations are synced based on selected maps locations + MapsLocationSet maps_location_set = 5; + } +} + +// Data used to configure a location set populated from Google Business Profile +// locations. +// Different types of filters are AND'ed together, if they are specified. +message BusinessProfileLocationSet { + // Required. Immutable. The HTTP authorization token used to obtain + // authorization. + string http_authorization_token = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + + // Required. Immutable. Email address of a Google Business Profile account or + // email address of a manager of the Google Business Profile account. + string email_address = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Used to filter Google Business Profile listings by business name. If + // businessNameFilter is set, only listings with a matching business name are + // candidates to be sync'd into Assets. + string business_name_filter = 3; + + // Used to filter Google Business Profile listings by labels. If entries exist + // in labelFilters, only listings that have any of the labels set are + // candidates to be synchronized into Assets. If no entries exist in + // labelFilters, then all listings are candidates for syncing. + // Label filters are OR'ed together. + repeated string label_filters = 4; + + // Used to filter Google Business Profile listings by listing id. If entries + // exist in listingIdFilters, only listings specified by the filters are + // candidates to be synchronized into Assets. If no entries exist in + // listingIdFilters, then all listings are candidates for syncing. + // Listing ID filters are OR'ed together. + repeated int64 listing_id_filters = 5; + + // Immutable. The account ID of the managed business whose locations are to be + // used. If this field is not set, then all businesses accessible by the user + // (specified by the emailAddress) are used. + string business_account_id = 6 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Data used to configure a location set populated with the specified chains. +message ChainSet { + // Required. Immutable. Relationship type the specified chains have with this + // advertiser. + google.ads.googleads.v16.enums.ChainRelationshipTypeEnum.ChainRelationshipType + relationship_type = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. A list of chain level filters, all filters are OR'ed together. + repeated ChainFilter chains = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// One chain level filter on location in a feed item set. +// The filtering logic among all the fields is AND. +message ChainFilter { + // Required. Used to filter chain locations by chain id. Only chain locations + // that belong to the specified chain will be in the asset set. + int64 chain_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Used to filter chain locations by location attributes. + // Only chain locations that belong to all of the specified attribute(s) will + // be in the asset set. If this field is empty, it means no filtering on this + // field. + repeated string location_attributes = 2; +} + +// Wrapper for multiple maps location sync data +message MapsLocationSet { + // Required. A list of maps location info that user manually synced in. + repeated MapsLocationInfo maps_locations = 1 + [(google.api.field_behavior) = REQUIRED]; +} + +// Wrapper for place ids +message MapsLocationInfo { + // Place ID of the Maps location. + string place_id = 1; +} + +// Information about a Business Profile dynamic location group. +// Only applicable if the sync level AssetSet's type is LOCATION_SYNC and +// sync source is Business Profile. +message BusinessProfileLocationGroup { + // Filter for dynamic Business Profile location sets. + DynamicBusinessProfileLocationGroupFilter + dynamic_business_profile_location_group_filter = 1; +} + +// Represents a filter on Business Profile locations in an asset set. If +// multiple filters are provided, they are AND'ed together. +message DynamicBusinessProfileLocationGroupFilter { + // Used to filter Business Profile locations by label. Only locations that + // have any of the listed labels will be in the asset set. + // Label filters are OR'ed together. + repeated string label_filters = 1; + + // Used to filter Business Profile locations by business name. + optional BusinessProfileBusinessNameFilter business_name_filter = 2; + + // Used to filter Business Profile locations by listing ids. + repeated int64 listing_id_filters = 3; +} + +// Business Profile location group business name filter. +message BusinessProfileBusinessNameFilter { + // Business name string to use for filtering. + string business_name = 1; + + // The type of string matching to use when filtering with business_name. + google.ads.googleads.v16.enums.LocationStringFilterTypeEnum + .LocationStringFilterType filter_type = 2; +} + +// Represents information about a Chain dynamic location group. +// Only applicable if the sync level AssetSet's type is LOCATION_SYNC and +// sync source is chain. +message ChainLocationGroup { + // Used to filter chain locations by chain ids. + // Only Locations that belong to the specified chain(s) will be in the asset + // set. + repeated ChainFilter dynamic_chain_location_group_filters = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/asset_types.proto b/third_party/googleapis/google/ads/googleads/v16/common/asset_types.proto new file mode 100644 index 000000000..fbb1462a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/asset_types.proto @@ -0,0 +1,1070 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/common/feed_common.proto"; +import "google/ads/googleads/v16/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v16/enums/call_to_action_type.proto"; +import "google/ads/googleads/v16/enums/lead_form_call_to_action_type.proto"; +import "google/ads/googleads/v16/enums/lead_form_desired_intent.proto"; +import "google/ads/googleads/v16/enums/lead_form_field_user_input_type.proto"; +import "google/ads/googleads/v16/enums/lead_form_post_submit_call_to_action_type.proto"; +import "google/ads/googleads/v16/enums/location_ownership_type.proto"; +import "google/ads/googleads/v16/enums/mime_type.proto"; +import "google/ads/googleads/v16/enums/mobile_app_vendor.proto"; +import "google/ads/googleads/v16/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v16/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v16/enums/price_extension_type.proto"; +import "google/ads/googleads/v16/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v16/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypesProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file containing info messages for specific asset types. + +// A YouTube asset. +message YoutubeVideoAsset { + // YouTube video id. This is the 11 character string value used in the + // YouTube video URL. + optional string youtube_video_id = 2; + + // YouTube video title. + string youtube_video_title = 3; +} + +// A MediaBundle asset. +message MediaBundleAsset { + // Media bundle (ZIP file) asset data. The format of the uploaded ZIP file + // depends on the ad field where it will be used. For more information on the + // format, see the documentation of the ad field where you plan on using the + // MediaBundleAsset. This field is mutate only. + optional bytes data = 2; +} + +// An Image asset. +message ImageAsset { + // The raw bytes data of an image. This field is mutate only. + optional bytes data = 5; + + // File size of the image asset in bytes. + optional int64 file_size = 6; + + // MIME type of the image asset. + google.ads.googleads.v16.enums.MimeTypeEnum.MimeType mime_type = 3; + + // Metadata for this image at its original size. + ImageDimension full_size = 4; +} + +// Metadata for an image at a certain size, either original or resized. +message ImageDimension { + // Height of the image. + optional int64 height_pixels = 4; + + // Width of the image. + optional int64 width_pixels = 5; + + // A URL that returns the image with this height and width. + optional string url = 6; +} + +// A Text asset. +message TextAsset { + // Text content of the text asset. + optional string text = 2; +} + +// A Lead Form asset. +message LeadFormAsset { + // Required. The name of the business being advertised. + string business_name = 10 [(google.api.field_behavior) = REQUIRED]; + + // Required. Pre-defined display text that encourages user to expand the form. + google.ads.googleads.v16.enums.LeadFormCallToActionTypeEnum + .LeadFormCallToActionType call_to_action_type = 17 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Text giving a clear value proposition of what users expect once + // they expand the form. + string call_to_action_description = 18 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Headline of the expanded form to describe what the form is asking + // for or facilitating. + string headline = 12 [(google.api.field_behavior) = REQUIRED]; + + // Required. Detailed description of the expanded form to describe what the + // form is asking for or facilitating. + string description = 13 [(google.api.field_behavior) = REQUIRED]; + + // Required. Link to a page describing the policy on how the collected data is + // handled by the advertiser/business. + string privacy_policy_url = 14 [(google.api.field_behavior) = REQUIRED]; + + // Headline of text shown after form submission that describes how the + // advertiser will follow up with the user. + optional string post_submit_headline = 15; + + // Detailed description shown after form submission that describes how the + // advertiser will follow up with the user. + optional string post_submit_description = 16; + + // Ordered list of input fields. This field can be updated by reordering + // questions, but not by adding or removing questions. + repeated LeadFormField fields = 8; + + // Ordered list of custom question fields. This field is subject to a limit of + // 5 qualifying questions per form. + repeated LeadFormCustomQuestionField custom_question_fields = 23; + + // Configured methods for collected lead data to be delivered to advertiser. + // Only one method typed as WebhookDelivery can be configured. + repeated LeadFormDeliveryMethod delivery_methods = 9; + + // Pre-defined display text that encourages user action after the form is + // submitted. + google.ads.googleads.v16.enums.LeadFormPostSubmitCallToActionTypeEnum + .LeadFormPostSubmitCallToActionType post_submit_call_to_action_type = 19; + + // Asset resource name of the background image. + // The image dimensions must be exactly 1200x628. + optional string background_image_asset = 20; + + // Chosen intent for the lead form, for example, more volume or more + // qualified. + google.ads.googleads.v16.enums.LeadFormDesiredIntentEnum.LeadFormDesiredIntent + desired_intent = 21; + + // Custom disclosure shown along with Google disclaimer on the lead form. + // Accessible to allowed customers only. + optional string custom_disclosure = 22; +} + +// One input field instance within a form. +message LeadFormField { + // Describes the input type, which may be a predefined type such as "full + // name" or a pre-vetted question like "What kind of vehicle do you have?". + google.ads.googleads.v16.enums.LeadFormFieldUserInputTypeEnum + .LeadFormFieldUserInputType input_type = 1; + + // Defines answer configuration that this form field accepts. If oneof is not + // set, this is a free-text answer. + oneof answers { + // Answer configuration for a single choice question. Can be set only for + // pre-vetted question fields. Minimum of 2 answers required and maximum of + // 12 allowed. + LeadFormSingleChoiceAnswers single_choice_answers = 2; + + // Answer configuration for location question. If true, campaign/account + // level location data (state, city, business name etc) will be rendered on + // the Lead Form. + // Starting V13.1, has_location_answer can only be set for "What is your + // preferred dealership?" question, for advertisers with Location Assets + // setup at campaign/account level. + bool has_location_answer = 3; + } +} + +// One custom question input field instance within a form. +message LeadFormCustomQuestionField { + // The exact custom question field text (for example, "What kind of vehicle + // do you have?"). + string custom_question_text = 1; + + // Defines answer configuration that this form field accepts. If + // oneof is not set, this is a free-text answer. + oneof answers { + // Answer configuration for a single choice question. + // Minimum of 2 answers and maximum of 12 allowed. + LeadFormSingleChoiceAnswers single_choice_answers = 2; + + // Answer configuration for location question. If true, campaign/account + // level location data (state, city, business name etc) will be rendered on + // the Lead Form. + // Starting V13.1, has_location_answer can only be set for "What is your + // preferred dealership?" question, for advertisers with Location Assets + // setup at campaign/account level. + bool has_location_answer = 3; + } +} + +// Defines possible answers for a single choice question, usually presented as +// a single-choice drop-down list. +message LeadFormSingleChoiceAnswers { + // List of choices for a single question field. The order of entries defines + // UI order. Minimum of 2 answers required and maximum of 12 allowed. + repeated string answers = 1; +} + +// A configuration of how leads are delivered to the advertiser. +message LeadFormDeliveryMethod { + // Various subtypes of delivery. + oneof delivery_details { + // Webhook method of delivery. + WebhookDelivery webhook = 1; + } +} + +// Google notifies the advertiser of leads by making HTTP calls to an +// endpoint they specify. The requests contain JSON matching a schema that +// Google publishes as part of form ads documentation. +message WebhookDelivery { + // Webhook url specified by advertiser to send the lead. + optional string advertiser_webhook_url = 4; + + // Anti-spoofing secret set by the advertiser as part of the webhook payload. + optional string google_secret = 5; + + // The schema version that this delivery instance will use. + optional int64 payload_schema_version = 6; +} + +// A Book on Google asset. Used to redirect user to book through Google. +// Book on Google will change the redirect url to book directly through +// Google. +message BookOnGoogleAsset {} + +// A Promotion asset. +message PromotionAsset { + // Required. A freeform description of what the promotion is targeting. + string promotion_target = 1 [(google.api.field_behavior) = REQUIRED]; + + // A modifier for qualification of the discount. + google.ads.googleads.v16.enums.PromotionExtensionDiscountModifierEnum + .PromotionExtensionDiscountModifier discount_modifier = 2; + + // Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd + // format. + string redemption_start_date = 7; + + // Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd + // format. + string redemption_end_date = 8; + + // The occasion the promotion was intended for. + // If an occasion is set, the redemption window will need to fall within the + // date range associated with the occasion. + google.ads.googleads.v16.enums.PromotionExtensionOccasionEnum + .PromotionExtensionOccasion occasion = 9; + + // The language of the promotion. + // Represented as BCP 47 language tag. + string language_code = 10; + + // Start date of when this asset is effective and can begin serving, in + // yyyy-MM-dd format. + string start_date = 11; + + // Last date of when this asset is effective and still serving, in yyyy-MM-dd + // format. + string end_date = 12; + + // List of non-overlapping schedules specifying all time intervals for which + // the asset may serve. There can be a maximum of 6 schedules per day, 42 in + // total. + repeated AdScheduleInfo ad_schedule_targets = 13; + + // Discount type, can be percentage off or amount off. + oneof discount_type { + // Percentage off discount in the promotion. 1,000,000 = 100%. + // Either this or money_amount_off is required. + int64 percent_off = 3; + + // Money amount off for discount in the promotion. + // Either this or percent_off is required. + Money money_amount_off = 4; + } + + // Promotion trigger. Can be by promotion code or promo by eligible order + // amount. + oneof promotion_trigger { + // A code the user should use in order to be eligible for the promotion. + string promotion_code = 5; + + // The amount the total order needs to be for the user to be eligible for + // the promotion. + Money orders_over_amount = 6; + } +} + +// A Callout asset. +message CalloutAsset { + // Required. The callout text. + // The length of this string should be between 1 and 25, inclusive. + string callout_text = 1 [(google.api.field_behavior) = REQUIRED]; + + // Start date of when this asset is effective and can begin serving, in + // yyyy-MM-dd format. + string start_date = 2; + + // Last date of when this asset is effective and still serving, in yyyy-MM-dd + // format. + string end_date = 3; + + // List of non-overlapping schedules specifying all time intervals for which + // the asset may serve. There can be a maximum of 6 schedules per day, 42 in + // total. + repeated AdScheduleInfo ad_schedule_targets = 4; +} + +// A Structured Snippet asset. +message StructuredSnippetAsset { + // Required. The header of the snippet. + // This string should be one of the predefined values at + // https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers + string header = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The values in the snippet. + // The size of this collection should be between 3 and 10, inclusive. + // The length of each value should be between 1 and 25 characters, inclusive. + repeated string values = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A Sitelink asset. +message SitelinkAsset { + // Required. URL display text for the sitelink. + // The length of this string should be between 1 and 25, inclusive. + string link_text = 1 [(google.api.field_behavior) = REQUIRED]; + + // First line of the description for the sitelink. + // If set, the length should be between 1 and 35, inclusive, and description2 + // must also be set. + string description1 = 2; + + // Second line of the description for the sitelink. + // If set, the length should be between 1 and 35, inclusive, and description1 + // must also be set. + string description2 = 3; + + // Start date of when this asset is effective and can begin serving, in + // yyyy-MM-dd format. + string start_date = 4; + + // Last date of when this asset is effective and still serving, in yyyy-MM-dd + // format. + string end_date = 5; + + // List of non-overlapping schedules specifying all time intervals for which + // the asset may serve. There can be a maximum of 6 schedules per day, 42 in + // total. + repeated AdScheduleInfo ad_schedule_targets = 6; +} + +// A Page Feed asset. +message PageFeedAsset { + // Required. The webpage that advertisers want to target. + string page_url = 1 [(google.api.field_behavior) = REQUIRED]; + + // Labels used to group the page urls. + repeated string labels = 2; +} + +// A Dynamic Education asset. +message DynamicEducationAsset { + // Required. Program ID which can be any sequence of letters and digits, and + // must be unique and match the values of remarketing tag. Required. + string program_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Location ID which can be any sequence of letters and digits and must be + // unique. + string location_id = 2; + + // Required. Program name, for example, Nursing. Required. + string program_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Subject of study, for example, Health. + string subject = 4; + + // Program description, for example, Nursing Certification. + string program_description = 5; + + // School name, for example, Mountain View School of Nursing. + string school_name = 6; + + // School address which can be specified in one of the following formats. + // (1) City, state, code, country, for example, Mountain View, CA, USA. + // (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 + string address = 7; + + // Contextual keywords, for example, Nursing certification, Health, Mountain + // View. + repeated string contextual_keywords = 8; + + // Android deep link, for example, + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 9; + + // Similar program IDs. + repeated string similar_program_ids = 10; + + // iOS deep link, for example, exampleApp://content/page. + string ios_app_link = 11; + + // iOS app store ID. This is used to check if the user has the app installed + // on their device before deep linking. If this field is set, then the + // ios_app_link field must also be present. + int64 ios_app_store_id = 12; + + // Thumbnail image url, for example, http://www.example.com/thumbnail.png. The + // thumbnail image will not be uploaded as image asset. + string thumbnail_image_url = 13; + + // Image url, for example, http://www.example.com/image.png. The image will + // not be uploaded as image asset. + string image_url = 14; +} + +// An asset representing a mobile app. +message MobileAppAsset { + // Required. A string that uniquely identifies a mobile application. It should + // just contain the platform native id, like "com.android.ebay" for Android or + // "12345689" for iOS. + string app_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The application store that distributes this specific app. + google.ads.googleads.v16.enums.MobileAppVendorEnum.MobileAppVendor app_store = + 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The visible text displayed when the link is rendered in an ad. + // The length of this string should be between 1 and 25, inclusive. + string link_text = 3 [(google.api.field_behavior) = REQUIRED]; + + // Start date of when this asset is effective and can begin serving, in + // yyyy-MM-dd format. + string start_date = 4; + + // Last date of when this asset is effective and still serving, in yyyy-MM-dd + // format. + string end_date = 5; +} + +// An asset representing a hotel callout. +message HotelCalloutAsset { + // Required. The text of the hotel callout asset. + // The length of this string should be between 1 and 25, inclusive. + string text = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The language of the hotel callout. + // Represented as BCP 47 language tag. + string language_code = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A Call asset. +message CallAsset { + // Required. Two-letter country code of the phone number. Examples: 'US', + // 'us'. + string country_code = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The advertiser's raw phone number. Examples: '1234567890', + // '(123)456-7890' + string phone_number = 2 [(google.api.field_behavior) = REQUIRED]; + + // Indicates whether this CallAsset should use its own call conversion + // setting, follow the account level setting, or disable call conversion. + google.ads.googleads.v16.enums.CallConversionReportingStateEnum + .CallConversionReportingState call_conversion_reporting_state = 3; + + // The conversion action to attribute a call conversion to. If not set, the + // default conversion action is used. This field only has effect if + // call_conversion_reporting_state is set to + // USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. + string call_conversion_action = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // List of non-overlapping schedules specifying all time intervals for which + // the asset may serve. There can be a maximum of 6 schedules per day, 42 in + // total. + repeated AdScheduleInfo ad_schedule_targets = 5; +} + +// An asset representing a list of price offers. +message PriceAsset { + // Required. The type of the price asset. + google.ads.googleads.v16.enums.PriceExtensionTypeEnum.PriceExtensionType + type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The price qualifier of the price asset. + google.ads.googleads.v16.enums.PriceExtensionPriceQualifierEnum + .PriceExtensionPriceQualifier price_qualifier = 2; + + // Required. The language of the price asset. + // Represented as BCP 47 language tag. + string language_code = 3 [(google.api.field_behavior) = REQUIRED]; + + // The price offerings of the price asset. + // The size of this collection should be between 3 and 8, inclusive. + repeated PriceOffering price_offerings = 4; +} + +// A single price offering within a PriceAsset. +message PriceOffering { + // Required. The header of the price offering. + // The length of this string should be between 1 and 25, inclusive. + string header = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The description of the price offering. + // The length of this string should be between 1 and 25, inclusive. + string description = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The price value of the price offering. + Money price = 3 [(google.api.field_behavior) = REQUIRED]; + + // The price unit of the price offering. + google.ads.googleads.v16.enums.PriceExtensionPriceUnitEnum + .PriceExtensionPriceUnit unit = 4; + + // Required. The final URL after all cross domain redirects. + string final_url = 5 [(google.api.field_behavior) = REQUIRED]; + + // The final mobile URL after all cross domain redirects. + string final_mobile_url = 6; +} + +// A call to action asset. +message CallToActionAsset { + // Call to action. + google.ads.googleads.v16.enums.CallToActionTypeEnum.CallToActionType + call_to_action = 1; +} + +// A dynamic real estate asset. +message DynamicRealEstateAsset { + // Required. Listing ID which can be any sequence of letters and digits, and + // must be unique and match the values of remarketing tag. Required. + string listing_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Listing name, for example, Boulevard Bungalow. Required. + string listing_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // City name, for example, Mountain View, California. + string city_name = 3; + + // Description, for example, 3 beds, 2 baths, 1568 sq. ft. + string description = 4; + + // Address which can be specified in one of the following formats. + // (1) City, state, code, country, for example, Mountain View, CA, USA. + // (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 + string address = 5; + + // Price which can be number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 + // USD. + string price = 6; + + // Image URL, for example, http://www.example.com/image.png. The image will + // not be uploaded as image asset. + string image_url = 7; + + // Property type, for example, House. + string property_type = 8; + + // Listing type, for example, For sale. + string listing_type = 9; + + // Contextual keywords, for example, For sale; Houses for sale. + repeated string contextual_keywords = 10; + + // Formatted price which can be any characters. If set, this attribute will be + // used instead of 'price', for example, Starting at $200,000.00. + string formatted_price = 11; + + // Android deep link, for example, + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 12; + + // iOS deep link, for example, exampleApp://content/page. + string ios_app_link = 13; + + // iOS app store ID. This is used to check if the user has the app installed + // on their device before deep linking. If this field is set, then the + // ios_app_link field must also be present. + int64 ios_app_store_id = 14; + + // Similar listing IDs. + repeated string similar_listing_ids = 15; +} + +// A dynamic custom asset. +message DynamicCustomAsset { + // Required. ID which can be any sequence of letters and digits, and must be + // unique and match the values of remarketing tag, for example, sedan. + // Required. + string id = 1 [(google.api.field_behavior) = REQUIRED]; + + // ID2 which can be any sequence of letters and digits, for example, red. ID + // sequence (ID + ID2) must be unique. + string id2 = 2; + + // Required. Item title, for example, Mid-size sedan. Required. + string item_title = 3 [(google.api.field_behavior) = REQUIRED]; + + // Item subtitle, for example, At your Mountain View dealership. + string item_subtitle = 4; + + // Item description, for example, Best selling mid-size car. + string item_description = 5; + + // Item address which can be specified in one of the following formats. + // (1) City, state, code, country, for example, Mountain View, CA, USA. + // (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 + string item_address = 6; + + // Item category, for example, Sedans. + string item_category = 7; + + // Price which can be number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD. + string price = 8; + + // Sale price which can be number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. + // Must be less than the 'price' field. + string sale_price = 9; + + // Formatted price which can be any characters. If set, this attribute will be + // used instead of 'price', for example, Starting at $20,000.00. + string formatted_price = 10; + + // Formatted sale price which can be any characters. If set, this attribute + // will be used instead of 'sale price', for example, On sale for $15,000.00. + string formatted_sale_price = 11; + + // Image URL, for example, http://www.example.com/image.png. The image will + // not be uploaded as image asset. + string image_url = 12; + + // Contextual keywords, for example, Sedans, 4 door sedans. + repeated string contextual_keywords = 13; + + // Android deep link, for example, + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 14; + + // iOS deep link, for example, exampleApp://content/page. + string ios_app_link = 16; + + // iOS app store ID. This is used to check if the user has the app installed + // on their device before deep linking. If this field is set, then the + // ios_app_link field must also be present. + int64 ios_app_store_id = 17; + + // Similar IDs. + repeated string similar_ids = 15; +} + +// A dynamic hotels and rentals asset. +message DynamicHotelsAndRentalsAsset { + // Required. Property ID which can be any sequence of letters and digits, and + // must be unique and match the values of remarketing tag. Required. + string property_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Property name, for example, Mountain View Hotel. Required. + string property_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Image URL, for example, http://www.example.com/image.png. The image will + // not be uploaded as image asset. + string image_url = 3; + + // Destination name, for example, Downtown Mountain View. + string destination_name = 4; + + // Description, for example, Close to SJC Airport. + string description = 5; + + // Price which can be number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. + string price = 6; + + // ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. + // Must be less than the 'price' field. + string sale_price = 7; + + // Star rating. Must be a number between 1 to 5, inclusive. + int64 star_rating = 8; + + // Category, for example, Hotel suite. + string category = 9; + + // Contextual keywords, for example, Mountain View "Hotels", South Bay hotels. + repeated string contextual_keywords = 10; + + // Address which can be specified in one of the following formats. + // (1) City, state, code, country, for example, Mountain View, CA, USA. + // (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 + string address = 11; + + // Android deep link, for example, + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 12; + + // iOS deep link, for example, exampleApp://content/page. + string ios_app_link = 13; + + // iOS app store ID. This is used to check if the user has the app installed + // on their device before deep linking. If this field is set, then the + // ios_app_link field must also be present. + int64 ios_app_store_id = 14; + + // Formatted price which can be any characters. If set, this attribute will be + // used instead of 'price', for example, Starting at $100.00. + string formatted_price = 15; + + // Formatted sale price which can be any characters. If set, this attribute + // will be used instead of 'sale price', for example, On sale for $80.00. + string formatted_sale_price = 16; + + // Similar property IDs. + repeated string similar_property_ids = 17; +} + +// A dynamic flights asset. +message DynamicFlightsAsset { + // Required. Destination ID which can be any sequence of letters and digits, + // and must be unique and match the values of remarketing tag. Required. + string destination_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Origin ID which can be any sequence of letters and digits. The ID sequence + // (destination ID + origin ID) must be unique. + string origin_id = 2; + + // Required. Flight description, for example, Book your ticket. Required. + string flight_description = 3 [(google.api.field_behavior) = REQUIRED]; + + // Image URL, for example, http://www.example.com/image.png. The image will + // not be uploaded as image asset. + string image_url = 4; + + // Destination name, for example, Paris. + string destination_name = 5; + + // Origin name, for example, London. + string origin_name = 6; + + // Flight price which can be number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. + string flight_price = 7; + + // Flight sale price which can be number followed by the alphabetic currency + // code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 + // USD. Must be less than the 'flight_price' field. + string flight_sale_price = 8; + + // Formatted price which can be any characters. If set, this attribute will be + // used instead of 'price', for example, Starting at $100.00. + string formatted_price = 9; + + // Formatted sale price which can be any characters. If set, this attribute + // will be used instead of 'sale price', for example, On sale for $80.00. + string formatted_sale_price = 10; + + // Android deep link, for example, + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 11; + + // iOS deep link, for example, exampleApp://content/page. + string ios_app_link = 12; + + // iOS app store ID. This is used to check if the user has the app installed + // on their device before deep linking. If this field is set, then the + // ios_app_link field must also be present. + int64 ios_app_store_id = 13; + + // Similar destination IDs, for example, PAR,LON. + repeated string similar_destination_ids = 14; + + // A custom field which can be multiple key to values mapping separated by + // delimiters (",", "|" and ":"), in the forms of + // ": , , ... , | : , ... + // , | ... | : , ... ," for example, wifi: + // most | aircraft: 320, 77W | flights: 42 | legroom: 32". + string custom_mapping = 15; +} + +// A Discovery Carousel Card asset. +message DiscoveryCarouselCardAsset { + // Asset resource name of the associated 1.91:1 marketing image. This and/or + // square marketing image asset is required. + string marketing_image_asset = 1; + + // Asset resource name of the associated square marketing image. This + // and/or a marketing image asset is required. + string square_marketing_image_asset = 2; + + // Asset resource name of the associated 4:5 portrait marketing image. + string portrait_marketing_image_asset = 3; + + // Required. Headline of the carousel card. + string headline = 4 [(google.api.field_behavior) = REQUIRED]; + + // Call to action text. + string call_to_action_text = 5; +} + +// A dynamic travel asset. +message DynamicTravelAsset { + // Required. Destination ID which can be any sequence of letters and digits, + // and must be unique and match the values of remarketing tag. Required. + string destination_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Origin ID which can be any sequence of letters and digits. The ID sequence + // (destination ID + origin ID) must be unique. + string origin_id = 2; + + // Required. Title, for example, Book your train ticket. Required. + string title = 3 [(google.api.field_behavior) = REQUIRED]; + + // Destination name, for example, Paris. + string destination_name = 4; + + // Destination address which can be specified in one of the following formats. + // (1) City, state, code, country, for example, Mountain View, CA, USA. + // (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403. + string destination_address = 5; + + // Origin name, for example, London. + string origin_name = 6; + + // Price which can be a number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. + string price = 7; + + // Sale price which can be a number followed by the alphabetic currency + // code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 + // USD. Must be less than the 'price' field. + string sale_price = 8; + + // Formatted price which can be any characters. If set, this attribute will be + // used instead of 'price', for example, Starting at $100.00. + string formatted_price = 9; + + // Formatted sale price which can be any characters. If set, this attribute + // will be used instead of 'sale price', for example, On sale for $80.00. + string formatted_sale_price = 10; + + // Category, for example, Express. + string category = 11; + + // Contextual keywords, for example, Paris trains. + repeated string contextual_keywords = 12; + + // Similar destination IDs, for example, NYC. + repeated string similar_destination_ids = 13; + + // Image URL, for example, http://www.example.com/image.png. The image will + // not be uploaded as image asset. + string image_url = 14; + + // Android deep link, for example, + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 15; + + // iOS deep link, for example, exampleApp://content/page. + string ios_app_link = 16; + + // iOS app store ID. This is used to check if the user has the app installed + // on their device before deep linking. If this field is set, then the + // ios_app_link field must also be present. + int64 ios_app_store_id = 17; +} + +// A dynamic local asset. +message DynamicLocalAsset { + // Required. Deal ID which can be any sequence of letters and digits, and must + // be unique and match the values of remarketing tag. Required. + string deal_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Deal name, for example, 50% off at Mountain View Grocers. + // Required. + string deal_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Subtitle, for example, Groceries. + string subtitle = 3; + + // Description, for example, Save on your weekly bill. + string description = 4; + + // Price which can be a number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. + string price = 5; + + // Sale price which can be number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. + // Must be less than the 'price' field. + string sale_price = 6; + + // Image URL, for example, http://www.example.com/image.png. The image will + // not be uploaded as image asset. + string image_url = 7; + + // Address which can be specified in one of the following formats. + // (1) City, state, code, country, for example, Mountain View, CA, USA. + // (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403. + string address = 8; + + // Category, for example, Food. + string category = 9; + + // Contextual keywords, for example, Save groceries coupons. + repeated string contextual_keywords = 10; + + // Formatted price which can be any characters. If set, this attribute will be + // used instead of 'price', for example, Starting at $100.00. + string formatted_price = 11; + + // Formatted sale price which can be any characters. If set, this attribute + // will be used instead of 'sale price', for example, On sale for $80.00. + string formatted_sale_price = 12; + + // Android deep link, for example, + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 13; + + // Similar deal IDs, for example, 1275. + repeated string similar_deal_ids = 14; + + // iOS deep link, for example, exampleApp://content/page. + string ios_app_link = 15; + + // iOS app store ID. This is used to check if the user has the app installed + // on their device before deep linking. If this field is set, then the + // ios_app_link field must also be present. + int64 ios_app_store_id = 16; +} + +// A dynamic jobs asset. +message DynamicJobsAsset { + // Required. Job ID which can be any sequence of letters and digits, and must + // be unique and match the values of remarketing tag. Required. + string job_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Location ID which can be any sequence of letters and digits. The ID + // sequence (job ID + location ID) must be unique. + string location_id = 2; + + // Required. Job title, for example, Software engineer. Required. + string job_title = 3 [(google.api.field_behavior) = REQUIRED]; + + // Job subtitle, for example, Level II. + string job_subtitle = 4; + + // Description, for example, Apply your technical skills. + string description = 5; + + // Image URL, for example, http://www.example.com/image.png. The image will + // not be uploaded as image asset. + string image_url = 6; + + // Job category, for example, Technical. + string job_category = 7; + + // Contextual keywords, for example, Software engineering job. + repeated string contextual_keywords = 8; + + // Address which can be specified in one of the following formats. + // (1) City, state, code, country, for example, Mountain View, CA, USA. + // (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403. + string address = 9; + + // Salary, for example, $100,000. + string salary = 10; + + // Android deep link, for example, + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 11; + + // Similar job IDs, for example, 1275. + repeated string similar_job_ids = 12; + + // iOS deep link, for example, exampleApp://content/page. + string ios_app_link = 13; + + // iOS app store ID. This is used to check if the user has the app installed + // on their device before deep linking. If this field is set, then the + // ios_app_link field must also be present. + int64 ios_app_store_id = 14; +} + +// A location asset. +message LocationAsset { + // Place IDs uniquely identify a place in the Google Places database and on + // Google Maps. + // This field is unique for a given customer ID and asset type. See + // https://developers.google.com/places/web-service/place-id to learn more + // about Place ID. + string place_id = 1; + + // The list of business locations for the customer. + // This will only be returned if the Location Asset is syncing from the + // Business Profile account. It is possible to have multiple Business Profile + // listings under the same account that point to the same Place ID. + repeated BusinessProfileLocation business_profile_locations = 2; + + // The type of location ownership. + // If the type is BUSINESS_OWNER, it will be served as a location extension. + // If the type is AFFILIATE, it will be served as an affiliate location. + google.ads.googleads.v16.enums.LocationOwnershipTypeEnum.LocationOwnershipType + location_ownership_type = 3; +} + +// Business Profile location data synced from the linked Business Profile +// account. +message BusinessProfileLocation { + // Advertiser specified label for the location on the Business Profile + // account. This is synced from the Business Profile account. + repeated string labels = 1; + + // Business Profile store code of this location. This is synced from the + // Business Profile account. + string store_code = 2; + + // Listing ID of this Business Profile location. This is synced from the + // linked Business Profile account. + int64 listing_id = 3; +} + +// A hotel property asset. +message HotelPropertyAsset { + // Place IDs uniquely identify a place in the Google Places database and on + // Google Maps. See https://developers.google.com/places/web-service/place-id + // to learn more. + string place_id = 1; + + // Address of the hotel. Read-only. + string hotel_address = 2; + + // Name of the hotel. Read-only. + string hotel_name = 3; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/asset_usage.proto b/third_party/googleapis/google/ads/googleads/v16/common/asset_usage.proto new file mode 100644 index 000000000..a3445a87f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/asset_usage.proto @@ -0,0 +1,40 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetUsageProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing asset usage. + +// Contains the usage information of the asset. +message AssetUsage { + // Resource name of the asset. + string asset = 1; + + // The served field type of the asset. + google.ads.googleads.v16.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + served_asset_field_type = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/audiences.proto b/third_party/googleapis/google/ads/googleads/v16/common/audiences.proto new file mode 100644 index 000000000..5b6218950 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/audiences.proto @@ -0,0 +1,184 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/gender_type.proto"; +import "google/ads/googleads/v16/enums/income_range_type.proto"; +import "google/ads/googleads/v16/enums/parental_status_type.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AudiencesProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Positive dimension specifying user's audience. +message AudienceDimension { + // Dimension specifying users who belong to the audience. + oneof dimension { + // Dimension specifying users by their age. + AgeDimension age = 1; + + // Dimension specifying users by their gender. + GenderDimension gender = 2; + + // Dimension specifying users by their household income. + HouseholdIncomeDimension household_income = 3; + + // Dimension specifying users by their parental status. + ParentalStatusDimension parental_status = 4; + + // Dimension specifying users by their membership in other audience + // segments. + AudienceSegmentDimension audience_segments = 5; + } +} + +// Negative dimension specifying users to exclude from the audience. +message AudienceExclusionDimension { + // Audience segment to be excluded. + repeated ExclusionSegment exclusions = 1; +} + +// An audience segment to be excluded from an audience. +message ExclusionSegment { + // Segment to be excluded. + oneof segment { + // User list segment to be excluded. + UserListSegment user_list = 1; + } +} + +// Dimension specifying users by their age. +message AgeDimension { + // Contiguous age range to be included in the dimension. + repeated AgeSegment age_ranges = 1; + + // Include users whose age is not determined. + optional bool include_undetermined = 2; +} + +// Contiguous age range. +message AgeSegment { + // Minimum age to include. A minimum age must be specified and must be at + // least 18. Allowed values are 18, 25, 35, 45, 55, and 65. + optional int32 min_age = 1; + + // Maximum age to include. A maximum age need not be specified. If specified, + // max_age must be greater than min_age, and allowed values are 24, 34, 44, + // 54, and 64. + optional int32 max_age = 2; +} + +// Dimension specifying users by their gender. +message GenderDimension { + // Included gender demographic segments. + repeated google.ads.googleads.v16.enums.GenderTypeEnum.GenderType genders = 1; + + // Include users whose gender is not determined. + optional bool include_undetermined = 2; +} + +// Dimension specifying users by their household income. +message HouseholdIncomeDimension { + // Included household income demographic segments. + repeated google.ads.googleads.v16.enums.IncomeRangeTypeEnum.IncomeRangeType + income_ranges = 1; + + // Include users whose household income is not determined. + optional bool include_undetermined = 2; +} + +// Dimension specifying users by their parental status. +message ParentalStatusDimension { + // Included parental status demographic segments. + repeated + google.ads.googleads.v16.enums.ParentalStatusTypeEnum.ParentalStatusType + parental_statuses = 1; + + // Include users whose parental status is undetermined. + optional bool include_undetermined = 2; +} + +// Dimension specifying users by their membership in other audience segments. +message AudienceSegmentDimension { + // Included audience segments. Users are included if they belong to at least + // one segment. + repeated AudienceSegment segments = 1; +} + +// Positive audience segment. +message AudienceSegment { + // Positive segment. + oneof segment { + // User list segment. + UserListSegment user_list = 1; + + // Affinity or In-market segment. + UserInterestSegment user_interest = 2; + + // Live-event audience segment. + LifeEventSegment life_event = 3; + + // Detailed demographic segment. + DetailedDemographicSegment detailed_demographic = 4; + + // Custom audience segment. + CustomAudienceSegment custom_audience = 5; + } +} + +// User list segment. +// The Similar Audiences sunset starts May 2023. Refer to +// https://ads-developers.googleblog.com/2022/11/announcing-deprecation-and-sunset-of.html +// for other options. +message UserListSegment { + // The user list resource. + optional string user_list = 1; +} + +// User interest segment. +message UserInterestSegment { + // The user interest resource. + optional string user_interest_category = 1; +} + +// Live event segment. +message LifeEventSegment { + // The life event resource. + optional string life_event = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + }]; +} + +// Detailed demographic segment. +message DetailedDemographicSegment { + // The detailed demographic resource. + optional string detailed_demographic = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + }]; +} + +// Custom audience segment. +message CustomAudienceSegment { + // The custom audience resource. + optional string custom_audience = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/bidding.proto b/third_party/googleapis/google/ads/googleads/v16/common/bidding.proto new file mode 100644 index 000000000..b0fc94435 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/bidding.proto @@ -0,0 +1,218 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/target_frequency_time_unit.proto"; +import "google/ads/googleads/v16/enums/target_impression_share_location.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing bidding schemes. + +// Commission is an automatic bidding strategy in which the advertiser pays a +// certain portion of the conversion value. +message Commission { + // Commission rate defines the portion of the conversion value that the + // advertiser will be billed. A commission rate of x should be passed into + // this field as (x * 1,000,000). For example, 106,000 represents a commission + // rate of 0.106 (10.6%). + optional int64 commission_rate_micros = 2; +} + +// An automated bidding strategy that raises bids for clicks +// that seem more likely to lead to a conversion and lowers +// them for clicks where they seem less likely. +// +// This bidding strategy is deprecated and cannot be created anymore. Use +// ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. +message EnhancedCpc {} + +// Manual bidding strategy that allows advertiser to set the bid per +// advertiser-specified action. +message ManualCpa {} + +// Manual click-based bidding where user pays per click. +message ManualCpc { + // Whether bids are to be enhanced based on conversion optimizer data. + optional bool enhanced_cpc_enabled = 2; +} + +// Manual impression-based bidding where user pays per thousand impressions. +message ManualCpm {} + +// View based bidding where user pays per video view. +message ManualCpv {} + +// An automated bidding strategy to help get the most conversions for your +// campaigns while spending your budget. +message MaximizeConversions { + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // Mutable for portfolio bidding strategies only. + int64 cpc_bid_ceiling_micros = 2; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // Mutable for portfolio bidding strategies only. + int64 cpc_bid_floor_micros = 3; + + // The target cost-per-action (CPA) option. This is the average amount that + // you would like to spend per conversion action specified in micro units of + // the bidding strategy's currency. If set, the bid strategy will get as many + // conversions as possible at or below the target cost-per-action. If the + // target CPA is not set, the bid strategy will aim to achieve the lowest + // possible CPA given the budget. + int64 target_cpa_micros = 4; +} + +// An automated bidding strategy to help get the most conversion value for your +// campaigns while spending your budget. +message MaximizeConversionValue { + // The target return on ad spend (ROAS) option. If set, the bid strategy will + // maximize revenue while averaging the target return on ad spend. If the + // target ROAS is high, the bid strategy may not be able to spend the full + // budget. If the target ROAS is not set, the bid strategy will aim to + // achieve the highest possible ROAS for the budget. + double target_roas = 2; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // Mutable for portfolio bidding strategies only. + int64 cpc_bid_ceiling_micros = 3; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // Mutable for portfolio bidding strategies only. + int64 cpc_bid_floor_micros = 4; +} + +// An automated bid strategy that sets bids to help get as many conversions as +// possible at the target cost-per-acquisition (CPA) you set. +message TargetCpa { + // Average CPA target. + // This target should be greater than or equal to minimum billable unit based + // on the currency for the account. + optional int64 target_cpa_micros = 4; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_ceiling_micros = 5; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_floor_micros = 6; +} + +// Target CPM (cost per thousand impressions) is an automated bidding strategy +// that sets bids to optimize performance given the target CPM you set. +message TargetCpm { + // Additional information related to bidding goal. + oneof goal { + // Target Frequency bidding goal details. + TargetCpmTargetFrequencyGoal target_frequency_goal = 1; + } +} + +// Target Frequency bidding goal details. +message TargetCpmTargetFrequencyGoal { + // Target Frequency count representing how many times you want to reach + // a single user. + int64 target_count = 1; + + // Time window expressing the period over which you want to reach + // the specified target_count. + google.ads.googleads.v16.enums.TargetFrequencyTimeUnitEnum + .TargetFrequencyTimeUnit time_unit = 2; +} + +// An automated bidding strategy that sets bids so that a certain percentage of +// search ads are shown at the top of the first page (or other targeted +// location). +message TargetImpressionShare { + // The targeted location on the search results page. + google.ads.googleads.v16.enums.TargetImpressionShareLocationEnum + .TargetImpressionShareLocation location = 1; + + // The chosen fraction of ads to be shown in the targeted location in micros. + // For example, 1% equals 10,000. + optional int64 location_fraction_micros = 4; + + // The highest CPC bid the automated bidding system is permitted to specify. + // This is a required field entered by the advertiser that sets the ceiling + // and specified in local micros. + optional int64 cpc_bid_ceiling_micros = 5; +} + +// An automated bidding strategy that helps you maximize revenue while +// averaging a specific target return on ad spend (ROAS). +message TargetRoas { + // Required. The chosen revenue (based on conversion data) per unit of spend. + // Value must be between 0.01 and 1000.0, inclusive. + optional double target_roas = 4; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_ceiling_micros = 5; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_floor_micros = 6; +} + +// An automated bid strategy that sets your bids to help get as many clicks +// as possible within your budget. +message TargetSpend { + // The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + // This field is deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + optional int64 target_spend_micros = 3 [deprecated = true]; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + optional int64 cpc_bid_ceiling_micros = 4; +} + +// A bidding strategy where bids are a fraction of the advertised price for +// some good or service. +message PercentCpc { + // Maximum bid limit that can be set by the bid strategy. This is + // an optional field entered by the advertiser and specified in local micros. + // Note: A zero value is interpreted in the same way as having bid_ceiling + // undefined. + optional int64 cpc_bid_ceiling_micros = 3; + + // Adjusts the bid for each auction upward or downward, depending on the + // likelihood of a conversion. Individual bids may exceed + // cpc_bid_ceiling_micros, but the average bid amount for a campaign should + // not. + optional bool enhanced_cpc_enabled = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/click_location.proto b/third_party/googleapis/google/ads/googleads/v16/common/click_location.proto new file mode 100644 index 000000000..18e4b0736 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/click_location.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ClickLocationProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing a ClickLocation. + +// Location criteria associated with a click. +message ClickLocation { + // The city location criterion associated with the impression. + optional string city = 6; + + // The country location criterion associated with the impression. + optional string country = 7; + + // The metro location criterion associated with the impression. + optional string metro = 8; + + // The most specific location criterion associated with the impression. + optional string most_specific = 9; + + // The region location criterion associated with the impression. + optional string region = 10; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/consent.proto b/third_party/googleapis/google/ads/googleads/v16/common/consent.proto new file mode 100644 index 000000000..84abe77be --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/consent.proto @@ -0,0 +1,42 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/consent_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ConsentProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing common consent proto messages. + +// Consent +message Consent { + // This represents consent for ad user data. + google.ads.googleads.v16.enums.ConsentStatusEnum.ConsentStatus ad_user_data = + 1; + + // This represents consent for ad personalization. + // This can only be set for OfflineUserDataJobService and UserDataService. + google.ads.googleads.v16.enums.ConsentStatusEnum.ConsentStatus + ad_personalization = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/criteria.proto b/third_party/googleapis/google/ads/googleads/v16/common/criteria.proto new file mode 100644 index 000000000..4e245fc78 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/criteria.proto @@ -0,0 +1,834 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/age_range_type.proto"; +import "google/ads/googleads/v16/enums/app_payment_model_type.proto"; +import "google/ads/googleads/v16/enums/content_label_type.proto"; +import "google/ads/googleads/v16/enums/day_of_week.proto"; +import "google/ads/googleads/v16/enums/device.proto"; +import "google/ads/googleads/v16/enums/gender_type.proto"; +import "google/ads/googleads/v16/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v16/enums/income_range_type.proto"; +import "google/ads/googleads/v16/enums/interaction_type.proto"; +import "google/ads/googleads/v16/enums/keyword_match_type.proto"; +import "google/ads/googleads/v16/enums/listing_group_type.proto"; +import "google/ads/googleads/v16/enums/location_group_radius_units.proto"; +import "google/ads/googleads/v16/enums/minute_of_hour.proto"; +import "google/ads/googleads/v16/enums/parental_status_type.proto"; +import "google/ads/googleads/v16/enums/product_category_level.proto"; +import "google/ads/googleads/v16/enums/product_channel.proto"; +import "google/ads/googleads/v16/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v16/enums/product_condition.proto"; +import "google/ads/googleads/v16/enums/product_custom_attribute_index.proto"; +import "google/ads/googleads/v16/enums/product_type_level.proto"; +import "google/ads/googleads/v16/enums/proximity_radius_units.proto"; +import "google/ads/googleads/v16/enums/webpage_condition_operand.proto"; +import "google/ads/googleads/v16/enums/webpage_condition_operator.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriteriaProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing criteria types. + +// A keyword criterion. +message KeywordInfo { + // The text of the keyword (at most 80 characters and 10 words). + optional string text = 3; + + // The match type of the keyword. + google.ads.googleads.v16.enums.KeywordMatchTypeEnum.KeywordMatchType + match_type = 2; +} + +// A placement criterion. This can be used to modify bids for sites when +// targeting the content network. +message PlacementInfo { + // URL of the placement. + // + // For example, "http://www.domain.com". + optional string url = 2; +} + +// A Negative Keyword List criterion. Represents a shared set +// of negative keywords that can be excluded at the account-level. +// Only one negative keyword list criterion can be attached per account. +message NegativeKeywordListInfo { + // The NegativeKeywordListInfo shared set resource name. + optional string shared_set = 1; +} + +// A mobile app category criterion. +message MobileAppCategoryInfo { + // The mobile app category constant resource name. + optional string mobile_app_category_constant = 2 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + }]; +} + +// A mobile application criterion. +message MobileApplicationInfo { + // A string that uniquely identifies a mobile application to Google Ads API. + // The format of this string is "{platform}-{platform_native_id}", where + // platform is "1" for iOS apps and "2" for Android apps, and where + // platform_native_id is the mobile application identifier native to the + // corresponding platform. + // For iOS, this native identifier is the 9 digit string that appears at the + // end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose + // App Store link is + // "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, + // this native identifier is the application's package name (for example, + // "com.labpixies.colordrips" for "Color Drips" given Google Play link + // "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). + // A well formed app id for Google Ads API would thus be "1-476943146" for iOS + // and "2-com.labpixies.colordrips" for Android. + // This field is required and must be set in CREATE operations. + optional string app_id = 4; + + // Name of this mobile application. + optional string name = 5; +} + +// A location criterion. +message LocationInfo { + // The geo target constant resource name. + optional string geo_target_constant = 2; +} + +// A device criterion. +message DeviceInfo { + // Type of the device. + google.ads.googleads.v16.enums.DeviceEnum.Device type = 1; +} + +// A listing group criterion. +message ListingGroupInfo { + // Type of the listing group. + google.ads.googleads.v16.enums.ListingGroupTypeEnum.ListingGroupType type = 1; + + // Dimension value with which this listing group is refining its parent. + // Undefined for the root group. + ListingDimensionInfo case_value = 2; + + // Resource name of ad group criterion which is the parent listing group + // subdivision. Null for the root group. + optional string parent_ad_group_criterion = 4; + + // The path of dimensions defining this listing group. + optional ListingDimensionPath path = 5; +} + +// The path of dimensions defining a listing group. +message ListingDimensionPath { + // The complete path of dimensions through the listing group hierarchy, from + // the root (excluding the root itself) to this listing group. + repeated ListingDimensionInfo dimensions = 1; +} + +// A listing scope criterion. +message ListingScopeInfo { + // Scope of the campaign criterion. + repeated ListingDimensionInfo dimensions = 2; +} + +// Listing dimensions for listing group criterion. +message ListingDimensionInfo { + // Dimension of one of the types below is always present. + oneof dimension { + // Advertiser-specific hotel ID. + HotelIdInfo hotel_id = 2; + + // Class of the hotel as a number of stars 1 to 5. + HotelClassInfo hotel_class = 3; + + // Country or Region the hotel is located in. + HotelCountryRegionInfo hotel_country_region = 4; + + // State the hotel is located in. + HotelStateInfo hotel_state = 5; + + // City the hotel is located in. + HotelCityInfo hotel_city = 6; + + // Category of a product offer. + ProductCategoryInfo product_category = 24; + + // Brand of a product offer. + ProductBrandInfo product_brand = 15; + + // Locality of a product offer. + ProductChannelInfo product_channel = 8; + + // Availability of a product offer. + ProductChannelExclusivityInfo product_channel_exclusivity = 9; + + // Condition of a product offer. + ProductConditionInfo product_condition = 10; + + // Custom attribute of a product offer. + ProductCustomAttributeInfo product_custom_attribute = 16; + + // Item id of a product offer. + ProductItemIdInfo product_item_id = 11; + + // Type of a product offer. + ProductTypeInfo product_type = 12; + + // Grouping of a product offer. This listing dimension is deprecated and it + // is supported only in Display campaigns. + ProductGroupingInfo product_grouping = 17; + + // Labels of a product offer. This listing dimension is deprecated and it is + // supported only in Display campaigns. + ProductLabelsInfo product_labels = 18; + + // Legacy condition of a product offer. This listing dimension is deprecated + // and it is supported only in Display campaigns. + ProductLegacyConditionInfo product_legacy_condition = 19; + + // Full type of a product offer. This listing dimension is deprecated and it + // is supported only in Display campaigns. + ProductTypeFullInfo product_type_full = 20; + + // Advertiser-specific activity ID. + ActivityIdInfo activity_id = 21; + + // Rating of the activity as a number 1 to 5, where 5 is the best. + ActivityRatingInfo activity_rating = 22; + + // The country where the travel activity is available. + ActivityCountryInfo activity_country = 23; + + // The state where the travel activity is available. + ActivityStateInfo activity_state = 25; + + // The city where the travel activity is available. + ActivityCityInfo activity_city = 26; + + // Unknown dimension. Set when no other listing dimension is set. + UnknownListingDimensionInfo unknown_listing_dimension = 14; + } +} + +// Advertiser-specific hotel ID. +message HotelIdInfo { + // String value of the hotel ID. + optional string value = 2; +} + +// Class of the hotel as a number of stars 1 to 5. +message HotelClassInfo { + // Long value of the hotel class. + optional int64 value = 2; +} + +// Country or Region the hotel is located in. +message HotelCountryRegionInfo { + // The Geo Target Constant resource name. + optional string country_region_criterion = 2; +} + +// State the hotel is located in. +message HotelStateInfo { + // The Geo Target Constant resource name. + optional string state_criterion = 2; +} + +// City the hotel is located in. +message HotelCityInfo { + // The Geo Target Constant resource name. + optional string city_criterion = 2; +} + +// Category of a product offer. +message ProductCategoryInfo { + // ID of the product category. + // + // This ID is equivalent to the google_product_category ID as described in + // this article: https://support.google.com/merchants/answer/6324436 + optional int64 category_id = 1; + + // Level of the product category. + google.ads.googleads.v16.enums.ProductCategoryLevelEnum.ProductCategoryLevel + level = 2; +} + +// Brand of the product. +message ProductBrandInfo { + // String value of the product brand. + optional string value = 2; +} + +// Locality of a product offer. +message ProductChannelInfo { + // Value of the locality. + google.ads.googleads.v16.enums.ProductChannelEnum.ProductChannel channel = 1; +} + +// Availability of a product offer. +message ProductChannelExclusivityInfo { + // Value of the availability. + google.ads.googleads.v16.enums.ProductChannelExclusivityEnum + .ProductChannelExclusivity channel_exclusivity = 1; +} + +// Condition of a product offer. +message ProductConditionInfo { + // Value of the condition. + google.ads.googleads.v16.enums.ProductConditionEnum.ProductCondition + condition = 1; +} + +// Custom attribute of a product offer. +message ProductCustomAttributeInfo { + // String value of the product custom attribute. + optional string value = 3; + + // Indicates the index of the custom attribute. + google.ads.googleads.v16.enums.ProductCustomAttributeIndexEnum + .ProductCustomAttributeIndex index = 2; +} + +// Item id of a product offer. +message ProductItemIdInfo { + // Value of the id. + optional string value = 2; +} + +// Type of a product offer. +message ProductTypeInfo { + // Value of the type. + optional string value = 3; + + // Level of the type. + google.ads.googleads.v16.enums.ProductTypeLevelEnum.ProductTypeLevel level = + 2; +} + +// Grouping of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductGroupingInfo { + // String value of the product grouping. + optional string value = 1; +} + +// Labels of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductLabelsInfo { + // String value of the product labels. + optional string value = 1; +} + +// Legacy condition of a product offer. This listing dimension is deprecated and +// it is supported only in Display campaigns. +message ProductLegacyConditionInfo { + // String value of the product legacy condition. + optional string value = 1; +} + +// Full type of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductTypeFullInfo { + // String value of the product full type. + optional string value = 1; +} + +// Unknown listing dimension. +message UnknownListingDimensionInfo {} + +// Criterion for hotel date selection (default dates versus user selected). +message HotelDateSelectionTypeInfo { + // Type of the hotel date selection + google.ads.googleads.v16.enums.HotelDateSelectionTypeEnum + .HotelDateSelectionType type = 1; +} + +// Criterion for number of days prior to the stay the booking is being made. +message HotelAdvanceBookingWindowInfo { + // Low end of the number of days prior to the stay. + optional int64 min_days = 3; + + // High end of the number of days prior to the stay. + optional int64 max_days = 4; +} + +// Criterion for length of hotel stay in nights. +message HotelLengthOfStayInfo { + // Low end of the number of nights in the stay. + optional int64 min_nights = 3; + + // High end of the number of nights in the stay. + optional int64 max_nights = 4; +} + +// Criterion for a check-in date range. +message HotelCheckInDateRangeInfo { + // Start date in the YYYY-MM-DD format. + string start_date = 1; + + // End date in the YYYY-MM-DD format. + string end_date = 2; +} + +// Criterion for day of the week the booking is for. +message HotelCheckInDayInfo { + // The day of the week. + google.ads.googleads.v16.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; +} + +// Advertiser-specific activity ID. +message ActivityIdInfo { + // String value of the activity ID. + optional string value = 1; +} + +// Rating of the activity as a number 1 to 5, where 5 is the best. +message ActivityRatingInfo { + // Long value of the activity rating. + optional int64 value = 1; +} + +// The country where the travel activity is available. +message ActivityCountryInfo { + // String value of the activity country. The Geo Target Constant resource + // name. + optional string value = 1; +} + +// The state where the travel activity is available. +message ActivityStateInfo { + // String value of the activity state. The Geo Target Constant resource + // name. + optional string value = 1; +} + +// The city where the travel activity is available. +message ActivityCityInfo { + // String value of the activity city. The Geo Target Constant resource + // name. + optional string value = 1; +} + +// Criterion for Interaction Type. +message InteractionTypeInfo { + // The interaction type. + google.ads.googleads.v16.enums.InteractionTypeEnum.InteractionType type = 1; +} + +// Represents an AdSchedule criterion. +// +// AdSchedule is specified as the day of the week and a time interval +// within which ads will be shown. +// +// No more than six AdSchedules can be added for the same day. +message AdScheduleInfo { + // Minutes after the start hour at which this schedule starts. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v16.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; + + // Minutes after the end hour at which this schedule ends. The schedule is + // exclusive of the end minute. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v16.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; + + // Starting hour in 24 hour time. + // This field must be between 0 and 23, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 start_hour = 6; + + // Ending hour in 24 hour time; 24 signifies end of the day. + // This field must be between 0 and 24, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 end_hour = 7; + + // Day of the week the schedule applies to. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v16.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +} + +// An age range criterion. +message AgeRangeInfo { + // Type of the age range. + google.ads.googleads.v16.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +} + +// A gender criterion. +message GenderInfo { + // Type of the gender. + google.ads.googleads.v16.enums.GenderTypeEnum.GenderType type = 1; +} + +// An income range criterion. +message IncomeRangeInfo { + // Type of the income range. + google.ads.googleads.v16.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +} + +// A parental status criterion. +message ParentalStatusInfo { + // Type of the parental status. + google.ads.googleads.v16.enums.ParentalStatusTypeEnum.ParentalStatusType + type = 1; +} + +// A YouTube Video criterion. +message YouTubeVideoInfo { + // YouTube video id as it appears on the YouTube watch page. + optional string video_id = 2; +} + +// A YouTube Channel criterion. +message YouTubeChannelInfo { + // The YouTube uploader channel id or the channel code of a YouTube channel. + optional string channel_id = 2; +} + +// A User List criterion. Represents a user list that is defined by the +// advertiser to be targeted. +message UserListInfo { + // The User List resource name. + optional string user_list = 2; +} + +// A Proximity criterion. The geo point and radius determine what geographical +// area is included. The address is a description of the geo point that does +// not affect ad serving. +// +// There are two ways to create a proximity. First, by setting an address +// and radius. The geo point will be automatically computed. Second, by +// setting a geo point and radius. The address is an optional label that won't +// be validated. +message ProximityInfo { + // Latitude and longitude. + GeoPointInfo geo_point = 1; + + // The radius of the proximity. + optional double radius = 5; + + // The unit of measurement of the radius. Default is KILOMETERS. + google.ads.googleads.v16.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits + radius_units = 3; + + // Full address. + AddressInfo address = 4; +} + +// Geo point for proximity criterion. +message GeoPointInfo { + // Micro degrees for the longitude. + optional int32 longitude_in_micro_degrees = 3; + + // Micro degrees for the latitude. + optional int32 latitude_in_micro_degrees = 4; +} + +// Address for proximity criterion. +message AddressInfo { + // Postal code. + optional string postal_code = 8; + + // Province or state code. + optional string province_code = 9; + + // Country code. + optional string country_code = 10; + + // Province or state name. + optional string province_name = 11; + + // Street address line 1. + optional string street_address = 12; + + // Street address line 2. This field is write-only. It is only used for + // calculating the longitude and latitude of an address when geo_point is + // empty. + optional string street_address2 = 13; + + // Name of the city. + optional string city_name = 14; +} + +// A topic criterion. Use topics to target or exclude placements in the +// Google Display Network based on the category into which the placement falls +// (for example, "Pets & Animals/Pets/Dogs"). +message TopicInfo { + // The Topic Constant resource name. + optional string topic_constant = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + }]; + + // The category to target or exclude. Each subsequent element in the array + // describes a more specific sub-category. For example, + // "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" + // category. + repeated string path = 4; +} + +// A language criterion. +message LanguageInfo { + // The language constant resource name. + optional string language_constant = 2; +} + +// An IpBlock criterion used for IP exclusions. We allow: +// - IPv4 and IPv6 addresses +// - individual addresses (192.168.0.1) +// - masks for individual addresses (192.168.0.1/32) +// - masks for Class C networks (192.168.0.1/24) +message IpBlockInfo { + // The IP address of this IP block. + optional string ip_address = 2; +} + +// Content Label for category exclusion. +message ContentLabelInfo { + // Content label type, required for CREATE operations. + google.ads.googleads.v16.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +} + +// Represents a Carrier Criterion. +message CarrierInfo { + // The Carrier constant resource name. + optional string carrier_constant = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CarrierConstant" + }]; +} + +// Represents a particular interest-based topic to be targeted. +message UserInterestInfo { + // The UserInterest resource name. + optional string user_interest_category = 2; +} + +// Represents a criterion for targeting webpages of an advertiser's website. +message WebpageInfo { + // The name of the criterion that is defined by this parameter. The name value + // will be used for identifying, sorting and filtering criteria with this type + // of parameters. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional string criterion_name = 3; + + // Conditions, or logical expressions, for webpage targeting. The list of + // webpage targeting conditions are and-ed together when evaluated + // for targeting. An empty list of conditions indicates all pages of the + // campaign's website are targeted. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + repeated WebpageConditionInfo conditions = 2; + + // Website criteria coverage percentage. This is the computed percentage + // of website coverage based on the website target, negative website target + // and negative keywords in the ad group and campaign. For instance, when + // coverage returns as 1, it indicates it has 100% coverage. This field is + // read-only. + double coverage_percentage = 4; + + // List of sample urls that match the website target. This field is read-only. + WebpageSampleInfo sample = 5; +} + +// Logical expression for targeting webpages of an advertiser's website. +message WebpageConditionInfo { + // Operand of webpage targeting condition. + google.ads.googleads.v16.enums.WebpageConditionOperandEnum + .WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v16.enums.WebpageConditionOperatorEnum + .WebpageConditionOperator + operator = 2; + + // Argument of webpage targeting condition. + optional string argument = 4; +} + +// List of sample urls that match the website target +message WebpageSampleInfo { + // Webpage sample urls + repeated string sample_urls = 1; +} + +// Represents an operating system version to be targeted. +message OperatingSystemVersionInfo { + // The operating system version constant resource name. + optional string operating_system_version_constant = 2 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + }]; +} + +// An app payment model criterion. +message AppPaymentModelInfo { + // Type of the app payment model. + google.ads.googleads.v16.enums.AppPaymentModelTypeEnum.AppPaymentModelType + type = 1; +} + +// A mobile device criterion. +message MobileDeviceInfo { + // The mobile device constant resource name. + optional string mobile_device_constant = 2 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + }]; +} + +// A custom affinity criterion. +// A criterion of this type is only targetable. +message CustomAffinityInfo { + // The CustomInterest resource name. + optional string custom_affinity = 2; +} + +// A custom intent criterion. +// A criterion of this type is only targetable. +message CustomIntentInfo { + // The CustomInterest resource name. + optional string custom_intent = 2; +} + +// A radius around a list of locations specified through a feed or assetSet. +message LocationGroupInfo { + // Feed specifying locations for targeting. Cannot be set with AssetSet + // fields. This is required and must be set in CREATE operations. + optional string feed = 5; + + // Geo target constant(s) restricting the scope of the geographic area within + // the feed. Currently only one geo target constant is allowed. Cannot be set + // with AssetSet fields. + repeated string geo_target_constants = 6; + + // Distance in units specifying the radius around targeted locations. + // This is required and must be set in CREATE operations. + optional int64 radius = 7; + + // Unit of the radius. Miles and meters are supported for geo target + // constants. Milli miles and meters are supported for feed item sets and + // asset sets. This is required and must be set in CREATE operations. + google.ads.googleads.v16.enums.LocationGroupRadiusUnitsEnum + .LocationGroupRadiusUnits radius_units = 4; + + // FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, + // then all items that appear in at least one set are targeted. This field + // cannot be used with geo_target_constants. This is optional and can only be + // set in CREATE operations. Cannot be set with AssetSet fields. + repeated string feed_item_sets = 8; + + // Denotes that the latest customer level asset set is used for targeting. + // Used with radius and radius_units. Cannot be used with + // feed, geo target constants or feed item sets. When using asset sets, either + // this field or location_group_asset_sets should be specified. Both cannot be + // used at the same time. This can only be set in CREATE operations. + optional bool enable_customer_level_location_asset_set = 9; + + // AssetSets whose Assets are targeted. If multiple IDs are specified, then + // all items that appear in at least one set are targeted. This field cannot + // be used with feed, geo target constants or feed item sets. When using asset + // sets, either this field or enable_customer_level_location_asset_set should + // be specified. Both cannot be used at the same time. This can only be set + // in CREATE operations. + repeated string location_group_asset_sets = 10; +} + +// A custom audience criterion. +message CustomAudienceInfo { + // The CustomAudience resource name. + string custom_audience = 1; +} + +// A combined audience criterion. +message CombinedAudienceInfo { + // The CombinedAudience resource name. + string combined_audience = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CombinedAudience" + }]; +} + +// An audience criterion. +message AudienceInfo { + // The Audience resource name. + string audience = 1; +} + +// A Smart Campaign keyword theme. +message KeywordThemeInfo { + // Either a predefined keyword theme constant or free-form text may be + // specified. + oneof keyword_theme { + // The resource name of a Smart Campaign keyword theme constant. + // `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}` + string keyword_theme_constant = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + }]; + + // Free-form text to be matched to a Smart Campaign keyword theme constant + // on a best-effort basis. + string free_form_keyword_theme = 2; + } +} + +// A Local Services Ads service ID. Represents a service type +// (such as install_faucet) that a Local Services Campaign can target. +message LocalServiceIdInfo { + // The criterion resource name. + string service_id = 1; +} + +// A Search Theme criterion only on Performance Max campaign. Represents a +// keyword-like advertiser input. +message SearchThemeInfo { + // Each Search Theme has a value of a simple string, like keywords. + // There are limits on overall length, allowed characters, and number + // of words. + string text = 1; +} + +// Represents a Brand Criterion used for targeting based on commercial knowledge +// graph. +message BrandInfo { + // The Commercial KG MID for the brand. + optional string entity_id = 1; +} + +// A Brand List Criterion is used to specify a list of brands. The list is +// represented as a SharedSet id type BRAND_HINT. A criterion of this type can +// be either targeted or excluded. +message BrandListInfo { + // Shared set resource name of the brand list. + optional string shared_set = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/criterion_category_availability.proto b/third_party/googleapis/google/ads/googleads/v16/common/criterion_category_availability.proto new file mode 100644 index 000000000..995987817 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/criterion_category_availability.proto @@ -0,0 +1,85 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v16/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v16/enums/criterion_category_channel_availability_mode.proto"; +import "google/ads/googleads/v16/enums/criterion_category_locale_availability_mode.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryAvailabilityProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing criterion category availability information. + +// Information of category availability, per advertising channel. +message CriterionCategoryAvailability { + // Channel types and subtypes that are available to the category. + CriterionCategoryChannelAvailability channel = 1; + + // Locales that are available to the category for the channel. + repeated CriterionCategoryLocaleAvailability locale = 2; +} + +// Information of advertising channel type and subtypes a category is available +// in. +message CriterionCategoryChannelAvailability { + // Format of the channel availability. Can be ALL_CHANNELS (the rest of the + // fields will not be set), CHANNEL_TYPE (only advertising_channel_type type + // will be set, the category is available to all sub types under it) or + // CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, + // advertising_channel_sub_type, and include_default_channel_sub_type will all + // be set). + google.ads.googleads.v16.enums.CriterionCategoryChannelAvailabilityModeEnum + .CriterionCategoryChannelAvailabilityMode availability_mode = 1; + + // Channel type the category is available to. + google.ads.googleads.v16.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_type = 2; + + // Channel subtypes under the channel type the category is available to. + repeated google.ads.googleads.v16.enums.AdvertisingChannelSubTypeEnum + .AdvertisingChannelSubType advertising_channel_sub_type = 3; + + // Whether default channel sub type is included. For example, + // advertising_channel_type being DISPLAY and include_default_channel_sub_type + // being false means that the default display campaign where channel sub type + // is not set is not included in this availability configuration. + optional bool include_default_channel_sub_type = 5; +} + +// Information about which locales a category is available in. +message CriterionCategoryLocaleAvailability { + // Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and + // language will be empty), COUNTRY (only country will be set), LANGUAGE (only + // language wil be set), COUNTRY_AND_LANGUAGE (both country and language will + // be set). + google.ads.googleads.v16.enums.CriterionCategoryLocaleAvailabilityModeEnum + .CriterionCategoryLocaleAvailabilityMode availability_mode = 1; + + // The ISO-3166-1 alpha-2 country code associated with the category. + optional string country_code = 4; + + // ISO 639-1 code of the language associated with the category. + optional string language_code = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/custom_parameter.proto b/third_party/googleapis/google/ads/googleads/v16/common/custom_parameter.proto new file mode 100644 index 000000000..87b6de481 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/custom_parameter.proto @@ -0,0 +1,38 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomParameterProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing CustomParameter and operation + +// A mapping that can be used by custom parameter tags in a +// `tracking_url_template`, `final_urls`, or `mobile_final_urls`. +message CustomParameter { + // The key matching the parameter tag name. + optional string key = 3; + + // The value to be substituted. + optional string value = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/customizer_value.proto b/third_party/googleapis/google/ads/googleads/v16/common/customizer_value.proto new file mode 100644 index 000000000..e4913a786 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/customizer_value.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing common customizer value proto messages. + +// A customizer value that is referenced in customizer linkage entities +// like CustomerCustomizer, CampaignCustomizer, etc. +message CustomizerValue { + // Required. The data type for the customizer value. It must match the + // attribute type. The string_value content must match the constraints + // associated with the type. + google.ads.googleads.v16.enums.CustomizerAttributeTypeEnum + .CustomizerAttributeType type = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Value to insert in creative text. Customizer values of all types + // are stored as string to make formatting unambiguous. + string string_value = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/dates.proto b/third_party/googleapis/google/ads/googleads/v16/common/dates.proto new file mode 100644 index 000000000..0d3937edc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/dates.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "DatesProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing date range message. + +// A date range. +message DateRange { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 3; + + // The end date, in yyyy-mm-dd format. This date is inclusive. + optional string end_date = 4; +} + +// The year month range inclusive of the start and end months. +// Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020). +message YearMonthRange { + // The inclusive start year month. + YearMonth start = 1; + + // The inclusive end year month. + YearMonth end = 2; +} + +// Year month. +message YearMonth { + // The year (for example, 2020). + int64 year = 1; + + // The month of the year. (for example, FEBRUARY). + google.ads.googleads.v16.enums.MonthOfYearEnum.MonthOfYear month = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/extensions.proto b/third_party/googleapis/google/ads/googleads/v16/common/extensions.proto new file mode 100644 index 000000000..ae25e361d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/extensions.proto @@ -0,0 +1,371 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/custom_parameter.proto"; +import "google/ads/googleads/v16/common/feed_common.proto"; +import "google/ads/googleads/v16/enums/app_store.proto"; +import "google/ads/googleads/v16/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v16/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v16/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v16/enums/price_extension_type.proto"; +import "google/ads/googleads/v16/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v16/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionsProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing extension types. + +// Represents an App extension. +message AppFeedItem { + // The visible text displayed when the link is rendered in an ad. + // This string must not be empty, and the length of this string should + // be between 1 and 25, inclusive. + optional string link_text = 9; + + // The store-specific ID for the target application. + // This string must not be empty. + optional string app_id = 10; + + // The application store that the target application belongs to. + // This field is required. + google.ads.googleads.v16.enums.AppStoreEnum.AppStore app_store = 3; + + // A list of possible final URLs after all cross domain redirects. + // This list must not be empty. + repeated string final_urls = 11; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 12; + + // URL template for constructing a tracking URL. Default value is "{lpurl}". + optional string tracking_url_template = 13; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 7; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 14; +} + +// Represents a Call extension. +message CallFeedItem { + // The advertiser's phone number to append to the ad. + // This string must not be empty. + optional string phone_number = 7; + + // Uppercase two-letter country code of the advertiser's phone number. + // This string must not be empty. + optional string country_code = 8; + + // Indicates whether call tracking is enabled. By default, call tracking is + // not enabled. + optional bool call_tracking_enabled = 9; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // call_tracking_enabled is set to true. Otherwise this field is ignored. + optional string call_conversion_action = 10; + + // If true, disable call conversion tracking. call_conversion_action should + // not be set if this is true. Optional. + optional bool call_conversion_tracking_disabled = 11; + + // Enum value that indicates whether this call extension uses its own call + // conversion setting (or just have call conversion disabled), or following + // the account level setting. + google.ads.googleads.v16.enums.CallConversionReportingStateEnum + .CallConversionReportingState call_conversion_reporting_state = 6; +} + +// Represents a callout extension. +message CalloutFeedItem { + // The callout text. + // The length of this string should be between 1 and 25, inclusive. + optional string callout_text = 2; +} + +// Represents a location extension. +message LocationFeedItem { + // The name of the business. + optional string business_name = 9; + + // Line 1 of the business address. + optional string address_line_1 = 10; + + // Line 2 of the business address. + optional string address_line_2 = 11; + + // City of the business address. + optional string city = 12; + + // Province of the business address. + optional string province = 13; + + // Postal code of the business address. + optional string postal_code = 14; + + // Country code of the business address. + optional string country_code = 15; + + // Phone number of the business. + optional string phone_number = 16; +} + +// Represents an affiliate location extension. +message AffiliateLocationFeedItem { + // The name of the business. + optional string business_name = 11; + + // Line 1 of the business address. + optional string address_line_1 = 12; + + // Line 2 of the business address. + optional string address_line_2 = 13; + + // City of the business address. + optional string city = 14; + + // Province of the business address. + optional string province = 15; + + // Postal code of the business address. + optional string postal_code = 16; + + // Country code of the business address. + optional string country_code = 17; + + // Phone number of the business. + optional string phone_number = 18; + + // Id of the retail chain that is advertised as a seller of your product. + optional int64 chain_id = 19; + + // Name of chain. + optional string chain_name = 20; +} + +// An extension that users can click on to send a text message to the +// advertiser. +message TextMessageFeedItem { + // The business name to prepend to the message text. + // This field is required. + optional string business_name = 6; + + // Uppercase two-letter country code of the advertiser's phone number. + // This field is required. + optional string country_code = 7; + + // The advertiser's phone number the message will be sent to. Required. + optional string phone_number = 8; + + // The text to show in the ad. + // This field is required. + optional string text = 9; + + // The message extension_text populated in the messaging app. + optional string extension_text = 10; +} + +// Represents a Price extension. +message PriceFeedItem { + // Price extension type of this extension. + google.ads.googleads.v16.enums.PriceExtensionTypeEnum.PriceExtensionType + type = 1; + + // Price qualifier for all offers of this price extension. + google.ads.googleads.v16.enums.PriceExtensionPriceQualifierEnum + .PriceExtensionPriceQualifier price_qualifier = 2; + + // Tracking URL template for all offers of this price extension. + optional string tracking_url_template = 7; + + // The code of the language used for this price extension. + optional string language_code = 8; + + // The price offerings in this price extension. + repeated PriceOffer price_offerings = 5; + + // Tracking URL template for all offers of this price extension. + optional string final_url_suffix = 9; +} + +// Represents one price offer in a price extension. +message PriceOffer { + // Header text of this offer. + optional string header = 7; + + // Description text of this offer. + optional string description = 8; + + // Price value of this offer. + Money price = 3; + + // Price unit for this offer. + google.ads.googleads.v16.enums.PriceExtensionPriceUnitEnum + .PriceExtensionPriceUnit unit = 4; + + // A list of possible final URLs after all cross domain redirects. + repeated string final_urls = 9; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 10; +} + +// Represents a Promotion extension. +message PromotionFeedItem { + // A freeform description of what the promotion is targeting. + // This field is required. + optional string promotion_target = 16; + + // Enum that modifies the qualification of the discount. + google.ads.googleads.v16.enums.PromotionExtensionDiscountModifierEnum + .PromotionExtensionDiscountModifier discount_modifier = 2; + + // Start date of when the promotion is eligible to be redeemed. + optional string promotion_start_date = 19; + + // Last date when the promotion is eligible to be redeemed. + optional string promotion_end_date = 20; + + // The occasion the promotion was intended for. + // If an occasion is set, the redemption window will need to fall within + // the date range associated with the occasion. + google.ads.googleads.v16.enums.PromotionExtensionOccasionEnum + .PromotionExtensionOccasion occasion = 9; + + // A list of possible final URLs after all cross domain redirects. + // This field is required. + repeated string final_urls = 21; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 22; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 23; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 13; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 24; + + // The language of the promotion. + // Represented as BCP 47 language tag. + optional string language_code = 25; + + // Discount type, can be percentage off or amount off. + oneof discount_type { + // Percentage off discount in the promotion in micros. + // One million is equivalent to one percent. + // Either this or money_off_amount is required. + int64 percent_off = 17; + + // Money amount off for discount in the promotion. + // Either this or percent_off is required. + Money money_amount_off = 4; + } + + // Promotion trigger. Can be by promotion code or promo by eligible order + // amount. + oneof promotion_trigger { + // A code the user should use in order to be eligible for the promotion. + string promotion_code = 18; + + // The amount the total order needs to be for the user to be eligible for + // the promotion. + Money orders_over_amount = 6; + } +} + +// Represents a structured snippet extension. +message StructuredSnippetFeedItem { + // The header of the snippet. + // This string must not be empty. + optional string header = 3; + + // The values in the snippet. + // The maximum size of this collection is 10. + repeated string values = 4; +} + +// Represents a sitelink. +message SitelinkFeedItem { + // URL display text for the sitelink. + // The length of this string should be between 1 and 25, inclusive. + optional string link_text = 9; + + // First line of the description for the sitelink. + // If this value is set, line2 must also be set. + // The length of this string should be between 0 and 35, inclusive. + optional string line1 = 10; + + // Second line of the description for the sitelink. + // If this value is set, line1 must also be set. + // The length of this string should be between 0 and 35, inclusive. + optional string line2 = 11; + + // A list of possible final URLs after all cross domain redirects. + repeated string final_urls = 12; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 13; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 14; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 7; + + // Final URL suffix to be appended to landing page URLs served with + // parallel tracking. + optional string final_url_suffix = 15; +} + +// Represents a hotel callout extension. +message HotelCalloutFeedItem { + // The callout text. + // The length of this string should be between 1 and 25, inclusive. + optional string text = 3; + + // The language of the hotel callout text. + // IETF BCP 47 compliant language code. + optional string language_code = 4; +} + +// Represents an advertiser provided image extension. +message ImageFeedItem { + // Required. Resource name of the image asset. + string image_asset = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/feed_common.proto b/third_party/googleapis/google/ads/googleads/v16/common/feed_common.proto new file mode 100644 index 000000000..fb342ccc2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/feed_common.proto @@ -0,0 +1,37 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedCommonProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing common feed proto messages. + +// Represents a price in a particular currency. +message Money { + // Three-character ISO 4217 currency code. + optional string currency_code = 3; + + // Amount in micros. One million is equivalent to one unit. + optional int64 amount_micros = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/feed_item_set_filter_type_infos.proto b/third_party/googleapis/google/ads/googleads/v16/common/feed_item_set_filter_type_infos.proto new file mode 100644 index 000000000..9d6b9da75 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/feed_item_set_filter_type_infos.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/feed_item_set_string_filter_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetFilterTypeInfosProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Represents a filter on locations in a feed item set. +// Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. +message DynamicLocationSetFilter { + // If multiple labels are set, then only feeditems marked with all the labels + // will be added to the FeedItemSet. + repeated string labels = 1; + + // Business name filter. + BusinessNameFilter business_name_filter = 2; +} + +// Represents a business name filter on locations in a FeedItemSet. +message BusinessNameFilter { + // Business name string to use for filtering. + string business_name = 1; + + // The type of string matching to use when filtering with business_name. + google.ads.googleads.v16.enums.FeedItemSetStringFilterTypeEnum + .FeedItemSetStringFilterType filter_type = 2; +} + +// Represents a filter on affiliate locations in a FeedItemSet. +// Only applicable if the parent Feed of the FeedItemSet is an +// AFFILIATE_LOCATION feed. +message DynamicAffiliateLocationSetFilter { + // Used to filter affiliate locations by chain ids. Only affiliate locations + // that belong to the specified chain(s) will be added to the FeedItemSet. + repeated int64 chain_ids = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/final_app_url.proto b/third_party/googleapis/google/ads/googleads/v16/common/final_app_url.proto new file mode 100644 index 000000000..3284b7e59 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/final_app_url.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/app_url_operating_system_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file FinalAppUrl type. + +// A URL for deep linking into an app for the given operating system. +message FinalAppUrl { + // The operating system targeted by this URL. Required. + google.ads.googleads.v16.enums.AppUrlOperatingSystemTypeEnum + .AppUrlOperatingSystemType os_type = 1; + + // The app deep link URL. Deep links specify a location in an app that + // corresponds to the content you'd like to show, and should be of the form + // {scheme}://{host_path} + // The scheme identifies which app to open. For your app, you can use a custom + // scheme that starts with the app's name. The host and path specify the + // unique location in the app where your content exists. + // Example: "exampleapp://productid_1234". Required. + optional string url = 3; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/frequency_cap.proto b/third_party/googleapis/google/ads/googleads/v16/common/frequency_cap.proto new file mode 100644 index 000000000..6ba1fa408 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/frequency_cap.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/frequency_cap_event_type.proto"; +import "google/ads/googleads/v16/enums/frequency_cap_level.proto"; +import "google/ads/googleads/v16/enums/frequency_cap_time_unit.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing frequency caps. + +// A rule specifying the maximum number of times an ad (or some set of ads) can +// be shown to a user over a particular time period. +message FrequencyCapEntry { + // The key of a particular frequency cap. There can be no more + // than one frequency cap with the same key. + FrequencyCapKey key = 1; + + // Maximum number of events allowed during the time range by this cap. + optional int32 cap = 3; +} + +// A group of fields used as keys for a frequency cap. +// There can be no more than one frequency cap with the same key. +message FrequencyCapKey { + // The level on which the cap is to be applied (for example, ad group ad, ad + // group). The cap is applied to all the entities of this level. + google.ads.googleads.v16.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = + 1; + + // The type of event that the cap applies to (for example, impression). + google.ads.googleads.v16.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType + event_type = 3; + + // Unit of time the cap is defined at (for example, day, week). + google.ads.googleads.v16.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit + time_unit = 2; + + // Number of time units the cap lasts. + optional int32 time_length = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/keyword_plan_common.proto b/third_party/googleapis/google/ads/googleads/v16/common/keyword_plan_common.proto new file mode 100644 index 000000000..d3eb30754 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/keyword_plan_common.proto @@ -0,0 +1,148 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/dates.proto"; +import "google/ads/googleads/v16/enums/device.proto"; +import "google/ads/googleads/v16/enums/keyword_plan_aggregate_metric_type.proto"; +import "google/ads/googleads/v16/enums/keyword_plan_competition_level.proto"; +import "google/ads/googleads/v16/enums/keyword_plan_concept_group_type.proto"; +import "google/ads/googleads/v16/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCommonProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing Keyword Planner messages. + +// Historical metrics specific to the targeting options selected. +// Targeting options include geographies, network, and so on. +// Refer to https://support.google.com/google-ads/answer/3022575 for more +// details. +message KeywordPlanHistoricalMetrics { + // Approximate number of monthly searches on this query, averaged + // for the past 12 months. + optional int64 avg_monthly_searches = 7; + + // Approximate number of searches on this query for the past twelve months. + repeated MonthlySearchVolume monthly_search_volumes = 6; + + // The competition level for the query. + google.ads.googleads.v16.enums.KeywordPlanCompetitionLevelEnum + .KeywordPlanCompetitionLevel competition = 2; + + // The competition index for the query in the range [0, 100]. + // Shows how competitive ad placement is for a keyword. + // The level of competition from 0-100 is determined by the number of ad slots + // filled divided by the total number of ad slots available. If not enough + // data is available, null is returned. + optional int64 competition_index = 8; + + // Top of page bid low range (20th percentile) in micros for the keyword. + optional int64 low_top_of_page_bid_micros = 9; + + // Top of page bid high range (80th percentile) in micros for the keyword. + optional int64 high_top_of_page_bid_micros = 10; + + // Average Cost Per Click in micros for the keyword. + optional int64 average_cpc_micros = 11; +} + +// Historical metrics options. +message HistoricalMetricsOptions { + // The year month range for historical metrics. If not specified, metrics + // for the past 12 months are returned. + // Search metrics are available for the past 4 years. If the search volume is + // not available for the entire year_month_range provided, the subset of the + // year month range for which search volume is available are returned. + optional YearMonthRange year_month_range = 1; + + // Indicates whether to include average cost per click value. + // Average CPC is provided only for legacy support. + bool include_average_cpc = 2; +} + +// Monthly search volume. +message MonthlySearchVolume { + // The year of the search volume (for example, 2020). + optional int64 year = 4; + + // The month of the search volume. + google.ads.googleads.v16.enums.MonthOfYearEnum.MonthOfYear month = 2; + + // Approximate number of searches for the month. + // A null value indicates the search volume is unavailable for + // that month. + optional int64 monthly_searches = 5; +} + +// The aggregate metrics specification of the request. +message KeywordPlanAggregateMetrics { + // The list of aggregate metrics to fetch data. + repeated google.ads.googleads.v16.enums.KeywordPlanAggregateMetricTypeEnum + .KeywordPlanAggregateMetricType aggregate_metric_types = 1; +} + +// The aggregated historical metrics for keyword plan keywords. +message KeywordPlanAggregateMetricResults { + // The aggregate searches for all the keywords segmented by device + // for the specified time. + // Supports the following device types: MOBILE, TABLET, DESKTOP. + // + // This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set + // in the KeywordPlanAggregateMetrics field in the request. + repeated KeywordPlanDeviceSearches device_searches = 1; +} + +// The total searches for the device type during the specified time period. +message KeywordPlanDeviceSearches { + // The device type. + google.ads.googleads.v16.enums.DeviceEnum.Device device = 1; + + // The total searches for the device. + optional int64 search_count = 2; +} + +// The annotations for the keyword plan keywords. +message KeywordAnnotations { + // The list of concepts for the keyword. + repeated KeywordConcept concepts = 1; +} + +// The concept for the keyword. +message KeywordConcept { + // The concept name for the keyword in the concept_group. + string name = 1; + + // The concept group of the concept details. + ConceptGroup concept_group = 2; +} + +// The concept group for the keyword concept. +message ConceptGroup { + // The concept group name. + string name = 1; + + // The concept group type. + google.ads.googleads.v16.enums.KeywordPlanConceptGroupTypeEnum + .KeywordPlanConceptGroupType type = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/lifecycle_goals.proto b/third_party/googleapis/google/ads/googleads/v16/common/lifecycle_goals.proto new file mode 100644 index 000000000..de9243c17 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/lifecycle_goals.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "LifecycleGoalsProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing lifecycle goal settings. + +// Lifecycle goal value settings. +message LifecycleGoalValueSettings { + // Value of the lifecycle goal. For example, for customer acquisition goal, + // value is the incremental conversion value for new customers who are not of + // high value. + optional double value = 1; + + // High lifetime value of the lifecycle goal. For example, for customer + // acquisition goal, high lifetime value is the incremental conversion value + // for new customers who are of high value. High lifetime value should be + // greater than value, if set. + // In current stage, high lifetime value feature is in beta and this field + // is read-only. + optional double high_lifetime_value = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/local_services.proto b/third_party/googleapis/google/ads/googleads/v16/common/local_services.proto new file mode 100644 index 000000000..cfa2f8b53 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/local_services.proto @@ -0,0 +1,34 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file containing info messages for local services related resources. + +// A Local Services Document with read only accessible data. +message LocalServicesDocumentReadOnly { + // URL to access an already uploaded Local Services document. + optional string document_url = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/matching_function.proto b/third_party/googleapis/google/ads/googleads/v16/common/matching_function.proto new file mode 100644 index 000000000..eaa87e52a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/matching_function.proto @@ -0,0 +1,128 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/matching_function_context_type.proto"; +import "google/ads/googleads/v16/enums/matching_function_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing a matching function. + +// Matching function associated with a +// CustomerFeed, CampaignFeed, or AdGroupFeed. The matching function is used +// to filter the set of feed items selected. +message MatchingFunction { + // String representation of the Function. + // + // Examples: + // + // 1. IDENTITY(true) or IDENTITY(false). All or no feed items served. + // 2. EQUALS(CONTEXT.DEVICE,"Mobile") + // 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003}) + // 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"}) + // 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile")) + // + // For more details, visit + // https://developers.google.com/google-ads/api/docs/extensions/feeds/matching-functions + // + // Note that because multiple strings may represent the same underlying + // function (whitespace and single versus double quotation marks, for + // example), the value returned may not be identical to the string sent in a + // mutate request. + optional string function_string = 5; + + // Operator for a function. + google.ads.googleads.v16.enums.MatchingFunctionOperatorEnum + .MatchingFunctionOperator + operator = 4; + + // The operands on the left hand side of the equation. This is also the + // operand to be used for single operand expressions such as NOT. + repeated Operand left_operands = 2; + + // The operands on the right hand side of the equation. + repeated Operand right_operands = 3; +} + +// An operand in a matching function. +message Operand { + // A constant operand in a matching function. + message ConstantOperand { + // Constant operand values. Required. + oneof constant_operand_value { + // String value of the operand if it is a string type. + string string_value = 5; + + // Int64 value of the operand if it is a int64 type. + int64 long_value = 6; + + // Boolean value of the operand if it is a boolean type. + bool boolean_value = 7; + + // Double value of the operand if it is a double type. + double double_value = 8; + } + } + + // A feed attribute operand in a matching function. + // Used to represent a feed attribute in feed. + message FeedAttributeOperand { + // The associated feed. Required. + optional int64 feed_id = 3; + + // Id of the referenced feed attribute. Required. + optional int64 feed_attribute_id = 4; + } + + // A function operand in a matching function. + // Used to represent nested functions. + message FunctionOperand { + // The matching function held in this operand. + MatchingFunction matching_function = 1; + } + + // An operand in a function referring to a value in the request context. + message RequestContextOperand { + // Type of value to be referred in the request context. + google.ads.googleads.v16.enums.MatchingFunctionContextTypeEnum + .MatchingFunctionContextType context_type = 1; + } + + // Different operands that can be used in a matching function. Required. + oneof function_argument_operand { + // A constant operand in a matching function. + ConstantOperand constant_operand = 1; + + // This operand specifies a feed attribute in feed. + FeedAttributeOperand feed_attribute_operand = 2; + + // A function operand in a matching function. + // Used to represent nested functions. + FunctionOperand function_operand = 3; + + // An operand in a function referring to a value in the request context. + RequestContextOperand request_context_operand = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/metric_goal.proto b/third_party/googleapis/google/ads/googleads/v16/common/metric_goal.proto new file mode 100644 index 000000000..8a39d4cd1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/metric_goal.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/experiment_metric.proto"; +import "google/ads/googleads/v16/enums/experiment_metric_direction.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricGoalProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing experiment metric goal. + +// A metric goal for an experiment. +message MetricGoal { + // The metric of the goal. For example, clicks, impressions, cost, + // conversions, etc. + google.ads.googleads.v16.enums.ExperimentMetricEnum.ExperimentMetric metric = + 1; + + // The metric direction of the goal. For example, increase, decrease, no + // change. + google.ads.googleads.v16.enums.ExperimentMetricDirectionEnum + .ExperimentMetricDirection direction = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/metrics.proto b/third_party/googleapis/google/ads/googleads/v16/common/metrics.proto new file mode 100644 index 000000000..887ac2add --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/metrics.proto @@ -0,0 +1,1049 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/interaction_event_type.proto"; +import "google/ads/googleads/v16/enums/quality_score_bucket.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricsProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing metrics. + +// Metrics data. +message Metrics { + // The percent of your ad impressions that are shown as the very first ad + // above the organic search results. + optional double absolute_top_impression_percentage = 183; + + // Average cost of viewable impressions (`active_view_impressions`). + optional double active_view_cpm = 184; + + // Active view measurable clicks divided by active view viewable impressions. + // + // This metric is reported only for the Display Network. + optional double active_view_ctr = 185; + + // A measurement of how often your ad has become viewable on a Display + // Network site. + optional int64 active_view_impressions = 186; + + // The ratio of impressions that could be measured by Active View over the + // number of served impressions. + optional double active_view_measurability = 187; + + // The cost of the impressions you received that were measurable by Active + // View. + optional int64 active_view_measurable_cost_micros = 188; + + // The number of times your ads are appearing on placements in positions + // where they can be seen. + optional int64 active_view_measurable_impressions = 189; + + // The percentage of time when your ad appeared on an Active View enabled site + // (measurable impressions) and was viewable (viewable impressions). + optional double active_view_viewability = 190; + + // All conversions from interactions (as oppose to view through conversions) + // divided by the number of ad interactions. + optional double all_conversions_from_interactions_rate = 191; + + // The value of all conversions. + optional double all_conversions_value = 192; + + // The value of all conversions. When this column is selected with date, the + // values in date column means the conversion date. Details for the + // by_conversion_date columns are available at + // https://support.google.com/google-ads/answer/9549009. + double all_conversions_value_by_conversion_date = 240; + + // All of new customers' lifetime conversion value. If you have set up + // customer acquisition goal at either account level or campaign level, this + // will include the additional conversion value from new customers for both + // biddable and non-biddable conversions. If your campaign has adopted the + // customer acquisition goal and selected "bid higher for new customers", + // these values will be included in "all_conversions_value". See + // https://support.google.com/google-ads/answer/12080169 for more details. + optional double all_new_customer_lifetime_value = 294; + + // The total number of conversions. This includes all conversions regardless + // of the value of include_in_conversions_metric. + optional double all_conversions = 193; + + // The total number of conversions. This includes all conversions regardless + // of the value of include_in_conversions_metric. When this column is selected + // with date, the values in date column means the conversion date. Details for + // the by_conversion_date columns are available at + // https://support.google.com/google-ads/answer/9549009. + double all_conversions_by_conversion_date = 241; + + // The value of all conversions divided by the total cost of ad interactions + // (such as clicks for text ads or views for video ads). + optional double all_conversions_value_per_cost = 194; + + // The number of times people clicked the "Call" button to call a store during + // or after clicking an ad. This number doesn't include whether or not calls + // were connected, or the duration of any calls. + // + // This metric applies to feed items only. + optional double all_conversions_from_click_to_call = 195; + + // The number of times people clicked a "Get directions" button to navigate to + // a store after clicking an ad. + // + // This metric applies to feed items only. + optional double all_conversions_from_directions = 196; + + // The value of all conversions from interactions divided by the total number + // of interactions. + optional double all_conversions_from_interactions_value_per_interaction = 197; + + // The number of times people clicked a link to view a store's menu after + // clicking an ad. + // + // This metric applies to feed items only. + optional double all_conversions_from_menu = 198; + + // The number of times people placed an order at a store after clicking an ad. + // + // This metric applies to feed items only. + optional double all_conversions_from_order = 199; + + // The number of other conversions (for example, posting a review or saving a + // location for a store) that occurred after people clicked an ad. + // + // This metric applies to feed items only. + optional double all_conversions_from_other_engagement = 200; + + // Estimated number of times people visited a store after clicking an ad. + // + // This metric applies to feed items only. + optional double all_conversions_from_store_visit = 201; + + // The number of times that people were taken to a store's URL after clicking + // an ad. + // + // This metric applies to feed items only. + optional double all_conversions_from_store_website = 202; + + // This metric is part of the Auction Insights report, and tells how often + // the ads of another participant showed as the very first ad above the + // organic search results. + // This percentage is computed only over the auctions that you appeared in + // the page. + // + // This metric is not publicly available. + optional double auction_insight_search_absolute_top_impression_percentage = + 258; + + // This metric is part of the Auction Insights report, and tells the + // percentage of impressions that another participant obtained, over the total + // number of impressions that your ads were eligible for. + // Any value below 0.1 is reported as 0.0999. + // + // This metric is not publicly available. + optional double auction_insight_search_impression_share = 259; + + // This metric is part of the Auction Insights report, and tells the + // percentage of impressions that your ads outranked (showed above) + // another participant in the auction, compared to the total number of + // impressions that your ads were eligible for. + // Any value below 0.1 is reported as 0.0999. + // + // This metric is not publicly available. + optional double auction_insight_search_outranking_share = 260; + + // This metric is part of the Auction Insights report, and tells how often + // another participant's ad received an impression when your ad also received + // an impression. + // + // This metric is not publicly available. + optional double auction_insight_search_overlap_rate = 261; + + // This metric is part of the Auction Insights report, and tells how often + // another participant's ad was shown in a higher position than yours, when + // both of your ads were shown at the same page. + // + // This metric is not publicly available. + optional double auction_insight_search_position_above_rate = 262; + + // This metric is part of the Auction Insights report, and tells how often + // the ads of another participant showed above the organic search results. + // This percentage is computed only over the auctions that you appeared in + // the page. + // + // This metric is not publicly available. + optional double auction_insight_search_top_impression_percentage = 263; + + // The average amount you pay per interaction. This amount is the total cost + // of your ads divided by the total number of interactions. + optional double average_cost = 203; + + // The total cost of all clicks divided by the total number of clicks + // received. + optional double average_cpc = 204; + + // The average amount that you've been charged for an ad engagement. This + // amount is the total cost of all ad engagements divided by the total number + // of ad engagements. + optional double average_cpe = 205; + + // Average cost-per-thousand impressions (CPM). + optional double average_cpm = 206; + + // The average amount you pay each time someone views your ad. + // The average CPV is defined by the total cost of all ad views divided by + // the number of views. + optional double average_cpv = 207; + + // Average number of pages viewed per session. + optional double average_page_views = 208; + + // Total duration of all sessions (in seconds) / number of sessions. Imported + // from Google Analytics. + optional double average_time_on_site = 209; + + // An indication of how other advertisers are bidding on similar products. + optional double benchmark_average_max_cpc = 210; + + // Number of app installs. + optional double biddable_app_install_conversions = 254; + + // Number of in-app actions. + optional double biddable_app_post_install_conversions = 255; + + // An indication on how other advertisers' Shopping ads for similar products + // are performing based on how often people who see their ad click on it. + optional double benchmark_ctr = 211; + + // Percentage of clicks where the user only visited a single page on your + // site. Imported from Google Analytics. + optional double bounce_rate = 212; + + // The number of clicks. + optional int64 clicks = 131; + + // The number of times your ad or your site's listing in the unpaid + // results was clicked. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 combined_clicks = 156; + + // The number of times your ad or your site's listing in the unpaid + // results was clicked (combined_clicks) divided by combined_queries. See the + // help page at https://support.google.com/google-ads/answer/3097241 for + // details. + optional double combined_clicks_per_query = 157; + + // The number of searches that returned pages from your site in the unpaid + // results or showed one of your text ads. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 combined_queries = 158; + + // The estimated percent of times that your ad was eligible to show + // on the Display Network but didn't because your budget was too low. + // Note: Content budget lost impression share is reported in the range of 0 + // to 0.9. Any value above 0.9 is reported as 0.9001. + optional double content_budget_lost_impression_share = 159; + + // The impressions you've received on the Display Network divided + // by the estimated number of impressions you were eligible to receive. + // Note: Content impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double content_impression_share = 160; + + // The last date/time a conversion tag for this conversion action successfully + // fired and was seen by Google Ads. This firing event may not have been the + // result of an attributable conversion (for example, because the tag was + // fired from a browser that did not previously click an ad from an + // appropriate advertiser). The date/time is in the customer's time zone. + optional string conversion_last_received_request_date_time = 161; + + // The date of the most recent conversion for this conversion action. The date + // is in the customer's time zone. + optional string conversion_last_conversion_date = 162; + + // The estimated percentage of impressions on the Display Network + // that your ads didn't receive due to poor Ad Rank. + // Note: Content rank lost impression share is reported in the range of 0 + // to 0.9. Any value above 0.9 is reported as 0.9001. + optional double content_rank_lost_impression_share = 163; + + // Conversions from interactions divided by the number of ad interactions + // (such as clicks for text ads or views for video ads). This only includes + // conversion actions which include_in_conversions_metric attribute is set to + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. + optional double conversions_from_interactions_rate = 164; + + // The value of conversions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double conversions_value = 165; + + // The value of conversions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. When this column is selected with date, the values in date + // column means the conversion date. Details for the by_conversion_date + // columns are available at + // https://support.google.com/google-ads/answer/9549009. + double conversions_value_by_conversion_date = 242; + + // New customers' lifetime conversion value. If you have set up + // customer acquisition goal at either account level or campaign level, this + // will include the additional conversion value from new customers for + // biddable conversions. If your campaign has adopted the customer + // acquisition goal and selected "bid higher for new customers", these values + // will be included in "conversions_value" for optimization. See + // https://support.google.com/google-ads/answer/12080169 for more details. + optional double new_customer_lifetime_value = 293; + + // The value of conversions divided by the cost of ad interactions. This only + // includes conversion actions which include_in_conversions_metric attribute + // is set to true. If you use conversion-based bidding, your bid strategies + // will optimize for these conversions. + optional double conversions_value_per_cost = 166; + + // The value of conversions from interactions divided by the number of ad + // interactions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double conversions_from_interactions_value_per_interaction = 167; + + // The number of conversions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double conversions = 168; + + // The number of conversions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. When this column is selected with date, the values in date + // column means the conversion date. Details for the by_conversion_date + // columns are available at + // https://support.google.com/google-ads/answer/9549009. + double conversions_by_conversion_date = 243; + + // The sum of your cost-per-click (CPC) and cost-per-thousand impressions + // (CPM) costs during this period. + optional int64 cost_micros = 169; + + // The cost of ad interactions divided by all conversions. + optional double cost_per_all_conversions = 170; + + // The cost of ad interactions divided by conversions. This only includes + // conversion actions which include_in_conversions_metric attribute is set to + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. + optional double cost_per_conversion = 171; + + // The cost of ad interactions divided by current model attributed + // conversions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double cost_per_current_model_attributed_conversion = 172; + + // Conversions from when a customer clicks on a Google Ads ad on one device, + // then converts on a different device or browser. + // Cross-device conversions are already included in all_conversions. + optional double cross_device_conversions = 173; + + // The sum of the value of cross-device conversions, in micros. + optional int64 cross_device_conversions_value_micros = 312; + + // The number of clicks your ad receives (Clicks) divided by the number + // of times your ad is shown (Impressions). + optional double ctr = 174; + + // Shows how your historic conversions data would look under the attribution + // model you've currently selected. This only includes conversion actions + // which include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double current_model_attributed_conversions = 175; + + // Current model attributed conversions from interactions divided by the + // number of ad interactions (such as clicks for text ads or views for video + // ads). This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double current_model_attributed_conversions_from_interactions_rate = + 176; + + // The value of current model attributed conversions from interactions divided + // by the number of ad interactions. This only includes conversion actions + // which include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double + current_model_attributed_conversions_from_interactions_value_per_interaction = + 177; + + // The value of current model attributed conversions. This only includes + // conversion actions which include_in_conversions_metric attribute is set to + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. + optional double current_model_attributed_conversions_value = 178; + + // The value of current model attributed conversions divided by the cost of ad + // interactions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double current_model_attributed_conversions_value_per_cost = 179; + + // How often people engage with your ad after it's shown to them. This is the + // number of ad expansions divided by the number of times your ad is shown. + optional double engagement_rate = 180; + + // The number of engagements. + // An engagement occurs when a viewer expands your Lightbox ad. Also, in the + // future, other ad types may support engagement metrics. + optional int64 engagements = 181; + + // Average lead value based on clicks. + optional double hotel_average_lead_value_micros = 213; + + // Commission bid rate in micros. A 20% commission is represented as + // 200,000. + optional int64 hotel_commission_rate_micros = 256; + + // Expected commission cost. The result of multiplying the commission value + // times the hotel_commission_rate in advertiser currency. + optional double hotel_expected_commission_cost = 257; + + // The average price difference between the price offered by reporting hotel + // advertiser and the cheapest price offered by the competing advertiser. + optional double hotel_price_difference_percentage = 214; + + // The number of impressions that hotel partners could have had given their + // feed performance. + optional int64 hotel_eligible_impressions = 215; + + // The creative historical quality score. + google.ads.googleads.v16.enums.QualityScoreBucketEnum.QualityScoreBucket + historical_creative_quality_score = 80; + + // The quality of historical landing page experience. + google.ads.googleads.v16.enums.QualityScoreBucketEnum.QualityScoreBucket + historical_landing_page_quality_score = 81; + + // The historical quality score. + optional int64 historical_quality_score = 216; + + // The historical search predicted click through rate (CTR). + google.ads.googleads.v16.enums.QualityScoreBucketEnum.QualityScoreBucket + historical_search_predicted_ctr = 83; + + // The number of times the ad was forwarded to someone else as a message. + optional int64 gmail_forwards = 217; + + // The number of times someone has saved your Gmail ad to their inbox as a + // message. + optional int64 gmail_saves = 218; + + // The number of clicks to the landing page on the expanded state of Gmail + // ads. + optional int64 gmail_secondary_clicks = 219; + + // The number of times a store's location-based ad was shown. + // + // This metric applies to feed items only. + optional int64 impressions_from_store_reach = 220; + + // Count of how often your ad has appeared on a search results page or + // website on the Google Network. + optional int64 impressions = 221; + + // How often people interact with your ad after it is shown to them. + // This is the number of interactions divided by the number of times your ad + // is shown. + optional double interaction_rate = 222; + + // The number of interactions. + // An interaction is the main user action associated with an ad format-clicks + // for text and shopping ads, views for video ads, and so on. + optional int64 interactions = 223; + + // The types of payable and free interactions. + repeated google.ads.googleads.v16.enums.InteractionEventTypeEnum + .InteractionEventType interaction_event_types = 100; + + // The percentage of clicks filtered out of your total number of clicks + // (filtered + non-filtered clicks) during the reporting period. + optional double invalid_click_rate = 224; + + // Number of clicks Google considers illegitimate and doesn't charge you for. + optional int64 invalid_clicks = 225; + + // Number of message chats initiated for Click To Message impressions that + // were message tracking eligible. + optional int64 message_chats = 226; + + // Number of Click To Message impressions that were message tracking eligible. + optional int64 message_impressions = 227; + + // Number of message chats initiated (message_chats) divided by the number + // of message impressions (message_impressions). + // Rate at which a user initiates a message chat from an ad impression with + // a messaging option and message tracking enabled. + // Note that this rate can be more than 1.0 for a given message impression. + optional double message_chat_rate = 228; + + // The percentage of mobile clicks that go to a mobile-friendly page. + optional double mobile_friendly_clicks_percentage = 229; + + // Total optimization score uplift of all recommendations. + optional double optimization_score_uplift = 247; + + // URL for the optimization score page in the Google Ads web interface. + // This metric can be selected from `customer` or `campaign`, and can be + // segmented by `segments.recommendation_type`. For example, `SELECT + // metrics.optimization_score_url, segments.recommendation_type FROM + // customer` will return a URL for each unique (customer, recommendation_type) + // combination. + optional string optimization_score_url = 248; + + // The number of times someone clicked your site's listing in the unpaid + // results for a particular query. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_clicks = 230; + + // The number of times someone clicked your site's listing in the unpaid + // results (organic_clicks) divided by the total number of searches that + // returned pages from your site (organic_queries). See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_clicks_per_query = 231; + + // The number of listings for your site in the unpaid search results. See the + // help page at https://support.google.com/google-ads/answer/3097241 for + // details. + optional int64 organic_impressions = 232; + + // The number of times a page from your site was listed in the unpaid search + // results (organic_impressions) divided by the number of searches returning + // your site's listing in the unpaid results (organic_queries). See the help + // page at https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_impressions_per_query = 233; + + // The total number of searches that returned your site's listing in the + // unpaid results. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_queries = 234; + + // Percentage of first-time sessions (from people who had never visited your + // site before). Imported from Google Analytics. + optional double percent_new_visitors = 235; + + // Number of offline phone calls. + optional int64 phone_calls = 236; + + // Number of offline phone impressions. + optional int64 phone_impressions = 237; + + // Number of phone calls received (phone_calls) divided by the number of + // times your phone number is shown (phone_impressions). + optional double phone_through_rate = 238; + + // Your clickthrough rate (Ctr) divided by the average clickthrough rate of + // all advertisers on the websites that show your ads. Measures how your ads + // perform on Display Network sites compared to other ads on the same sites. + optional double relative_ctr = 239; + + // The percentage of the customer's Shopping or Search ad impressions that are + // shown in the most prominent Shopping position. See + // https://support.google.com/google-ads/answer/7501826 + // for details. Any value below 0.1 is reported as 0.0999. + optional double search_absolute_top_impression_share = 136; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to a low budget. Note: Search + // budget lost absolute top impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_budget_lost_absolute_top_impression_share = 137; + + // The estimated percent of times that your ad was eligible to show on the + // Search Network but didn't because your budget was too low. Note: Search + // budget lost impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_impression_share = 138; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to a low budget. Note: Search + // budget lost top impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_top_impression_share = 139; + + // The number of clicks you've received on the Search Network + // divided by the estimated number of clicks you were eligible to receive. + // Note: Search click share is reported in the range of 0.1 to 1. Any value + // below 0.1 is reported as 0.0999. + optional double search_click_share = 140; + + // The impressions you've received divided by the estimated number of + // impressions you were eligible to receive on the Search Network for search + // terms that matched your keywords exactly (or were close variants of your + // keyword), regardless of your keyword match types. Note: Search exact match + // impression share is reported in the range of 0.1 to 1. Any value below 0.1 + // is reported as 0.0999. + optional double search_exact_match_impression_share = 141; + + // The impressions you've received on the Search Network divided + // by the estimated number of impressions you were eligible to receive. + // Note: Search impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_impression_share = 142; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost absolute top impression share is reported in the + // range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_absolute_top_impression_share = 143; + + // The estimated percentage of impressions on the Search Network + // that your ads didn't receive due to poor Ad Rank. + // Note: Search rank lost impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_impression_share = 144; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost top impression share is reported in the range of 0 + // to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_top_impression_share = 145; + + // The impressions you've received in the top location (anywhere above the + // organic search results) compared to the estimated number of impressions you + // were eligible to receive in the top location. + // Note: Search top impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_top_impression_share = 146; + + // Search volume range for a search term insight category. + optional SearchVolumeRange search_volume = 295; + + // A measure of how quickly your page loads after clicks on your mobile ads. + // The score is a range from 1 to 10, 10 being the fastest. + optional int64 speed_score = 147; + + // The average Target CPA, or unset if not available (for example, for + // campaigns that had traffic from portfolio bidding strategies or non-tCPA). + optional int64 average_target_cpa_micros = 290; + + // The average Target ROAS, or unset if not available (for example, for + // campaigns that had traffic from portfolio bidding strategies or non-tROAS). + optional double average_target_roas = 250; + + // The percent of your ad impressions that are shown anywhere above the + // organic search results. + optional double top_impression_percentage = 148; + + // The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages + // that reach a valid AMP page. + optional double valid_accelerated_mobile_pages_clicks_percentage = 149; + + // The value of all conversions divided by the number of all conversions. + optional double value_per_all_conversions = 150; + + // The value of all conversions divided by the number of all conversions. When + // this column is selected with date, the values in date column means the + // conversion date. Details for the by_conversion_date columns are available + // at https://support.google.com/google-ads/answer/9549009. + optional double value_per_all_conversions_by_conversion_date = 244; + + // The value of conversions divided by the number of conversions. This only + // includes conversion actions which include_in_conversions_metric attribute + // is set to true. If you use conversion-based bidding, your bid strategies + // will optimize for these conversions. + optional double value_per_conversion = 151; + + // The value of conversions divided by the number of conversions. This only + // includes conversion actions which include_in_conversions_metric attribute + // is set to true. If you use conversion-based bidding, your bid strategies + // will optimize for these conversions. When this column is selected with + // date, the values in date column means the conversion date. Details for the + // by_conversion_date columns are available at + // https://support.google.com/google-ads/answer/9549009. + optional double value_per_conversions_by_conversion_date = 245; + + // The value of current model attributed conversions divided by the number of + // the conversions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. + optional double value_per_current_model_attributed_conversion = 152; + + // Percentage of impressions where the viewer watched all of your video. + optional double video_quartile_p100_rate = 132; + + // Percentage of impressions where the viewer watched 25% of your video. + optional double video_quartile_p25_rate = 133; + + // Percentage of impressions where the viewer watched 50% of your video. + optional double video_quartile_p50_rate = 134; + + // Percentage of impressions where the viewer watched 75% of your video. + optional double video_quartile_p75_rate = 135; + + // The number of views your TrueView video ad receives divided by its number + // of impressions, including thumbnail impressions for TrueView in-display + // ads. + optional double video_view_rate = 153; + + // The number of times your video ads were viewed. + optional int64 video_views = 154; + + // The total number of view-through conversions. + // These happen when a customer sees an image or rich media ad, then later + // completes a conversion on your site without interacting with (for example, + // clicking on) another ad. + optional int64 view_through_conversions = 155; + + // The number of iOS Store Kit Ad Network conversions. + int64 sk_ad_network_installs = 246; + + // The total number of iOS Store Kit Ad Network conversions. + int64 sk_ad_network_total_conversions = 292; + + // Clicks from properties not owned by the publisher for which the traffic + // the publisher has paid for or acquired through incentivized activity + int64 publisher_purchased_clicks = 264; + + // Clicks from properties for which the traffic the publisher has not paid + // for or acquired through incentivized activity + int64 publisher_organic_clicks = 265; + + // Clicks from traffic which is not identified as "Publisher Purchased" or + // "Publisher Organic" + int64 publisher_unknown_clicks = 266; + + // Number of call button clicks on any location surface after a chargeable ad + // event (click or impression). This measure is coming from Asset based + // location. + optional double all_conversions_from_location_asset_click_to_call = 267; + + // Number of driving directions clicks on any location surface after a + // chargeable ad event (click or impression). This measure is coming + // from Asset based location. + optional double all_conversions_from_location_asset_directions = 268; + + // Number of menu link clicks on any location surface after a chargeable ad + // event (click or impression). This measure is coming from Asset based + // location. + optional double all_conversions_from_location_asset_menu = 269; + + // Number of order clicks on any location surface after a chargeable ad event + // (click or impression). This measure is coming from Asset based + // location. + optional double all_conversions_from_location_asset_order = 270; + + // Number of other types of local action clicks on any location surface after + // a chargeable ad event (click or impression). This measure is coming + // from Asset based location. + optional double all_conversions_from_location_asset_other_engagement = 271; + + // Estimated number of visits to the store after a chargeable + // ad event (click or impression). This measure is coming from Asset + // based location. + optional double all_conversions_from_location_asset_store_visits = 272; + + // Number of website URL clicks on any location surface after a chargeable ad + // event (click or impression). This measure is coming from Asset based + // location. + optional double all_conversions_from_location_asset_website = 273; + + // Number of impressions in which the store location was shown or the location + // was used for targeting. This measure is coming from Asset based + // location. + optional int64 eligible_impressions_from_location_asset_store_reach = 274; + + // Number of call button clicks on any location surface after an impression. + // This measure is coming from Asset based location. + optional double view_through_conversions_from_location_asset_click_to_call = + 275; + + // Number of driving directions clicks on any location surface after an + // impression. This measure is coming from Asset based location. + optional double view_through_conversions_from_location_asset_directions = 276; + + // Number of menu link clicks on any location surface after an impression. + // This measure is coming from Asset based location. + optional double view_through_conversions_from_location_asset_menu = 277; + + // Number of order clicks on any location surface after an impression. This + // measure is coming from Asset based location. + optional double view_through_conversions_from_location_asset_order = 278; + + // Number of other types of local action clicks on any location surface after + // an impression. This measure is coming from Asset based location. + optional double + view_through_conversions_from_location_asset_other_engagement = 279; + + // Estimated number of visits to the store after an impression. + // This measure is coming from Asset based location. + optional double view_through_conversions_from_location_asset_store_visits = + 280; + + // Number of website URL clicks on any location surface after an impression. + // This measure is coming from Asset based location. + optional double view_through_conversions_from_location_asset_website = 281; + + // Orders is the total number of purchase conversions you received attributed + // to your ads. + // How it works: You report conversions with cart data for + // completed purchases on your website. If a conversion is attributed to + // previous interactions with your ads (clicks for text or Shopping ads, views + // for video ads etc.) it's counted as an order. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt in an order on your website. Even though they bought 2 + // products, this would count as 1 order. + // This metric is only available if you report conversions with cart data. + optional double orders = 296; + + // Average order value is the average revenue you made per order attributed to + // your ads. + // How it works: You report conversions with cart data for completed purchases + // on your website. Average order value is the total revenue from your orders + // divided by the total number of orders. + // Example: You received 3 orders which made $10, $15 and $20 worth of + // revenue. The average order value is $15 = ($10 + $15 + $20)/3. + // This metric is only available if you report conversions with cart data. + optional int64 average_order_value_micros = 297; + + // Average cart size is the average number of products in each order + // attributed to your ads. + // How it works: You report conversions with cart data for completed purchases + // on your website. Average cart size is the total number of products sold + // divided by the total number of orders you received. + // Example: You received 2 orders, the first included 3 products and the + // second included 2. The average cart size is 2.5 products = (3+2)/2. + // This metric is only available if you report conversions with cart data. + optional double average_cart_size = 298; + + // Cost of goods sold (COGS) is the total cost of the products you sold in + // orders attributed to your ads. + // How it works: You can add a cost of goods sold value to every product in + // Merchant Center. If you report conversions with cart data, the products you + // sold are matched with their cost of goods sold value and this can be used + // to calculate the gross profit you made on each order. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt. The hat has a cost of goods sold value of $3, the shirt + // has a cost of goods sold value of $5. The cost of goods sold for this order + // is $8 = $3 + $5. + // This metric is only available if you report conversions with cart data. + optional int64 cost_of_goods_sold_micros = 299; + + // Gross profit is the profit you made from orders attributed to your ads + // minus the cost of goods sold (COGS). + // How it works: Gross profit is the revenue you made from sales attributed to + // your ads minus cost of goods sold. Gross profit calculations only include + // products that have a cost of goods sold value in Merchant Center. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt in an order from your website. The hat is priced $10 and + // the shirt is priced $20. The hat has a cost of goods sold value of $3, but + // the shirt has no cost of goods sold value. Gross profit for this order will + // only take into account the hat, so it's $7 = $10 - $3. + // This metric is only available if you report conversions with cart data. + optional int64 gross_profit_micros = 300; + + // Gross profit margin is the percentage gross profit you made from orders + // attributed to your ads, after taking out the cost of goods sold (COGS). + // How it works: You report conversions with cart data for completed purchases + // on your website. Gross profit margin is the gross profit you made divided + // by your total revenue and multiplied by 100%. Gross profit margin + // calculations only include products that have a cost of goods sold value in + // Merchant Center. + // Example: Someone bought a hat and a shirt in an order on your website. The + // hat is priced $10 and has a cost of goods sold value of $3. The shirt is + // priced $20 but has no cost of goods sold value. Gross profit margin for + // this order will only take into account the hat because it has a cost of + // goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. + // This metric is only available if you report conversions with cart data. + optional double gross_profit_margin = 301; + + // Revenue is the total amount you made from orders attributed to your ads. + // How it works: You report conversions with cart data for completed purchases + // on your website. Revenue is the total value of all the orders you received + // attributed to your ads, minus any discount. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt in an order from your website. The hat is priced $10 and + // the shirt is priced $20. The entire order has a $5 discount. The revenue + // from this order is $25 = ($10 + $20) - $5. + // This metric is only available if you report conversions with cart data. + optional int64 revenue_micros = 302; + + // Units sold is the total number of products sold from orders attributed to + // your ads. + // How it works: You report conversions with cart data for completed purchases + // on your website. Units sold is the total number of products sold from all + // orders attributed to your ads. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat, a shirt and a jacket. The units sold in this order is 3. + // This metric is only available if you report conversions with cart data. + optional double units_sold = 303; + + // Cross-sell cost of goods sold (COGS) is the total cost of products sold as + // a result of advertising a different product. + // How it works: You report conversions with cart data for completed purchases + // on your website. If the ad that was interacted with before the purchase has + // an associated product (see Shopping Ads) then this product is considered + // the advertised product. Any product included in the order the customer + // places is a sold product. If these products don't match then this is + // considered cross-sell. Cross-sell cost of goods sold is the total cost of + // the products sold that weren't advertised. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt. The hat has a cost of goods sold value of $3, the shirt + // has a cost of goods sold value of $5. The cross-sell cost of goods sold for + // this order is $5. + // This metric is only available if you report conversions with cart data. + optional int64 cross_sell_cost_of_goods_sold_micros = 304; + + // Cross-sell gross profit is the profit you made from products sold as a + // result of advertising a different product, minus cost of goods sold (COGS). + // How it works: You report conversions with cart data for completed purchases + // on your website. If the ad that was interacted with before the purchase has + // an associated product (see Shopping Ads) then this product is considered + // the advertised product. Any product included in the purchase is a sold + // product. If these products don't match then this is considered cross-sell. + // Cross-sell gross profit is the revenue you made from cross-sell attributed + // to your ads minus the cost of the goods sold. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt. The shirt is priced $20 and has a cost of goods sold value + // of $5. The cross-sell gross profit of this order is $15 = $20 - $5. + // This metric is only available if you report conversions with cart data. + optional int64 cross_sell_gross_profit_micros = 305; + + // Cross-sell revenue is the total amount you made from products sold as a + // result of advertising a different product. + // How it works: You report conversions with cart data for completed purchases + // on your website. If the ad that was interacted with before the purchase has + // an associated product (see Shopping Ads) then this product is considered + // the advertised product. Any product included in the order the customer + // places is a sold product. If these products don't match then this is + // considered cross-sell. Cross-sell revenue is the total value you made from + // cross-sell attributed to your ads. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt. The hat is priced $10 and the shirt is priced $20. The + // cross-sell revenue of this order is $20. + // This metric is only available if you report conversions with cart data. + optional int64 cross_sell_revenue_micros = 306; + + // Cross-sell units sold is the total number of products sold as a result of + // advertising a different product. + // How it works: You report conversions with cart data for completed purchases + // on your website. If the ad that was interacted with before the purchase has + // an associated product (see Shopping Ads) then this product is considered + // the advertised product. Any product included in the order the customer + // places is a sold product. If these products don't match then this is + // considered cross-sell. Cross-sell units sold is the total number of + // cross-sold products from all orders attributed to your ads. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat, a shirt and a jacket. The cross-sell units sold in this order is 2. + // This metric is only available if you report conversions with cart data. + optional double cross_sell_units_sold = 307; + + // Lead cost of goods sold (COGS) is the total cost of products sold as a + // result of advertising the same product. + // How it works: You report conversions with cart data for completed purchases + // on your website. If the ad that was interacted with has an associated + // product (see Shopping Ads) then this product is considered the advertised + // product. Any product included in the order the customer places is a sold + // product. If the advertised and sold products match, then the cost of these + // goods is counted under lead cost of goods sold. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt. The hat has a cost of goods sold value of $3, the shirt + // has a cost of goods sold value of $5. The lead cost of goods sold for this + // order is $3. + // This metric is only available if you report conversions with cart data. + optional int64 lead_cost_of_goods_sold_micros = 308; + + // Lead gross profit is the profit you made from products sold as a result of + // advertising the same product, minus cost of goods sold (COGS). + // How it works: You report conversions with cart data for completed purchases + // on your website. If the ad that was interacted with before the purchase has + // an associated product (see Shopping Ads) then this product is considered + // the advertised product. Any product included in the order the customer + // places is a sold product. If the advertised and sold products match, then + // the revenue you made from these sales minus the cost of goods sold is your + // lead gross profit. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt. The hat is priced $10 and has a cost of goods sold value + // of $3. The lead gross profit of this order is $7 = $10 - $3. + // This metric is only available if you report conversions with cart data. + optional int64 lead_gross_profit_micros = 309; + + // Lead revenue is the total amount you made from products sold as a result of + // advertising the same product. + // How it works: You report conversions with cart data for completed purchases + // on your website. If the ad that was interacted with before the purchase has + // an associated product (see Shopping Ads) then this product is considered + // the advertised product. Any product included in the order the customer + // places is a sold product. If the advertised and sold products match, then + // the total value you made from the sales of these products is shown under + // lead revenue. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat and a shirt. The hat is priced $10 and the shirt is priced $20. The + // lead revenue of this order is $10. + // This metric is only available if you report conversions with cart data. + optional int64 lead_revenue_micros = 310; + + // Lead units sold is the total number of products sold as a result of + // advertising the same product. + // How it works: You report conversions with cart data for completed purchases + // on your website. If the ad that was interacted with before the purchase has + // an associated product (see Shopping Ads) then this product is considered + // the advertised product. Any product included in the order the customer + // places is a sold product. If the advertised and sold products match, then + // the total number of these products sold is shown under lead units sold. + // Example: Someone clicked on a Shopping ad for a hat then bought the same + // hat, a shirt and a jacket. The lead units sold in this order is 1. + // This metric is only available if you report conversions with cart data. + optional double lead_units_sold = 311; + + // The number of unique users who saw your ad during the requested time + // period. This metric cannot be aggregated, and can only be requested for + // date ranges of 92 days or less. This metric is available for following + // campaign types - Display, Video, Discovery and App. + optional int64 unique_users = 319; + + // The average number of times a unique user saw your ad during the requested + // time period. This metric cannot be aggregated, and can only be requested + // for date ranges of 92 days or less. This metric is available for following + // campaign types - Display, Video, Discovery and App. + optional double average_impression_frequency_per_user = 320; +} + +// Search volume range. +// Actual search volume falls within this range. +message SearchVolumeRange { + // Lower bound of search volume. + optional int64 min = 1; + + // Upper bound of search volume. + optional int64 max = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/offline_user_data.proto b/third_party/googleapis/google/ads/googleads/v16/common/offline_user_data.proto new file mode 100644 index 000000000..679bfe72e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/offline_user_data.proto @@ -0,0 +1,344 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/consent.proto"; +import "google/ads/googleads/v16/enums/user_identifier_source.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing offline user data. + +// Address identifier of offline data. +message OfflineUserAddressInfo { + // First name of the user, which is hashed as SHA-256 after normalized + // (Lowercase all characters; Remove any extra spaces before, after, and in + // between). + optional string hashed_first_name = 7; + + // Last name of the user, which is hashed as SHA-256 after normalized (lower + // case only and no punctuation). + optional string hashed_last_name = 8; + + // City of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string city = 9; + + // State code of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string state = 10; + + // 2-letter country code in ISO-3166-1 alpha-2 of the user's address. + optional string country_code = 11; + + // Postal code of the user's address. + optional string postal_code = 12; + + // The street address of the user hashed using SHA-256 hash function after + // normalization (lower case only). Only accepted for + // ConversionAdjustmentUploadService. + optional string hashed_street_address = 13; +} + +// User identifying information. +message UserIdentifier { + // Source of the user identifier when the upload is from Store Sales, + // ConversionUploadService, or ConversionAdjustmentUploadService. + google.ads.googleads.v16.enums.UserIdentifierSourceEnum.UserIdentifierSource + user_identifier_source = 6; + + // Exactly one must be specified. For OfflineUserDataJobService, Customer + // Match accepts hashed_email, hashed_phone_number, mobile_id, + // third_party_user_id, and address_info; Store Sales accepts hashed_email, + // hashed_phone_number, third_party_user_id, and address_info. + // ConversionUploadService accepts hashed_email and hashed_phone_number. + // ConversionAdjustmentUploadService accepts hashed_email, + // hashed_phone_number, and address_info. + oneof identifier { + // Hashed email address using SHA-256 hash function after normalization. + // Accepted for Customer Match, Store Sales, ConversionUploadService, and + // ConversionAdjustmentUploadService. + string hashed_email = 7; + + // Hashed phone number using SHA-256 hash function after normalization + // (E164 standard). Accepted for Customer Match, Store Sales, + // ConversionUploadService, and ConversionAdjustmentUploadService. + string hashed_phone_number = 8; + + // Mobile device ID (advertising ID/IDFA). Accepted only for Customer Match. + string mobile_id = 9; + + // Advertiser-assigned user ID for Customer Match upload, or + // third-party-assigned user ID for Store Sales. Accepted only for Customer + // Match and Store Sales. + string third_party_user_id = 10; + + // Address information. Accepted only for Customer Match, Store Sales, and + // ConversionAdjustmentUploadService. + OfflineUserAddressInfo address_info = 5; + } +} + +// Attribute of the store sales transaction. +message TransactionAttribute { + // Timestamp when transaction occurred. Required. + // The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00" + optional string transaction_date_time = 8; + + // Transaction amount in micros. Required. + // Transaction amount in micros needs to be greater than 1000. + // If item Attributes are provided, it represents the total value of the + // items, after multiplying the unit price per item by the quantity provided + // in the ItemAttributes. + optional double transaction_amount_micros = 9; + + // Transaction currency code. ISO 4217 three-letter code is used. Required. + optional string currency_code = 10; + + // The resource name of conversion action to report conversions to. + // Required. + optional string conversion_action = 11; + + // Transaction order id. + // Accessible only to customers on the allow-list. + optional string order_id = 12; + + // Store attributes of the transaction. + // Accessible only to customers on the allow-list. + StoreAttribute store_attribute = 6; + + // Value of the custom variable for each transaction. + // Accessible only to customers on the allow-list. + optional string custom_value = 13; + + // Item attributes of the transaction. + ItemAttribute item_attribute = 14; +} + +// Store attributes of the transaction. +message StoreAttribute { + // Store code from + // https://support.google.com/business/answer/3370250#storecode + optional string store_code = 2; +} + +// Item attributes of the transaction. +message ItemAttribute { + // A unique identifier of a product. It can be either the Merchant Center Item + // ID or GTIN (Global Trade Item Number). + string item_id = 1; + + // ID of the Merchant Center Account. + optional int64 merchant_id = 2; + + // Common Locale Data Repository (CLDR) territory code of the country + // associated with the feed where your items are uploaded. See + // https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes + // for more information. + string country_code = 3; + + // ISO 639-1 code of the language associated with the feed where your items + // are uploaded + string language_code = 4; + + // The number of items sold. Defaults to 1 if not set. + int64 quantity = 5; +} + +// User data holding user identifiers and attributes. +message UserData { + // User identification info. Required. + repeated UserIdentifier user_identifiers = 1; + + // Additional transactions/attributes associated with the user. + // Required when updating store sales data. + TransactionAttribute transaction_attribute = 2; + + // Additional attributes associated with the user. Required when updating + // customer match attributes. These have an expiration of 540 days. + UserAttribute user_attribute = 3; + + // The consent setting for the user. Customer match will ignore this field + // and return a warning. + optional Consent consent = 4; +} + +// User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job +// type. +message UserAttribute { + // Advertiser defined lifetime value for the user. + optional int64 lifetime_value_micros = 1; + + // Advertiser defined lifetime value bucket for the user. The valid range for + // a lifetime value bucket is from 1 (low) to 10 (high), except for remove + // operation where 0 will also be accepted. + optional int32 lifetime_value_bucket = 2; + + // Timestamp of the last purchase made by the user. + // The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + string last_purchase_date_time = 3; + + // Advertiser defined average number of purchases that are made by the user in + // a 30 day period. + int32 average_purchase_count = 4; + + // Advertiser defined average purchase value in micros for the user. + int64 average_purchase_value_micros = 5; + + // Timestamp when the user was acquired. + // The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + string acquisition_date_time = 6; + + // The shopping loyalty related data. Shopping utilizes this data to provide + // users with a better experience. Accessible only to merchants on the + // allow-list with the user's consent. + optional ShoppingLoyalty shopping_loyalty = 7; + + // Optional. Advertiser defined lifecycle stage for the user. The accepted + // values are "Lead", "Active" and "Churned". + string lifecycle_stage = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Timestamp of the first purchase made by the user. + // The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + string first_purchase_date_time = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Advertiser defined events and their attributes. All the values in + // the nested fields are required. Currently this field is in beta. + repeated EventAttribute event_attribute = 10 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Advertiser defined events and their attributes. All the values in the +// nested fields are required. +message EventAttribute { + // Required. Advertiser defined event to be used for remarketing. The accepted + // values are "Viewed", "Cart", "Purchased" and "Recommended". + string event = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Timestamp at which the event happened. + // The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + string event_date_time = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Item attributes of the event. + repeated EventItemAttribute item_attribute = 3 + [(google.api.field_behavior) = REQUIRED]; +} + +// Event Item attributes of the Customer Match. +message EventItemAttribute { + // Optional. A unique identifier of a product. It can be either the Merchant + // Center Item ID or GTIN (Global Trade Item Number). + string item_id = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// The shopping loyalty related data. Shopping utilizes this data to provide +// users with a better experience. +// Accessible only to merchants on the allow-list. +message ShoppingLoyalty { + // The membership tier. It is a free-form string as each merchant may have + // their own loyalty system. For example, it could be a number from 1 to 10, + // or a string such as "Golden" or "Silver", or even empty string "". + optional string loyalty_tier = 1; +} + +// Metadata for customer match user list. +message CustomerMatchUserListMetadata { + // The resource name of remarketing list to update data. + // Required for job of CUSTOMER_MATCH_USER_LIST type. + optional string user_list = 2; + + // The consent setting for all the users in this job. + optional Consent consent = 3; +} + +// Metadata for Store Sales Direct. +message StoreSalesMetadata { + // This is the fraction of all transactions that are identifiable (for + // example, associated with any form of customer information). Required. The + // fraction needs to be between 0 and 1 (excluding 0). + optional double loyalty_fraction = 5; + + // This is the ratio of sales being uploaded compared to the overall sales + // that can be associated with a customer. Required. + // The fraction needs to be between 0 and 1 (excluding 0). For example, if you + // upload half the sales that you are able to associate with a customer, this + // would be 0.5. + optional double transaction_upload_fraction = 6; + + // Name of the store sales custom variable key. A predefined key that + // can be applied to the transaction and then later used for custom + // segmentation in reporting. + // Accessible only to customers on the allow-list. + optional string custom_key = 7; + + // Metadata for a third party Store Sales upload. + StoreSalesThirdPartyMetadata third_party_metadata = 3; +} + +// Metadata for a third party Store Sales. +// This product is only for customers on the allow-list. Contact your +// Google business development representative for details on the upload +// configuration. +message StoreSalesThirdPartyMetadata { + // Time the advertiser uploaded the data to the partner. Required. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string advertiser_upload_date_time = 7; + + // The fraction of transactions that are valid. Invalid transactions may + // include invalid formats or values. + // Required. + // The fraction needs to be between 0 and 1 (excluding 0). + optional double valid_transaction_fraction = 8; + + // The fraction of valid transactions that are matched to a third party + // assigned user ID on the partner side. + // Required. + // The fraction needs to be between 0 and 1 (excluding 0). + optional double partner_match_fraction = 9; + + // The fraction of valid transactions that are uploaded by the partner to + // Google. + // Required. + // The fraction needs to be between 0 and 1 (excluding 0). + optional double partner_upload_fraction = 10; + + // Version of partner IDs to be used for uploads. Required. + optional string bridge_map_version_id = 11; + + // ID of the third party partner updating the transaction feed. + optional int64 partner_id = 12; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/policy.proto b/third_party/googleapis/google/ads/googleads/v16/common/policy.proto new file mode 100644 index 000000000..29c3d095e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/policy.proto @@ -0,0 +1,225 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/policy_topic_entry_type.proto"; +import "google/ads/googleads/v16/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; +import "google/ads/googleads/v16/enums/policy_topic_evidence_destination_not_working_device.proto"; +import "google/ads/googleads/v16/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing policy information. + +// Key of the violation. The key is used for referring to a violation +// when filing an exemption request. +message PolicyViolationKey { + // Unique ID of the violated policy. + optional string policy_name = 3; + + // The text that violates the policy if specified. + // Otherwise, refers to the policy in general + // (for example, when requesting to be exempt from the whole policy). + // If not specified for criterion exemptions, the whole policy is implied. + // Must be specified for ad exemptions. + optional string violating_text = 4; +} + +// Parameter for controlling how policy exemption is done. +message PolicyValidationParameter { + // The list of policy topics that should not cause a PolicyFindingError to + // be reported. This field is currently only compatible with Enhanced Text Ad. + // It corresponds to the PolicyTopicEntry.topic field. + // + // Resources violating these policies will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated string ignorable_policy_topics = 3; + + // The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, refer to the is_exemptible field in the returned + // PolicyViolationError. + // + // Resources violating these polices will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated PolicyViolationKey exempt_policy_violation_keys = 2; +} + +// Policy finding attached to a resource (for example, alcohol policy associated +// with a site that sells alcohol). +// +// Each PolicyTopicEntry has a topic that indicates the specific ads policy +// the entry is about and a type to indicate the effect that the entry will have +// on serving. It may optionally have one or more evidences that indicate the +// reason for the finding. It may also optionally have one or more constraints +// that provide details about how serving may be restricted. +message PolicyTopicEntry { + // Policy topic this finding refers to. For example, "ALCOHOL", + // "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible + // policy topics is not fixed for a particular API version and may change + // at any time. + optional string topic = 5; + + // Describes the negative or positive effect this policy will have on serving. + google.ads.googleads.v16.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType + type = 2; + + // Additional information that explains policy finding + // (for example, the brand name for a trademark finding). + repeated PolicyTopicEvidence evidences = 3; + + // Indicates how serving of this resource may be affected (for example, not + // serving in a country). + repeated PolicyTopicConstraint constraints = 4; +} + +// Additional information that explains a policy finding. +message PolicyTopicEvidence { + // A list of fragments of text that violated a policy. + message TextList { + // The fragments of text from the resource that caused the policy finding. + repeated string texts = 2; + } + + // A list of websites that caused a policy finding. Used for + // ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more + // than five websites, only the top five (those that appear in resources the + // most) will be listed here. + message WebsiteList { + // Websites that caused the policy finding. + repeated string websites = 2; + } + + // A list of strings found in a destination page that caused a policy + // finding. + message DestinationTextList { + // List of text found in the resource's destination page. + repeated string destination_texts = 2; + } + + // Evidence of mismatches between the URLs of a resource. + message DestinationMismatch { + // The set of URLs that did not match each other. + repeated google.ads.googleads.v16.enums + .PolicyTopicEvidenceDestinationMismatchUrlTypeEnum + .PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; + } + + // Evidence details when the destination is returning an HTTP error + // code or isn't functional in all locations for commonly used devices. + message DestinationNotWorking { + // The full URL that didn't work. + optional string expanded_url = 7; + + // The type of device that failed to load the URL. + google.ads.googleads.v16.enums + .PolicyTopicEvidenceDestinationNotWorkingDeviceEnum + .PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; + + // The time the URL was last checked. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string last_checked_date_time = 8; + + // Indicates the reason of the DESTINATION_NOT_WORKING policy finding. + oneof reason { + // The type of DNS error. + google.ads.googleads.v16.enums + .PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum + .PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = + 1; + + // The HTTP error code. + int64 http_error_code = 6; + } + } + + // Specific evidence information depending on the evidence type. + oneof value { + // List of websites linked with this resource. + WebsiteList website_list = 3; + + // List of evidence found in the text of a resource. + TextList text_list = 4; + + // The language the resource was detected to be written in. + // This is an IETF language tag such as "en-US". + string language_code = 9; + + // The text in the destination of the resource that is causing a policy + // finding. + DestinationTextList destination_text_list = 6; + + // Mismatch between the destinations of a resource's URLs. + DestinationMismatch destination_mismatch = 7; + + // Details when the destination is returning an HTTP error code or isn't + // functional in all locations for commonly used devices. + DestinationNotWorking destination_not_working = 8; + } +} + +// Describes the effect on serving that a policy topic entry will have. +message PolicyTopicConstraint { + // A list of countries where a resource's serving is constrained. + message CountryConstraintList { + // Total number of countries targeted by the resource. + optional int32 total_targeted_countries = 3; + + // Countries in which serving is restricted. + repeated CountryConstraint countries = 2; + } + + // Indicates that a policy topic was constrained due to disapproval of the + // website for reseller purposes. + message ResellerConstraint {} + + // Indicates that a resource's ability to serve in a particular country is + // constrained. + message CountryConstraint { + // Geo target constant resource name of the country in which serving is + // constrained. + optional string country_criterion = 2; + } + + // Specific information about the constraint. + oneof value { + // Countries where the resource cannot serve. + CountryConstraintList country_constraint_list = 1; + + // Reseller constraint. + ResellerConstraint reseller_constraint = 2; + + // Countries where a certificate is required for serving. + CountryConstraintList certificate_missing_in_country_list = 3; + + // Countries where the resource's domain is not covered by the + // certificates associated with it. + CountryConstraintList certificate_domain_mismatch_in_country_list = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/policy_summary.proto b/third_party/googleapis/google/ads/googleads/v16/common/policy_summary.proto new file mode 100644 index 000000000..7ea17bcf2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/policy_summary.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/policy_approval_status.proto"; +import "google/ads/googleads/v16/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicySummaryProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing policy summary. + +// Contains policy summary information. +message PolicySummary { + // The list of policy findings. + repeated PolicyTopicEntry policy_topic_entries = 1; + + // Where in the review process the resource is. + google.ads.googleads.v16.enums.PolicyReviewStatusEnum.PolicyReviewStatus + review_status = 2; + + // The overall approval status, which is calculated based on + // the status of its individual policy topic entries. + google.ads.googleads.v16.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/real_time_bidding_setting.proto b/third_party/googleapis/google/ads/googleads/v16/common/real_time_bidding_setting.proto new file mode 100644 index 000000000..cb78b8b7e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/real_time_bidding_setting.proto @@ -0,0 +1,35 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "RealTimeBiddingSettingProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing RealTimeBiddingSetting + +// Settings for Real-Time Bidding, a feature only available for campaigns +// targeting the Ad Exchange network. +message RealTimeBiddingSetting { + // Whether the campaign is opted in to real-time bidding. + optional bool opt_in = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/segments.proto b/third_party/googleapis/google/ads/googleads/v16/common/segments.proto new file mode 100644 index 000000000..e683c474c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/segments.proto @@ -0,0 +1,492 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/enums/ad_destination_type.proto"; +import "google/ads/googleads/v16/enums/ad_network_type.proto"; +import "google/ads/googleads/v16/enums/budget_campaign_association_status.proto"; +import "google/ads/googleads/v16/enums/click_type.proto"; +import "google/ads/googleads/v16/enums/conversion_action_category.proto"; +import "google/ads/googleads/v16/enums/conversion_attribution_event_type.proto"; +import "google/ads/googleads/v16/enums/conversion_lag_bucket.proto"; +import "google/ads/googleads/v16/enums/conversion_or_adjustment_lag_bucket.proto"; +import "google/ads/googleads/v16/enums/conversion_value_rule_primary_dimension.proto"; +import "google/ads/googleads/v16/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto"; +import "google/ads/googleads/v16/enums/day_of_week.proto"; +import "google/ads/googleads/v16/enums/device.proto"; +import "google/ads/googleads/v16/enums/external_conversion_source.proto"; +import "google/ads/googleads/v16/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v16/enums/hotel_price_bucket.proto"; +import "google/ads/googleads/v16/enums/hotel_rate_type.proto"; +import "google/ads/googleads/v16/enums/month_of_year.proto"; +import "google/ads/googleads/v16/enums/placeholder_type.proto"; +import "google/ads/googleads/v16/enums/product_channel.proto"; +import "google/ads/googleads/v16/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v16/enums/product_condition.proto"; +import "google/ads/googleads/v16/enums/recommendation_type.proto"; +import "google/ads/googleads/v16/enums/search_engine_results_page_type.proto"; +import "google/ads/googleads/v16/enums/search_term_match_type.proto"; +import "google/ads/googleads/v16/enums/sk_ad_network_ad_event_type.proto"; +import "google/ads/googleads/v16/enums/sk_ad_network_attribution_credit.proto"; +import "google/ads/googleads/v16/enums/sk_ad_network_coarse_conversion_value.proto"; +import "google/ads/googleads/v16/enums/sk_ad_network_source_type.proto"; +import "google/ads/googleads/v16/enums/sk_ad_network_user_type.proto"; +import "google/ads/googleads/v16/enums/slot.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SegmentsProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing segment only fields. + +// Segment only fields. +message Segments { + // Activity account ID. + optional int64 activity_account_id = 148; + + // The city where the travel activity is available. + optional string activity_city = 185; + + // The country where the travel activity is available. + optional string activity_country = 186; + + // Activity rating. + optional int64 activity_rating = 149; + + // The state where the travel activity is available. + optional string activity_state = 187; + + // Advertiser supplied activity ID. + optional string external_activity_id = 150; + + // Ad Destination type. + google.ads.googleads.v16.enums.AdDestinationTypeEnum.AdDestinationType + ad_destination_type = 136; + + // Ad network type. + google.ads.googleads.v16.enums.AdNetworkTypeEnum.AdNetworkType + ad_network_type = 3; + + // Resource name of the ad group. + optional string ad_group = 158; + + // Resource name of the asset group. + optional string asset_group = 159; + + // Domain (visible URL) of a participant in the Auction Insights report. + optional string auction_insight_domain = 145; + + // Budget campaign association status. + BudgetCampaignAssociationStatus budget_campaign_association_status = 134; + + // Resource name of the campaign. + optional string campaign = 157; + + // Click type. + google.ads.googleads.v16.enums.ClickTypeEnum.ClickType click_type = 26; + + // Resource name of the conversion action. + optional string conversion_action = 113 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // Conversion action category. + google.ads.googleads.v16.enums.ConversionActionCategoryEnum + .ConversionActionCategory conversion_action_category = 53; + + // Conversion action name. + optional string conversion_action_name = 114; + + // This segments your conversion columns by the original conversion and + // conversion value versus the delta if conversions were adjusted. False row + // has the data as originally stated; While true row has the delta between + // data now and the data as originally stated. Summing the two together + // results post-adjustment data. + optional bool conversion_adjustment = 115; + + // Conversion attribution event type. + google.ads.googleads.v16.enums.ConversionAttributionEventTypeEnum + .ConversionAttributionEventType conversion_attribution_event_type = 2; + + // An enum value representing the number of days between the impression and + // the conversion. + google.ads.googleads.v16.enums.ConversionLagBucketEnum.ConversionLagBucket + conversion_lag_bucket = 50; + + // An enum value representing the number of days between the impression and + // the conversion or between the impression and adjustments to the conversion. + google.ads.googleads.v16.enums.ConversionOrAdjustmentLagBucketEnum + .ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51; + + // Date to which metrics apply. + // yyyy-MM-dd format, for example, 2018-04-17. + optional string date = 79; + + // Day of the week, for example, MONDAY. + google.ads.googleads.v16.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; + + // Device to which metrics apply. + google.ads.googleads.v16.enums.DeviceEnum.Device device = 1; + + // External conversion source. + google.ads.googleads.v16.enums.ExternalConversionSourceEnum + .ExternalConversionSource external_conversion_source = 55; + + // Resource name of the geo target constant that represents an airport. + optional string geo_target_airport = 116; + + // Resource name of the geo target constant that represents a canton. + optional string geo_target_canton = 117; + + // Resource name of the geo target constant that represents a city. + optional string geo_target_city = 118; + + // Resource name of the geo target constant that represents a country. + optional string geo_target_country = 119; + + // Resource name of the geo target constant that represents a county. + optional string geo_target_county = 120; + + // Resource name of the geo target constant that represents a district. + optional string geo_target_district = 121; + + // Resource name of the geo target constant that represents a metro. + optional string geo_target_metro = 122; + + // Resource name of the geo target constant that represents the most + // specific location. + optional string geo_target_most_specific_location = 123; + + // Resource name of the geo target constant that represents a postal code. + optional string geo_target_postal_code = 124; + + // Resource name of the geo target constant that represents a province. + optional string geo_target_province = 125; + + // Resource name of the geo target constant that represents a region. + optional string geo_target_region = 126; + + // Resource name of the geo target constant that represents a state. + optional string geo_target_state = 127; + + // Hotel booking window in days. + optional int64 hotel_booking_window_days = 135; + + // Hotel center ID. + optional int64 hotel_center_id = 80; + + // Hotel check-in date. Formatted as yyyy-MM-dd. + optional string hotel_check_in_date = 81; + + // Hotel check-in day of week. + google.ads.googleads.v16.enums.DayOfWeekEnum.DayOfWeek + hotel_check_in_day_of_week = 9; + + // Hotel city. + optional string hotel_city = 82; + + // Hotel class. + optional int32 hotel_class = 83; + + // Hotel country. + optional string hotel_country = 84; + + // Hotel date selection type. + google.ads.googleads.v16.enums.HotelDateSelectionTypeEnum + .HotelDateSelectionType hotel_date_selection_type = 13; + + // Hotel length of stay. + optional int32 hotel_length_of_stay = 85; + + // Hotel rate rule ID. + optional string hotel_rate_rule_id = 86; + + // Hotel rate type. + google.ads.googleads.v16.enums.HotelRateTypeEnum.HotelRateType + hotel_rate_type = 74; + + // Hotel price bucket. + google.ads.googleads.v16.enums.HotelPriceBucketEnum.HotelPriceBucket + hotel_price_bucket = 78; + + // Hotel state. + optional string hotel_state = 87; + + // Hour of day as a number between 0 and 23, inclusive. + optional int32 hour = 88; + + // Only used with feed item metrics. + // Indicates whether the interaction metrics occurred on the feed item itself + // or a different extension or ad unit. + optional bool interaction_on_this_extension = 89; + + // Keyword criterion. + Keyword keyword = 61; + + // Month as represented by the date of the first day of a month. Formatted as + // yyyy-MM-dd. + optional string month = 90; + + // Month of the year, for example, January. + google.ads.googleads.v16.enums.MonthOfYearEnum.MonthOfYear month_of_year = 18; + + // Partner hotel ID. + optional string partner_hotel_id = 91; + + // Placeholder type. This is only used with feed item metrics. + google.ads.googleads.v16.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_type = 20; + + // Aggregator ID of the product. + optional int64 product_aggregator_id = 132; + + // Category (level 1) of the product. + optional string product_category_level1 = 161; + + // Category (level 2) of the product. + optional string product_category_level2 = 162; + + // Category (level 3) of the product. + optional string product_category_level3 = 163; + + // Category (level 4) of the product. + optional string product_category_level4 = 164; + + // Category (level 5) of the product. + optional string product_category_level5 = 165; + + // Brand of the product. + optional string product_brand = 97; + + // Channel of the product. + google.ads.googleads.v16.enums.ProductChannelEnum.ProductChannel + product_channel = 30; + + // Channel exclusivity of the product. + google.ads.googleads.v16.enums.ProductChannelExclusivityEnum + .ProductChannelExclusivity product_channel_exclusivity = 31; + + // Condition of the product. + google.ads.googleads.v16.enums.ProductConditionEnum.ProductCondition + product_condition = 32; + + // Resource name of the geo target constant for the country of sale of the + // product. + optional string product_country = 98; + + // Custom attribute 0 of the product. + optional string product_custom_attribute0 = 99; + + // Custom attribute 1 of the product. + optional string product_custom_attribute1 = 100; + + // Custom attribute 2 of the product. + optional string product_custom_attribute2 = 101; + + // Custom attribute 3 of the product. + optional string product_custom_attribute3 = 102; + + // Custom attribute 4 of the product. + optional string product_custom_attribute4 = 103; + + // Feed label of the product. + optional string product_feed_label = 147; + + // Item ID of the product. + optional string product_item_id = 104; + + // Resource name of the language constant for the language of the product. + optional string product_language = 105; + + // Merchant ID of the product. + optional int64 product_merchant_id = 133; + + // Store ID of the product. + optional string product_store_id = 106; + + // Title of the product. + optional string product_title = 107; + + // Type (level 1) of the product. + optional string product_type_l1 = 108; + + // Type (level 2) of the product. + optional string product_type_l2 = 109; + + // Type (level 3) of the product. + optional string product_type_l3 = 110; + + // Type (level 4) of the product. + optional string product_type_l4 = 111; + + // Type (level 5) of the product. + optional string product_type_l5 = 112; + + // Quarter as represented by the date of the first day of a quarter. + // Uses the calendar year for quarters, for example, the second quarter of + // 2018 starts on 2018-04-01. Formatted as yyyy-MM-dd. + optional string quarter = 128; + + // Recommendation type. + google.ads.googleads.v16.enums.RecommendationTypeEnum.RecommendationType + recommendation_type = 140; + + // Type of the search engine results page. + google.ads.googleads.v16.enums.SearchEngineResultsPageTypeEnum + .SearchEngineResultsPageType search_engine_results_page_type = 70; + + // A search term subcategory. An empty string denotes the catch-all + // subcategory for search terms that didn't fit into another subcategory. + optional string search_subcategory = 155; + + // A search term. + optional string search_term = 156; + + // Match type of the keyword that triggered the ad, including variants. + google.ads.googleads.v16.enums.SearchTermMatchTypeEnum.SearchTermMatchType + search_term_match_type = 22; + + // Position of the ad. + google.ads.googleads.v16.enums.SlotEnum.Slot slot = 23; + + // Primary dimension of applied conversion value rules. + // NO_RULE_APPLIED shows the total recorded value of conversions that + // do not have a value rule applied. + // ORIGINAL shows the original value of conversions to which a value rule + // has been applied. + // GEO_LOCATION, DEVICE, AUDIENCE show the net adjustment after value + // rules were applied. + google.ads.googleads.v16.enums.ConversionValueRulePrimaryDimensionEnum + .ConversionValueRulePrimaryDimension + conversion_value_rule_primary_dimension = 138; + + // Resource name of the ad group criterion that represents webpage criterion. + optional string webpage = 129; + + // Week as defined as Monday through Sunday, and represented by the date of + // Monday. Formatted as yyyy-MM-dd. + optional string week = 130; + + // Year, formatted as yyyy. + optional int32 year = 131; + + // iOS Store Kit Ad Network conversion value. + // Null value means this segment is not applicable, for example, non-iOS + // campaign. + optional int64 sk_ad_network_conversion_value = 137; + + // iOS Store Kit Ad Network user type. + google.ads.googleads.v16.enums.SkAdNetworkUserTypeEnum.SkAdNetworkUserType + sk_ad_network_user_type = 141; + + // iOS Store Kit Ad Network ad event type. + google.ads.googleads.v16.enums.SkAdNetworkAdEventTypeEnum + .SkAdNetworkAdEventType sk_ad_network_ad_event_type = 142; + + // App where the ad that drove the iOS Store Kit Ad Network install was + // shown. Null value means this segment is not applicable, for example, + // non-iOS campaign, or was not present in any postbacks sent by Apple. + optional SkAdNetworkSourceApp sk_ad_network_source_app = 143; + + // iOS Store Kit Ad Network attribution credit + google.ads.googleads.v16.enums.SkAdNetworkAttributionCreditEnum + .SkAdNetworkAttributionCredit sk_ad_network_attribution_credit = 144; + + // iOS Store Kit Ad Network coarse conversion value. + google.ads.googleads.v16.enums.SkAdNetworkCoarseConversionValueEnum + .SkAdNetworkCoarseConversionValue sk_ad_network_coarse_conversion_value = + 151; + + // Website where the ad that drove the iOS Store Kit Ad Network install was + // shown. Null value means this segment is not applicable, for example, + // non-iOS campaign, or was not present in any postbacks sent by Apple. + optional string sk_ad_network_source_domain = 152; + + // The source type where the ad that drove the iOS Store Kit Ad Network + // install was shown. Null value means this segment is not applicable, for + // example, non-iOS campaign, or neither source domain nor source app were + // present in any postbacks sent by Apple. + google.ads.googleads.v16.enums.SkAdNetworkSourceTypeEnum.SkAdNetworkSourceType + sk_ad_network_source_type = 153; + + // iOS Store Kit Ad Network postback sequence index. + optional int64 sk_ad_network_postback_sequence_index = 154; + + // Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. + // Indicates whether the interaction metrics occurred on the asset itself + // or a different asset or ad unit. + // Interactions (for example, clicks) are counted across all the parts of the + // served ad (for example, Ad itself and other components like Sitelinks) when + // they are served together. When interaction_on_this_asset is true, it means + // the interactions are on this specific asset and when + // interaction_on_this_asset is false, it means the interactions is not on + // this specific asset but on other parts of the served ad this asset is + // served with. + optional AssetInteractionTarget asset_interaction_target = 139; + + // This is for segmenting conversions by whether the user is a new customer + // or a returning customer. This segmentation is typically used to measure + // the impact of customer acquisition goal. + google.ads.googleads.v16.enums + .ConvertingUserPriorEngagementTypeAndLtvBucketEnum + .ConvertingUserPriorEngagementTypeAndLtvBucket + new_versus_returning_customers = 160; +} + +// A Keyword criterion segment. +message Keyword { + // The AdGroupCriterion resource name. + optional string ad_group_criterion = 3; + + // Keyword info. + KeywordInfo info = 2; +} + +// A BudgetCampaignAssociationStatus segment. +message BudgetCampaignAssociationStatus { + // The campaign resource name. + optional string campaign = 1; + + // Budget campaign association status. + google.ads.googleads.v16.enums.BudgetCampaignAssociationStatusEnum + .BudgetCampaignAssociationStatus status = 2; +} + +// An AssetInteractionTarget segment. +message AssetInteractionTarget { + // The asset resource name. + string asset = 1; + + // Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. + // Indicates whether the interaction metrics occurred on the asset itself or a + // different asset or ad unit. + bool interaction_on_this_asset = 2; +} + +// A SkAdNetworkSourceApp segment. +message SkAdNetworkSourceApp { + // App id where the ad that drove the iOS Store Kit Ad Network install was + // shown. + optional string sk_ad_network_source_app_id = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/simulation.proto b/third_party/googleapis/google/ads/googleads/v16/common/simulation.proto new file mode 100644 index 000000000..9fe3b8add --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/simulation.proto @@ -0,0 +1,306 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SimulationProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing simulation points. + +// A container for simulation points for simulations of type CPC_BID. +message CpcBidSimulationPointList { + // Projected metrics for a series of CPC bid amounts. + repeated CpcBidSimulationPoint points = 1; +} + +// A container for simulation points for simulations of type CPV_BID. +message CpvBidSimulationPointList { + // Projected metrics for a series of CPV bid amounts. + repeated CpvBidSimulationPoint points = 1; +} + +// A container for simulation points for simulations of type TARGET_CPA. +message TargetCpaSimulationPointList { + // Projected metrics for a series of target CPA amounts. + repeated TargetCpaSimulationPoint points = 1; +} + +// A container for simulation points for simulations of type TARGET_ROAS. +message TargetRoasSimulationPointList { + // Projected metrics for a series of target ROAS amounts. + repeated TargetRoasSimulationPoint points = 1; +} + +// A container for simulation points for simulations of type PERCENT_CPC_BID. +message PercentCpcBidSimulationPointList { + // Projected metrics for a series of percent CPC bid amounts. + repeated PercentCpcBidSimulationPoint points = 1; +} + +// A container for simulation points for simulations of type BUDGET. +message BudgetSimulationPointList { + // Projected metrics for a series of budget amounts. + repeated BudgetSimulationPoint points = 1; +} + +// A container for simulation points for simulations of type +// TARGET_IMPRESSION_SHARE. +message TargetImpressionShareSimulationPointList { + // Projected metrics for a specific target impression share value. + repeated TargetImpressionShareSimulationPoint points = 1; +} + +// Projected metrics for a specific CPC bid amount. +message CpcBidSimulationPoint { + // Projected required daily budget that the advertiser must set in order to + // receive the estimated traffic, in micros of advertiser currency. + int64 required_budget_amount_micros = 17; + + // Projected number of biddable conversions. + optional double biddable_conversions = 9; + + // Projected total value of biddable conversions. + optional double biddable_conversions_value = 10; + + // Projected number of clicks. + optional int64 clicks = 11; + + // Projected cost in micros. + optional int64 cost_micros = 12; + + // Projected number of impressions. + optional int64 impressions = 13; + + // Projected number of top slot impressions. + // Only search advertising channel type supports this field. + optional int64 top_slot_impressions = 14; + + // When SimulationModificationMethod = UNIFORM or DEFAULT, + // cpc_bid_micros is set. + // When SimulationModificationMethod = SCALING, + // cpc_bid_scaling_modifier is set. + oneof cpc_simulation_key_value { + // The simulated CPC bid upon which projected metrics are based. + int64 cpc_bid_micros = 15; + + // The simulated scaling modifier upon which projected metrics are based. + // All CPC bids relevant to the simulated entity are scaled by this + // modifier. + double cpc_bid_scaling_modifier = 16; + } +} + +// Projected metrics for a specific CPV bid amount. +message CpvBidSimulationPoint { + // The simulated CPV bid upon which projected metrics are based. + optional int64 cpv_bid_micros = 5; + + // Projected cost in micros. + optional int64 cost_micros = 6; + + // Projected number of impressions. + optional int64 impressions = 7; + + // Projected number of views. + optional int64 views = 8; +} + +// Projected metrics for a specific target CPA amount. +message TargetCpaSimulationPoint { + // Projected required daily budget that the advertiser must set in order to + // receive the estimated traffic, in micros of advertiser currency. + int64 required_budget_amount_micros = 19; + + // Projected number of biddable conversions. + optional double biddable_conversions = 9; + + // Projected total value of biddable conversions. + optional double biddable_conversions_value = 10; + + // Projected number of app installs. + double app_installs = 15; + + // Projected number of in-app actions. + double in_app_actions = 16; + + // Projected number of clicks. + optional int64 clicks = 11; + + // Projected cost in micros. + optional int64 cost_micros = 12; + + // Projected number of impressions. + optional int64 impressions = 13; + + // Projected number of top slot impressions. + // Only search advertising channel type supports this field. + optional int64 top_slot_impressions = 14; + + // Projected number of interactions. + // Only discovery advertising channel type supports this field. + optional int64 interactions = 20; + + // When SimulationModificationMethod = UNIFORM or DEFAULT, + // target_cpa_micros is set. + // When SimulationModificationMethod = SCALING, + // target_cpa_scaling_modifier is set. + oneof target_cpa_simulation_key_value { + // The simulated target CPA upon which projected metrics are based. + int64 target_cpa_micros = 17; + + // The simulated scaling modifier upon which projected metrics are based. + // All CPA targets relevant to the simulated entity are scaled by this + // modifier. + double target_cpa_scaling_modifier = 18; + } +} + +// Projected metrics for a specific target ROAS amount. +message TargetRoasSimulationPoint { + // The simulated target ROAS upon which projected metrics are based. + optional double target_roas = 8; + + // Projected required daily budget that the advertiser must set in order to + // receive the estimated traffic, in micros of advertiser currency. + int64 required_budget_amount_micros = 15; + + // Projected number of biddable conversions. + optional double biddable_conversions = 9; + + // Projected total value of biddable conversions. + optional double biddable_conversions_value = 10; + + // Projected number of clicks. + optional int64 clicks = 11; + + // Projected cost in micros. + optional int64 cost_micros = 12; + + // Projected number of impressions. + optional int64 impressions = 13; + + // Projected number of top slot impressions. + // Only Search advertising channel type supports this field. + optional int64 top_slot_impressions = 14; +} + +// Projected metrics for a specific percent CPC amount. Only Hotel advertising +// channel type supports this field. +message PercentCpcBidSimulationPoint { + // The simulated percent CPC upon which projected metrics are based. Percent + // CPC expressed as fraction of the advertised price for some good or service. + // The value stored here is 1,000,000 * [fraction]. + optional int64 percent_cpc_bid_micros = 1; + + // Projected number of biddable conversions. + optional double biddable_conversions = 2; + + // Projected total value of biddable conversions in local currency. + optional double biddable_conversions_value = 3; + + // Projected number of clicks. + optional int64 clicks = 4; + + // Projected cost in micros. + optional int64 cost_micros = 5; + + // Projected number of impressions. + optional int64 impressions = 6; + + // Projected number of top slot impressions. + optional int64 top_slot_impressions = 7; +} + +// Projected metrics for a specific budget amount. +message BudgetSimulationPoint { + // The simulated budget upon which projected metrics are based. + int64 budget_amount_micros = 1; + + // Projected required daily cpc bid ceiling that the advertiser must set to + // realize this simulation, in micros of the advertiser currency. + // Only campaigns with the Target Spend bidding strategy support this field. + int64 required_cpc_bid_ceiling_micros = 2; + + // Projected number of biddable conversions. + double biddable_conversions = 3; + + // Projected total value of biddable conversions. + double biddable_conversions_value = 4; + + // Projected number of clicks. + int64 clicks = 5; + + // Projected cost in micros. + int64 cost_micros = 6; + + // Projected number of impressions. + int64 impressions = 7; + + // Projected number of top slot impressions. + // Only search advertising channel type supports this field. + int64 top_slot_impressions = 8; + + // Projected number of interactions. + // Only discovery advertising channel type supports this field. + int64 interactions = 9; +} + +// Projected metrics for a specific target impression share value. +message TargetImpressionShareSimulationPoint { + // The simulated target impression share value (in micros) upon which + // projected metrics are based. + // For example, 10% impression share, which is equal to 0.1, is stored as + // 100_000. This value is validated and will not exceed 1M (100%). + int64 target_impression_share_micros = 1; + + // Projected required daily cpc bid ceiling that the advertiser must set to + // realize this simulation, in micros of the advertiser currency. + int64 required_cpc_bid_ceiling_micros = 2; + + // Projected required daily budget that the advertiser must set in order to + // receive the estimated traffic, in micros of advertiser currency. + int64 required_budget_amount_micros = 3; + + // Projected number of biddable conversions. + double biddable_conversions = 4; + + // Projected total value of biddable conversions. + double biddable_conversions_value = 5; + + // Projected number of clicks. + int64 clicks = 6; + + // Projected cost in micros. + int64 cost_micros = 7; + + // Projected number of impressions. + int64 impressions = 8; + + // Projected number of top slot impressions. + // Only search advertising channel type supports this field. + int64 top_slot_impressions = 9; + + // Projected number of absolute top impressions. + // Only search advertising channel type supports this field. + int64 absolute_top_impressions = 10; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/tag_snippet.proto b/third_party/googleapis/google/ads/googleads/v16/common/tag_snippet.proto new file mode 100644 index 000000000..b56ad7db0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/tag_snippet.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/tracking_code_page_format.proto"; +import "google/ads/googleads/v16/enums/tracking_code_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TagSnippetProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing TagSnippet + +// The site tag and event snippet pair for a TrackingCodeType. +message TagSnippet { + // The type of the generated tag snippets for tracking conversions. + google.ads.googleads.v16.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1; + + // The format of the web page where the tracking tag and snippet will be + // installed, for example, HTML. + google.ads.googleads.v16.enums.TrackingCodePageFormatEnum + .TrackingCodePageFormat page_format = 2; + + // The site tag that adds visitors to your basic remarketing lists and sets + // new cookies on your domain. + optional string global_site_tag = 5; + + // The event snippet that works with the site tag to track actions that + // should be counted as conversions. + optional string event_snippet = 6; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/targeting_setting.proto b/third_party/googleapis/google/ads/googleads/v16/common/targeting_setting.proto new file mode 100644 index 000000000..dcec9aa28 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/targeting_setting.proto @@ -0,0 +1,85 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/targeting_dimension.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing TargetingSetting + +// Settings for the targeting-related features, at the campaign and ad group +// levels. For more details about the targeting setting, visit +// https://support.google.com/google-ads/answer/7365594 +message TargetingSetting { + // The per-targeting-dimension setting to restrict the reach of your campaign + // or ad group. + repeated TargetRestriction target_restrictions = 1; + + // The list of operations changing the target restrictions. + // + // Adding a target restriction with a targeting dimension that already exists + // causes the existing target restriction to be replaced with the new value. + repeated TargetRestrictionOperation target_restriction_operations = 2; +} + +// The list of per-targeting-dimension targeting settings. +message TargetRestriction { + // The targeting dimension that these settings apply to. + google.ads.googleads.v16.enums.TargetingDimensionEnum.TargetingDimension + targeting_dimension = 1; + + // Indicates whether to restrict your ads to show only for the criteria you + // have selected for this targeting_dimension, or to target all values for + // this targeting_dimension and show ads based on your targeting in other + // TargetingDimensions. A value of `true` means that these criteria will only + // apply bid modifiers, and not affect targeting. A value of `false` means + // that these criteria will restrict targeting as well as applying bid + // modifiers. + optional bool bid_only = 3; +} + +// Operation to be performed on a target restriction list in a mutate. +message TargetRestrictionOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the restriction to the existing restrictions. + ADD = 2; + + // Remove the restriction from the existing restrictions. + REMOVE = 3; + } + + // Type of list operation to perform. + Operator operator = 1; + + // The target restriction being added to or removed from the list. + TargetRestriction value = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/text_label.proto b/third_party/googleapis/google/ads/googleads/v16/common/text_label.proto new file mode 100644 index 000000000..a73345007 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/text_label.proto @@ -0,0 +1,38 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// A type of label displaying text on a colored background. +message TextLabel { + // Background color of the label in RGB format. This string must match the + // regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. + // Note: The background color may not be visible for manager accounts. + optional string background_color = 3; + + // A short description of the label. The length must be no more than 200 + // characters. + optional string description = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/url_collection.proto b/third_party/googleapis/google/ads/googleads/v16/common/url_collection.proto new file mode 100644 index 000000000..52e7c33ba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/url_collection.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UrlCollectionProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file UrlCollection type. + +// Collection of urls that is tagged with a unique identifier. +message UrlCollection { + // Unique identifier for this UrlCollection instance. + optional string url_collection_id = 5; + + // A list of possible final URLs. + repeated string final_urls = 6; + + // A list of possible final mobile URLs. + repeated string final_mobile_urls = 7; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 8; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/user_lists.proto b/third_party/googleapis/google/ads/googleads/v16/common/user_lists.proto new file mode 100644 index 000000000..f43468d5c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/user_lists.proto @@ -0,0 +1,289 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +import "google/ads/googleads/v16/enums/customer_match_upload_key_type.proto"; +import "google/ads/googleads/v16/enums/lookalike_expansion_level.proto"; +import "google/ads/googleads/v16/enums/user_list_crm_data_source_type.proto"; +import "google/ads/googleads/v16/enums/user_list_date_rule_item_operator.proto"; +import "google/ads/googleads/v16/enums/user_list_flexible_rule_operator.proto"; +import "google/ads/googleads/v16/enums/user_list_logical_rule_operator.proto"; +import "google/ads/googleads/v16/enums/user_list_number_rule_item_operator.proto"; +import "google/ads/googleads/v16/enums/user_list_prepopulation_status.proto"; +import "google/ads/googleads/v16/enums/user_list_rule_type.proto"; +import "google/ads/googleads/v16/enums/user_list_string_rule_item_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UserListsProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing user list types. + +// LookalikeUserlist, composed of users similar to those +// of a configurable seed (set of UserLists) +message LookalikeUserListInfo { + // Seed UserList ID from which this list is derived, provided by user. + repeated int64 seed_user_list_ids = 1; + + // Expansion level, reflecting the size of the lookalike audience + google.ads.googleads.v16.enums.LookalikeExpansionLevelEnum + .LookalikeExpansionLevel expansion_level = 2; + + // Countries targeted by the Lookalike. Two-letter country code as defined by + // ISO-3166 + repeated string country_codes = 3; +} + +// SimilarUserList is a list of users which are similar to users from another +// UserList. These lists are read-only and automatically created by Google. +message SimilarUserListInfo { + // Seed UserList from which this list is derived. + optional string seed_user_list = 2; +} + +// UserList of CRM users provided by the advertiser. +message CrmBasedUserListInfo { + // A string that uniquely identifies a mobile application from which the data + // was collected. + // For iOS, the ID string is the 9 digit string that appears at the end of an + // App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store + // link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For + // Android, the ID string is the application's package name (for example, + // "com.labpixies.colordrips" for "Color Drips" given Google Play link + // https://play.google.com/store/apps/details?id=com.labpixies.colordrips). + // Required when creating CrmBasedUserList for uploading mobile advertising + // IDs. + optional string app_id = 4; + + // Matching key type of the list. + // Mixed data types are not allowed on the same list. + // This field is required for an ADD operation. + google.ads.googleads.v16.enums.CustomerMatchUploadKeyTypeEnum + .CustomerMatchUploadKeyType upload_key_type = 2; + + // Data source of the list. Default value is FIRST_PARTY. + // Only customers on the allow-list can create third-party sourced CRM lists. + google.ads.googleads.v16.enums.UserListCrmDataSourceTypeEnum + .UserListCrmDataSourceType data_source_type = 3; +} + +// A client defined rule based on custom parameters sent by web sites or +// uploaded by the advertiser. +message UserListRuleInfo { + // Rule type is used to determine how to group rule items. + // + // The default is OR of ANDs (disjunctive normal form). + // That is, rule items will be ANDed together within rule item groups and the + // groups themselves will be ORed together. + // + // OR of ANDs is the only supported type for FlexibleRuleUserList. + google.ads.googleads.v16.enums.UserListRuleTypeEnum.UserListRuleType + rule_type = 1; + + // List of rule item groups that defines this rule. + // Rule item groups are grouped together based on rule_type. + repeated UserListRuleItemGroupInfo rule_item_groups = 2; +} + +// A group of rule items. +message UserListRuleItemGroupInfo { + // Rule items that will be grouped together based on rule_type. + repeated UserListRuleItemInfo rule_items = 1; +} + +// An atomic rule item. +message UserListRuleItemInfo { + // Rule variable name. It should match the corresponding key name fired + // by the pixel. + // A name must begin with US-ascii letters or underscore or UTF8 code that is + // greater than 127 and consist of US-ascii letters or digits or underscore or + // UTF8 code that is greater than 127. + // For websites, there are two built-in variable URL (name = 'url__') and + // referrer URL (name = 'ref_url__'). + // This field must be populated when creating a new rule item. + optional string name = 5; + + // An atomic rule item. + oneof rule_item { + // An atomic rule item composed of a number operation. + UserListNumberRuleItemInfo number_rule_item = 2; + + // An atomic rule item composed of a string operation. + UserListStringRuleItemInfo string_rule_item = 3; + + // An atomic rule item composed of a date operation. + UserListDateRuleItemInfo date_rule_item = 4; + } +} + +// A rule item composed of a date operation. +message UserListDateRuleItemInfo { + // Date comparison operator. + // This field is required and must be populated when creating new date + // rule item. + google.ads.googleads.v16.enums.UserListDateRuleItemOperatorEnum + .UserListDateRuleItemOperator + operator = 1; + + // String representing date value to be compared with the rule variable. + // Supported date format is YYYY-MM-DD. + // Times are reported in the customer's time zone. + optional string value = 4; + + // The relative date value of the right hand side denoted by number of days + // offset from now. The value field will override this field when both are + // present. + optional int64 offset_in_days = 5; +} + +// A rule item composed of a number operation. +message UserListNumberRuleItemInfo { + // Number comparison operator. + // This field is required and must be populated when creating a new number + // rule item. + google.ads.googleads.v16.enums.UserListNumberRuleItemOperatorEnum + .UserListNumberRuleItemOperator + operator = 1; + + // Number value to be compared with the variable. + // This field is required and must be populated when creating a new number + // rule item. + optional double value = 3; +} + +// A rule item composed of a string operation. +message UserListStringRuleItemInfo { + // String comparison operator. + // This field is required and must be populated when creating a new string + // rule item. + google.ads.googleads.v16.enums.UserListStringRuleItemOperatorEnum + .UserListStringRuleItemOperator + operator = 1; + + // The right hand side of the string rule item. For URLs or referrer URLs, + // the value can not contain illegal URL chars such as newlines, quotes, + // tabs, or parentheses. This field is required and must be populated when + // creating a new string rule item. + optional string value = 3; +} + +// Flexible rule that wraps the common rule and a lookback window. +message FlexibleRuleOperandInfo { + // List of rule item groups that defines this rule. + // Rule item groups are grouped together. + UserListRuleInfo rule = 1; + + // Lookback window for this rule in days. From now until X days ago. + optional int64 lookback_window_days = 2; +} + +// Flexible rule representation of visitors with one or multiple actions. The +// flexible user list is defined by two lists of operands – inclusive_operands +// and exclusive_operands; each operand represents a set of users based on +// actions they took in a given timeframe. These lists of operands are combined +// with the AND_NOT operator, so that users represented by the inclusive +// operands are included in the user list, minus the users represented by the +// exclusive operands. +message FlexibleRuleUserListInfo { + // Operator that defines how the inclusive operands are combined. + google.ads.googleads.v16.enums.UserListFlexibleRuleOperatorEnum + .UserListFlexibleRuleOperator inclusive_rule_operator = 1; + + // Rules representing users that should be included in the user list. These + // are located on the left side of the AND_NOT operator, and joined together + // by either AND/OR as specified by the inclusive_rule_operator. + repeated FlexibleRuleOperandInfo inclusive_operands = 2; + + // Rules representing users that should be excluded from the user list. These + // are located on the right side of the AND_NOT operator, and joined together + // by OR. + repeated FlexibleRuleOperandInfo exclusive_operands = 3; +} + +// Representation of a userlist that is generated by a rule. +message RuleBasedUserListInfo { + // The status of pre-population. The field is default to NONE if not set which + // means the previous users will not be considered. If set to REQUESTED, past + // site visitors or app users who match the list definition will be included + // in the list (works on the Display Network only). This will only + // add past users from within the last 30 days, depending on the + // list's membership duration and the date when the remarketing tag is added. + // The status will be updated to FINISHED once request is processed, or FAILED + // if the request fails. + google.ads.googleads.v16.enums.UserListPrepopulationStatusEnum + .UserListPrepopulationStatus prepopulation_status = 1; + + // Flexible rule representation of visitors with one or multiple actions. The + // flexible user list is defined by two lists of operands – inclusive_operands + // and exclusive_operands; each operand represents a set of users based on + // actions they took in a given timeframe. These lists of operands are + // combined with the AND_NOT operator, so that users represented by the + // inclusive operands are included in the user list, minus the users + // represented by the exclusive operands. + FlexibleRuleUserListInfo flexible_rule_user_list = 5; +} + +// Represents a user list that is a custom combination of user lists. +message LogicalUserListInfo { + // Logical list rules that define this user list. The rules are defined as a + // logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are + // ANDed when they are evaluated. + // + // Required for creating a logical user list. + repeated UserListLogicalRuleInfo rules = 1; +} + +// A user list logical rule. A rule has a logical operator (and/or/not) and a +// list of user lists as operands. +message UserListLogicalRuleInfo { + // The logical operator of the rule. + google.ads.googleads.v16.enums.UserListLogicalRuleOperatorEnum + .UserListLogicalRuleOperator + operator = 1; + + // The list of operands of the rule. + repeated LogicalUserListOperandInfo rule_operands = 2; +} + +// Operand of logical user list that consists of a user list. +message LogicalUserListOperandInfo { + // Resource name of a user list as an operand. + optional string user_list = 2; +} + +// User list targeting as a collection of conversions or remarketing actions. +message BasicUserListInfo { + // Actions associated with this user list. + repeated UserListActionInfo actions = 1; +} + +// Represents an action type used for building remarketing user lists. +message UserListActionInfo { + // Subtypes of user list action. + oneof user_list_action { + // A conversion action that's not generated from remarketing. + string conversion_action = 3; + + // A remarketing action. + string remarketing_action = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/common/value.proto b/third_party/googleapis/google/ads/googleads/v16/common/value.proto new file mode 100644 index 000000000..040f08409 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/common/value.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.ads.googleads.v16.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V16::Common"; + +// Proto file describing value types. + +// A generic data container. +message Value { + // A value. + oneof value { + // A boolean. + bool boolean_value = 1; + + // An int64. + int64 int64_value = 2; + + // A float. + float float_value = 3; + + // A double. + double double_value = 4; + + // A string. + string string_value = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v16/enums/BUILD.bazel new file mode 100644 index 000000000..01a51ee0b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/BUILD.bazel @@ -0,0 +1,89 @@ +# 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 +# +# https://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. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports subpackages. +proto_library( + name = "enums_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/api:annotations_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "enums_java_proto", + deps = [":enums_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "enums_csharp_proto", + deps = [":enums_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "enums_ruby_proto", + deps = [":enums_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "enums_py_proto", + deps = [":enums_proto"], +) diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/access_invitation_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/access_invitation_status.proto new file mode 100644 index 000000000..0b562c3f9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/access_invitation_status.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing AccessInvitationStatus enum. + +// Container for enum for identifying the status of access invitation +message AccessInvitationStatusEnum { + // Possible access invitation status of a user + enum AccessInvitationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The initial state of an invitation, before being acted upon by anyone. + PENDING = 2; + + // Invitation process was terminated by the email recipient. No new user was + // created. + DECLINED = 3; + + // Invitation URLs expired without being acted upon. No new user can be + // created. Invitations expire 20 days after creation. + EXPIRED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/access_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/access_reason.proto new file mode 100644 index 000000000..4f05a07ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/access_reason.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Indicates the way the resource such as user list is related to a user. +message AccessReasonEnum { + // Enum describing possible access reasons. + enum AccessReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The resource is owned by the user. + OWNED = 2; + + // The resource is shared to the user. + SHARED = 3; + + // The resource is licensed to the user. + LICENSED = 4; + + // The user subscribed to the resource. + SUBSCRIBED = 5; + + // The resource is accessible to the user. + AFFILIATED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/access_role.proto b/third_party/googleapis/google/ads/googleads/v16/enums/access_role.proto new file mode 100644 index 000000000..131212886 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/access_role.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessRoleProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing possible access role for user. +message AccessRoleEnum { + // Possible access role of a user. + enum AccessRole { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Owns its account and can control the addition of other users. + ADMIN = 2; + + // Can modify campaigns, but can't affect other users. + STANDARD = 3; + + // Can view campaigns and account changes, but cannot make edits. + READ_ONLY = 4; + + // Role for \"email only\" access. Represents an email recipient rather than + // a true User entity. + EMAIL_ONLY = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_proposal_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_proposal_status.proto new file mode 100644 index 000000000..6ccaa9e13 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_proposal_status.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing AccountBudgetProposal statuses. + +// Message describing AccountBudgetProposal statuses. +message AccountBudgetProposalStatusEnum { + // The possible statuses of an AccountBudgetProposal. + enum AccountBudgetProposalStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The proposal is pending approval. + PENDING = 2; + + // The proposal has been approved but the corresponding billing setup + // has not. This can occur for proposals that set up the first budget + // when signing up for billing or when performing a change of bill-to + // operation. + APPROVED_HELD = 3; + + // The proposal has been approved. + APPROVED = 4; + + // The proposal has been cancelled by the user. + CANCELLED = 5; + + // The proposal has been rejected by the user, for example, by rejecting an + // acceptance email. + REJECTED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_proposal_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_proposal_type.proto new file mode 100644 index 000000000..3365f0c5e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_proposal_type.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing AccountBudgetProposal types. + +// Message describing AccountBudgetProposal types. +message AccountBudgetProposalTypeEnum { + // The possible types of an AccountBudgetProposal. + enum AccountBudgetProposalType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Identifies a request to create a new budget. + CREATE = 2; + + // Identifies a request to edit an existing budget. + UPDATE = 3; + + // Identifies a request to end a budget that has already started. + END = 4; + + // Identifies a request to remove a budget that hasn't started yet. + REMOVE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_status.proto new file mode 100644 index 000000000..b4d8f7e06 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/account_budget_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing AccountBudget statuses. + +// Message describing AccountBudget statuses. +message AccountBudgetStatusEnum { + // The possible statuses of an AccountBudget. + enum AccountBudgetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The account budget is pending approval. + PENDING = 2; + + // The account budget has been approved. + APPROVED = 3; + + // The account budget has been cancelled by the user. + CANCELLED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/account_link_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/account_link_status.proto new file mode 100644 index 000000000..f4fbb1e2d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/account_link_status.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing possible statuses of an account link. +message AccountLinkStatusEnum { + // Describes the possible statuses for a link between a Google Ads customer + // and another account. + enum AccountLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The link is enabled. + ENABLED = 2; + + // The link is removed/disabled. + REMOVED = 3; + + // The link to the other account has been requested. A user on the other + // account may now approve the link by setting the status to ENABLED. + REQUESTED = 4; + + // This link has been requested by a user on the other account. It may be + // approved by a user on this account by setting the status to ENABLED. + PENDING_APPROVAL = 5; + + // The link is rejected by the approver. + REJECTED = 6; + + // The link is revoked by the user who requested the link. + REVOKED = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_customizer_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_customizer_placeholder_field.proto new file mode 100644 index 000000000..67bf2e583 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_customizer_placeholder_field.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Ad Customizer placeholder fields. + +// Values for Ad Customizer placeholder fields. +message AdCustomizerPlaceholderFieldEnum { + // Possible values for Ad Customizers placeholder fields. + enum AdCustomizerPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. Integer value to be inserted. + INTEGER = 2; + + // Data Type: STRING. Price value to be inserted. + PRICE = 3; + + // Data Type: DATE_TIME. Date value to be inserted. + DATE = 4; + + // Data Type: STRING. String value to be inserted. + STRING = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_destination_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_destination_type.proto new file mode 100644 index 000000000..d5cdc4b69 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_destination_type.proto @@ -0,0 +1,73 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdDestinationTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad destination types. + +// Container for enumeration of Google Ads destination types. +message AdDestinationTypeEnum { + // Enumerates Google Ads destination types + enum AdDestinationType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Ads that don't intend to drive users off from ads to other destinations + NOT_APPLICABLE = 2; + + // Website + WEBSITE = 3; + + // App Deep Link + APP_DEEP_LINK = 4; + + // iOS App Store or Play Store + APP_STORE = 5; + + // Call Dialer + PHONE_CALL = 6; + + // Map App + MAP_DIRECTIONS = 7; + + // Location Dedicated Page + LOCATION_LISTING = 8; + + // Text Message + MESSAGE = 9; + + // Lead Generation Form + LEAD_FORM = 10; + + // YouTube + YOUTUBE = 11; + + // Ad Destination for Conversions with keys unknown + UNMODELED_FOR_CONVERSIONS = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_primary_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_primary_status.proto new file mode 100644 index 000000000..993bdd22b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_primary_status.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad group ad primary status. + +// Ad Group Ad Primary Status. Provides insight into why an ad group ad is not +// serving or not serving optimally. +message AdGroupAdPrimaryStatusEnum { + // The possible statuses of an AdGroupAd. + enum AdGroupAdPrimaryStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The ad group ad is eligible to serve. + ELIGIBLE = 2; + + // The ad group ad is paused. + PAUSED = 3; + + // The ad group ad is removed. + REMOVED = 4; + + // The ad cannot serve now, but may serve later without advertiser action. + PENDING = 5; + + // The ad group ad is serving in a limited capacity. + LIMITED = 6; + + // The ad group ad is not eligible to serve. + NOT_ELIGIBLE = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_primary_status_reason.proto new file mode 100644 index 000000000..839420800 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_primary_status_reason.proto @@ -0,0 +1,101 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad_group_ad primary status reasons. + +// AdGroupAd Primary Status Reason. Provides insight into why an ad group ad is +// not serving or not serving optimally. These reasons are aggregated to +// determine an overall AdGroupAdPrimaryStatus. +message AdGroupAdPrimaryStatusReasonEnum { + // Possible ad group ad status reasons. + enum AdGroupAdPrimaryStatusReason { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The user-specified campaign status is removed. Contributes to + // AdGroupAdPrimaryStatus.REMOVED. + CAMPAIGN_REMOVED = 2; + + // The user-specified campaign status is paused. Contributes to + // AdGroupAdPrimaryStatus.PAUSED. + CAMPAIGN_PAUSED = 3; + + // The user-specified time for this campaign to start is in the future. + // Contributes to AdGroupAdPrimaryStatus.PENDING. + CAMPAIGN_PENDING = 4; + + // The user-specified time for this campaign to end has passed. Contributes + // to AdGroupAdPrimaryStatus.ENDED. + CAMPAIGN_ENDED = 5; + + // The user-specified ad group status is paused. Contributes to + // AdGroupAdPrimaryStatus.PAUSED. + AD_GROUP_PAUSED = 6; + + // The user-specified ad group status is removed. Contributes to + // AdGroupAdPrimaryStatus.REMOVED. + AD_GROUP_REMOVED = 7; + + // The user-specified ad status is paused. Contributes to + // AdGroupAdPrimaryStatus.PAUSED. + AD_GROUP_AD_PAUSED = 8; + + // The user-specified ad status is removed. Contributes to + // AdGroupAdPrimaryStatus.REMOVED. + AD_GROUP_AD_REMOVED = 9; + + // The ad is disapproved. Contributes to + // AdGroupAdPrimaryStatus.NOT_ELIGIBLE. + AD_GROUP_AD_DISAPPROVED = 10; + + // The ad is under review. Contributes to AdGroupAdPrimaryStatus.PENDING. + AD_GROUP_AD_UNDER_REVIEW = 11; + + // The ad is poor quality. This is determined by the serving stack that + // served the Ad. Contributes to AdGroupAdPrimaryStatus.LIMITED. + AD_GROUP_AD_POOR_QUALITY = 12; + + // No eligible ads instances could be generated. Contributes to + // AdGroupAdPrimaryStatus.PENDING. + AD_GROUP_AD_NO_ADS = 13; + + // The ad is internally labeled with a limiting label. Contributes to + // AdGroupAdPrimaryStatus.LIMITED. + AD_GROUP_AD_APPROVED_LABELED = 14; + + // The ad is only serving in the user-specified area of interest. + // Contributes to AdGroupAdPrimaryStatus.LIMITED. + AD_GROUP_AD_AREA_OF_INTEREST_ONLY = 15; + + // The ad is part of an ongoing appeal. This reason does not impact + // AdGroupAdPrimaryStatus. + AD_GROUP_AD_UNDER_APPEAL = 16; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_rotation_mode.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_rotation_mode.proto new file mode 100644 index 000000000..b56720226 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_rotation_mode.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdRotationModeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad group ad rotation mode. + +// Container for enum describing possible ad rotation modes of ads within an +// ad group. +message AdGroupAdRotationModeEnum { + // The possible ad rotation modes of an ad group. + enum AdGroupAdRotationMode { + // The ad rotation mode has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Optimize ad group ads based on clicks or conversions. + OPTIMIZE = 2; + + // Rotate evenly forever. + ROTATE_FOREVER = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_status.proto new file mode 100644 index 000000000..35dfa2172 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_ad_status.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad group status. + +// Container for enum describing possible statuses of an AdGroupAd. +message AdGroupAdStatusEnum { + // The possible statuses of an AdGroupAd. + enum AdGroupAdStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group ad is enabled. + ENABLED = 2; + + // The ad group ad is paused. + PAUSED = 3; + + // The ad group ad is removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_criterion_approval_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_criterion_approval_status.proto new file mode 100644 index 000000000..378a5c5a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_criterion_approval_status.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible AdGroupCriterion approval statuses. +message AdGroupCriterionApprovalStatusEnum { + // Enumerates AdGroupCriterion approval statuses. + enum AdGroupCriterionApprovalStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Approved. + APPROVED = 2; + + // Disapproved. + DISAPPROVED = 3; + + // Pending Review. + PENDING_REVIEW = 4; + + // Under review. + UNDER_REVIEW = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_criterion_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_criterion_status.proto new file mode 100644 index 000000000..b308589b0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_criterion_status.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing AdGroupCriterion statuses. + +// Message describing AdGroupCriterion statuses. +message AdGroupCriterionStatusEnum { + // The possible statuses of an AdGroupCriterion. + enum AdGroupCriterionStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group criterion is enabled. + ENABLED = 2; + + // The ad group criterion is paused. + PAUSED = 3; + + // The ad group criterion is removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_primary_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_primary_status.proto new file mode 100644 index 000000000..f6980b068 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_primary_status.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad group primary status. + +// Ad Group Primary Status. Provides insight into why an ad group is not serving +// or not serving optimally. +message AdGroupPrimaryStatusEnum { + // The possible statuses of an AdGroup. + enum AdGroupPrimaryStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The ad group is eligible to serve. + ELIGIBLE = 2; + + // The ad group is paused. + PAUSED = 3; + + // The ad group is removed. + REMOVED = 4; + + // The ad group may serve in the future. + PENDING = 5; + + // The ad group is not eligible to serve. + NOT_ELIGIBLE = 6; + + // The ad group has limited servability. + LIMITED = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_primary_status_reason.proto new file mode 100644 index 000000000..f112a0f2a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_primary_status_reason.proto @@ -0,0 +1,102 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad group source. + +// Ad Group Primary Status Reason. Provides insight into why an ad group is not +// serving or not serving optimally. These reasons are aggregated to determine +// an overall AdGroupPrimaryStatus. +message AdGroupPrimaryStatusReasonEnum { + // Possible ad group status reasons. + enum AdGroupPrimaryStatusReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The user-specified campaign status is removed. Contributes to + // AdGroupPrimaryStatus.NOT_ELIGIBLE. + CAMPAIGN_REMOVED = 2; + + // The user-specified campaign status is paused. Contributes to + // AdGroupPrimaryStatus.NOT_ELIGIBLE. + CAMPAIGN_PAUSED = 3; + + // The user-specified time for this campaign to start is in the future. + // Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE + CAMPAIGN_PENDING = 4; + + // The user-specified time for this campaign to end has passed. Contributes + // to AdGroupPrimaryStatus.NOT_ELIGIBLE. + CAMPAIGN_ENDED = 5; + + // The user-specified ad group status is paused. Contributes to + // AdGroupPrimaryStatus.PAUSED. + AD_GROUP_PAUSED = 6; + + // The user-specified ad group status is removed. Contributes to + // AdGroupPrimaryStatus.REMOVED. + AD_GROUP_REMOVED = 7; + + // The construction of this ad group is not yet complete. Contributes to + // AdGroupPrimaryStatus.NOT_ELIGIBLE. + AD_GROUP_INCOMPLETE = 8; + + // The user-specified keyword statuses in this ad group are all paused. + // Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE. + KEYWORDS_PAUSED = 9; + + // No eligible keywords exist in this ad group. Contributes to + // AdGroupPrimaryStatus.NOT_ELIGIBLE. + NO_KEYWORDS = 10; + + // The user-specified ad group ads statuses in this ad group are all paused. + // Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE. + AD_GROUP_ADS_PAUSED = 11; + + // No eligible ad group ads exist in this ad group. Contributes to + // AdGroupPrimaryStatus.NOT_ELIGIBLE. + NO_AD_GROUP_ADS = 12; + + // Policy status reason when at least one ad is disapproved. Contributes to + // multiple AdGroupPrimaryStatus. + HAS_ADS_DISAPPROVED = 13; + + // Policy status reason when at least one ad is limited by policy. + // Contributes to multiple AdGroupPrimaryStatus. + HAS_ADS_LIMITED_BY_POLICY = 14; + + // Policy status reason when most ads are pending review. Contributes to + // AdGroupPrimaryStatus.PENDING. + MOST_ADS_UNDER_REVIEW = 15; + + // The AdGroup belongs to a Draft campaign. Contributes to + // AdGroupPrimaryStatus.NOT_ELIGIBLE. + CAMPAIGN_DRAFT = 16; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_status.proto new file mode 100644 index 000000000..da9cfc2ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_status.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad group status. + +// Container for enum describing possible statuses of an ad group. +message AdGroupStatusEnum { + // The possible statuses of an ad group. + enum AdGroupStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group is enabled. + ENABLED = 2; + + // The ad group is paused. + PAUSED = 3; + + // The ad group is removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_type.proto new file mode 100644 index 000000000..795432c4f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_group_type.proto @@ -0,0 +1,95 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad group types. + +// Defines types of an ad group, specific to a particular campaign channel +// type. This type drives validations that restrict which entities can be +// added to the ad group. +message AdGroupTypeEnum { + // Enum listing the possible types of an ad group. + enum AdGroupType { + // The type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The default ad group type for Search campaigns. + SEARCH_STANDARD = 2; + + // The default ad group type for Display campaigns. + DISPLAY_STANDARD = 3; + + // The ad group type for Shopping campaigns serving standard product ads. + SHOPPING_PRODUCT_ADS = 4; + + // The default ad group type for Hotel campaigns. + HOTEL_ADS = 6; + + // The type for ad groups in Smart Shopping campaigns. + SHOPPING_SMART_ADS = 7; + + // Short unskippable in-stream video ads. + VIDEO_BUMPER = 8; + + // TrueView (skippable) in-stream video ads. + VIDEO_TRUE_VIEW_IN_STREAM = 9; + + // TrueView in-display video ads. + VIDEO_TRUE_VIEW_IN_DISPLAY = 10; + + // Unskippable in-stream video ads. + VIDEO_NON_SKIPPABLE_IN_STREAM = 11; + + // Outstream video ads. + VIDEO_OUTSTREAM = 12; + + // Ad group type for Dynamic Search Ads ad groups. + SEARCH_DYNAMIC_ADS = 13; + + // The type for ad groups in Shopping Comparison Listing campaigns. + SHOPPING_COMPARISON_LISTING_ADS = 14; + + // The ad group type for Promoted Hotel ad groups. + PROMOTED_HOTEL_ADS = 15; + + // Video responsive ad groups. + VIDEO_RESPONSIVE = 16; + + // Video efficient reach ad groups. + VIDEO_EFFICIENT_REACH = 17; + + // Ad group type for Smart campaigns. + SMART_CAMPAIGN_ADS = 18; + + // Ad group type for Travel campaigns. + TRAVEL_ADS = 19; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_network_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_network_type.proto new file mode 100644 index 000000000..4cb9d1067 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_network_type.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad network types. + +// Container for enumeration of Google Ads network types. +message AdNetworkTypeEnum { + // Enumerates Google Ads network types. + enum AdNetworkType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google search. + SEARCH = 2; + + // Search partners. + SEARCH_PARTNERS = 3; + + // Display Network. + CONTENT = 4; + + // Cross-network. + MIXED = 7; + + // YouTube + YOUTUBE = 8; + + // Google TV + GOOGLE_TV = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_serving_optimization_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_serving_optimization_status.proto new file mode 100644 index 000000000..b7cbe5790 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_serving_optimization_status.proto @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdServingOptimizationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad serving statuses. + +// Possible ad serving statuses of a campaign. +message AdServingOptimizationStatusEnum { + // Enum describing possible serving statuses. + enum AdServingOptimizationStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Ad serving is optimized based on CTR for the campaign. + OPTIMIZE = 2; + + // Ad serving is optimized based on CTR * Conversion for the campaign. If + // the campaign is not in the conversion optimizer bidding strategy, it will + // default to OPTIMIZED. + CONVERSION_OPTIMIZE = 3; + + // Ads are rotated evenly for 90 days, then optimized for clicks. + ROTATE = 4; + + // Show lower performing ads more evenly with higher performing ads, and do + // not optimize. + ROTATE_INDEFINITELY = 5; + + // Ad serving optimization status is not available. + UNAVAILABLE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_strength.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_strength.proto new file mode 100644 index 000000000..8ec525652 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_strength.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ad strengths. + +// Container for enum describing possible ad strengths. +message AdStrengthEnum { + // Enum listing the possible ad strengths. + enum AdStrength { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The ad strength is currently pending. + PENDING = 2; + + // No ads could be generated. + NO_ADS = 3; + + // Poor strength. + POOR = 4; + + // Average strength. + AVERAGE = 5; + + // Good strength. + GOOD = 6; + + // Excellent strength. + EXCELLENT = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/ad_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/ad_type.proto new file mode 100644 index 000000000..e26345d7f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/ad_type.proto @@ -0,0 +1,139 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the ad type. + +// Container for enum describing possible types of an ad. +message AdTypeEnum { + // The possible types of an ad. + enum AdType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad is a text ad. + TEXT_AD = 2; + + // The ad is an expanded text ad. + EXPANDED_TEXT_AD = 3; + + // The ad is an expanded dynamic search ad. + EXPANDED_DYNAMIC_SEARCH_AD = 7; + + // The ad is a hotel ad. + HOTEL_AD = 8; + + // The ad is a Smart Shopping ad. + SHOPPING_SMART_AD = 9; + + // The ad is a standard Shopping ad. + SHOPPING_PRODUCT_AD = 10; + + // The ad is a video ad. + VIDEO_AD = 12; + + // This ad is an Image ad. + IMAGE_AD = 14; + + // The ad is a responsive search ad. + RESPONSIVE_SEARCH_AD = 15; + + // The ad is a legacy responsive display ad. + LEGACY_RESPONSIVE_DISPLAY_AD = 16; + + // The ad is an app ad. + APP_AD = 17; + + // The ad is a legacy app install ad. + LEGACY_APP_INSTALL_AD = 18; + + // The ad is a responsive display ad. + RESPONSIVE_DISPLAY_AD = 19; + + // The ad is a local ad. + LOCAL_AD = 20; + + // The ad is a display upload ad with the HTML5_UPLOAD_AD product type. + HTML5_UPLOAD_AD = 21; + + // The ad is a display upload ad with one of the DYNAMIC_HTML5_* product + // types. + DYNAMIC_HTML5_AD = 22; + + // The ad is an app engagement ad. + APP_ENGAGEMENT_AD = 23; + + // The ad is a Shopping Comparison Listing ad. + SHOPPING_COMPARISON_LISTING_AD = 24; + + // Video bumper ad. + VIDEO_BUMPER_AD = 25; + + // Video non-skippable in-stream ad. + VIDEO_NON_SKIPPABLE_IN_STREAM_AD = 26; + + // Video outstream ad. + VIDEO_OUTSTREAM_AD = 27; + + // Video TrueView in-stream ad. + VIDEO_TRUEVIEW_IN_STREAM_AD = 29; + + // Video responsive ad. + VIDEO_RESPONSIVE_AD = 30; + + // Smart campaign ad. + SMART_CAMPAIGN_AD = 31; + + // Call ad. + CALL_AD = 32; + + // Universal app pre-registration ad. + APP_PRE_REGISTRATION_AD = 33; + + // In-feed video ad. + IN_FEED_VIDEO_AD = 34; + + // Discovery multi asset ad. + DISCOVERY_MULTI_ASSET_AD = 35; + + // Discovery carousel ad. + DISCOVERY_CAROUSEL_AD = 36; + + // Travel ad. + TRAVEL_AD = 37; + + // Discovery video responsive ad. + DISCOVERY_VIDEO_RESPONSIVE_AD = 38; + + // Demand Gen product ad. + DEMAND_GEN_PRODUCT_AD = 39; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/advertising_channel_sub_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/advertising_channel_sub_type.proto new file mode 100644 index 000000000..f4855a47a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/advertising_channel_sub_type.proto @@ -0,0 +1,105 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelSubTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing advertising channel subtypes. + +// An immutable specialization of an Advertising Channel. +message AdvertisingChannelSubTypeEnum { + // Enum describing the different channel subtypes. + enum AdvertisingChannelSubType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile app campaigns for Search. + SEARCH_MOBILE_APP = 2; + + // Mobile app campaigns for Display. + DISPLAY_MOBILE_APP = 3; + + // AdWords express campaigns for search. + SEARCH_EXPRESS = 4; + + // AdWords Express campaigns for display. + DISPLAY_EXPRESS = 5; + + // Smart Shopping campaigns. + SHOPPING_SMART_ADS = 6; + + // Gmail Ad campaigns. + DISPLAY_GMAIL_AD = 7; + + // Smart display campaigns. New campaigns of this sub type cannot be + // created. + DISPLAY_SMART_CAMPAIGN = 8; + + // Video Outstream campaigns. + VIDEO_OUTSTREAM = 9; + + // Video TrueView for Action campaigns. + VIDEO_ACTION = 10; + + // Video campaigns with non-skippable video ads. + VIDEO_NON_SKIPPABLE = 11; + + // App Campaign that lets you easily promote your Android or iOS app + // across Google's top properties including Search, Play, YouTube, and the + // Google Display Network. + APP_CAMPAIGN = 12; + + // App Campaign for engagement, focused on driving re-engagement with the + // app across several of Google's top properties including Search, YouTube, + // and the Google Display Network. + APP_CAMPAIGN_FOR_ENGAGEMENT = 13; + + // Campaigns specialized for local advertising. + LOCAL_CAMPAIGN = 14; + + // Shopping Comparison Listing campaigns. + SHOPPING_COMPARISON_LISTING_ADS = 15; + + // Standard Smart campaigns. + SMART_CAMPAIGN = 16; + + // Video campaigns with sequence video ads. + VIDEO_SEQUENCE = 17; + + // App Campaign for pre registration, specialized for advertising mobile + // app pre-registration, that targets multiple advertising channels across + // Google Play, YouTube and Display Network. See + // https://support.google.com/google-ads/answer/9441344 to learn more. + APP_CAMPAIGN_FOR_PRE_REGISTRATION = 18; + + // Video reach campaign with Target Frequency bidding strategy. + VIDEO_REACH_TARGET_FREQUENCY = 19; + + // Travel Activities campaigns. + TRAVEL_ACTIVITIES = 20; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/advertising_channel_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/advertising_channel_type.proto new file mode 100644 index 000000000..ddff8dce9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/advertising_channel_type.proto @@ -0,0 +1,78 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing advertising channel types + +// The channel type a campaign may target to serve on. +message AdvertisingChannelTypeEnum { + // Enum describing the various advertising channel types. + enum AdvertisingChannelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Search Network. Includes display bundled, and Search+ campaigns. + SEARCH = 2; + + // Google Display Network only. + DISPLAY = 3; + + // Shopping campaigns serve on the shopping property + // and on google.com search results. + SHOPPING = 4; + + // Hotel Ads campaigns. + HOTEL = 5; + + // Video campaigns. + VIDEO = 6; + + // App Campaigns, and App Campaigns for Engagement, that run + // across multiple channels. + MULTI_CHANNEL = 7; + + // Local ads campaigns. + LOCAL = 8; + + // Smart campaigns. + SMART = 9; + + // Performance Max campaigns. + PERFORMANCE_MAX = 10; + + // Local services campaigns. + LOCAL_SERVICES = 11; + + // Discovery campaigns. + DISCOVERY = 12; + + // Travel campaigns. + TRAVEL = 13; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/affiliate_location_feed_relationship_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/affiliate_location_feed_relationship_type.proto new file mode 100644 index 000000000..a53223929 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/affiliate_location_feed_relationship_type.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing relation type for affiliate location feeds. + +// Container for enum describing possible values for a relationship type for +// an affiliate location feed. +message AffiliateLocationFeedRelationshipTypeEnum { + // Possible values for a relationship type for an affiliate location feed. + enum AffiliateLocationFeedRelationshipType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // General retailer relationship. + GENERAL_RETAILER = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/affiliate_location_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/affiliate_location_placeholder_field.proto new file mode 100644 index 000000000..eeefd9acd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/affiliate_location_placeholder_field.proto @@ -0,0 +1,73 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Affiliate Location placeholder fields. + +// Values for Affiliate Location placeholder fields. +message AffiliateLocationPlaceholderFieldEnum { + // Possible values for Affiliate Location placeholder fields. + enum AffiliateLocationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of the business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 3; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 4; + + // Data Type: STRING. City of the business address. + CITY = 5; + + // Data Type: STRING. Province of the business address. + PROVINCE = 6; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 7; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 8; + + // Data Type: STRING. Phone number of the business. + PHONE_NUMBER = 9; + + // Data Type: STRING. Language code of the business. + LANGUAGE_CODE = 10; + + // Data Type: INT64. ID of the chain. + CHAIN_ID = 11; + + // Data Type: STRING. Name of the chain. + CHAIN_NAME = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/age_range_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/age_range_type.proto new file mode 100644 index 000000000..f9dcc4958 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/age_range_type.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing age range types. + +// Container for enum describing the type of demographic age ranges. +message AgeRangeTypeEnum { + // The type of demographic age ranges (for example, between 18 and 24 years + // old). + enum AgeRangeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Between 18 and 24 years old. + AGE_RANGE_18_24 = 503001; + + // Between 25 and 34 years old. + AGE_RANGE_25_34 = 503002; + + // Between 35 and 44 years old. + AGE_RANGE_35_44 = 503003; + + // Between 45 and 54 years old. + AGE_RANGE_45_54 = 503004; + + // Between 55 and 64 years old. + AGE_RANGE_55_64 = 503005; + + // 65 years old and beyond. + AGE_RANGE_65_UP = 503006; + + // Undetermined age range. + AGE_RANGE_UNDETERMINED = 503999; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/android_privacy_interaction_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/android_privacy_interaction_type.proto new file mode 100644 index 000000000..c993637b8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/android_privacy_interaction_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacyInteractionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Android privacy interaction types. + +// The interaction type enum for Android privacy shared key. +message AndroidPrivacyInteractionTypeEnum { + // Enumerates interaction types + enum AndroidPrivacyInteractionType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The physical click interaction type. + CLICK = 2; + + // The 10 seconds engaged view interaction type. + ENGAGED_VIEW = 3; + + // The view (ad impression) interaction type. + VIEW = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/android_privacy_network_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/android_privacy_network_type.proto new file mode 100644 index 000000000..0f1c37b74 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/android_privacy_network_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacyNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Android privacy network types. + +// The network type enum for Android privacy shared key. +message AndroidPrivacyNetworkTypeEnum { + // Enumerates network types + enum AndroidPrivacyNetworkType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Search Network. + SEARCH = 2; + + // Display Network. + DISPLAY = 3; + + // YouTube Network. + YOUTUBE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/app_bidding_goal.proto b/third_party/googleapis/google/ads/googleads/v16/enums/app_bidding_goal.proto new file mode 100644 index 000000000..c4b80c613 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/app_bidding_goal.proto @@ -0,0 +1,71 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppBiddingGoalProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing an app bidding goal for raise Target CPA +// recommendation. +message AppBiddingGoalEnum { + // Represents the goal towards which the bidding strategy, of an app + // campaign, should optimize for. + enum AppBiddingGoal { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version of the API. + UNKNOWN = 1; + + // The bidding strategy of the app campaign should aim to maximize + // installation of the app. + OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME = 2; + + // The bidding strategy of the app campaign should aim to maximize + // the selected in-app conversions' volume. + OPTIMIZE_FOR_IN_APP_CONVERSION_VOLUME = 3; + + // The bidding strategy of the app campaign should aim to maximize + // all conversions' value, that is, install and selected in-app conversions. + OPTIMIZE_FOR_TOTAL_CONVERSION_VALUE = 4; + + // The bidding strategy of the app campaign should aim to maximize + // just the selected in-app conversion's volume, while achieving or + // exceeding target cost per in-app conversion. + OPTIMIZE_FOR_TARGET_IN_APP_CONVERSION = 5; + + // The bidding strategy of the app campaign should aim to maximize + // all conversions' value, that is, install and selected in-app conversions + // while achieving or exceeding target return on advertising spend. + OPTIMIZE_FOR_RETURN_ON_ADVERTISING_SPEND = 6; + + // This bidding strategy of the app campaign should aim to + // maximize installation of the app without advertiser-provided target + // cost-per-install. + OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME_WITHOUT_TARGET_CPI = 7; + + // This bidding strategy of the app campaign should aim to + // maximize pre-registration of the app. + OPTIMIZE_FOR_PRE_REGISTRATION_CONVERSION_VOLUME = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/app_campaign_app_store.proto b/third_party/googleapis/google/ads/googleads/v16/enums/app_campaign_app_store.proto new file mode 100644 index 000000000..5ea687c22 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/app_campaign_app_store.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignAppStoreProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing App Campaign app store. + +// The application store that distributes mobile applications. +message AppCampaignAppStoreEnum { + // Enum describing app campaign app store. + enum AppCampaignAppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple app store. + APPLE_APP_STORE = 2; + + // Google play. + GOOGLE_APP_STORE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/app_campaign_bidding_strategy_goal_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/app_campaign_bidding_strategy_goal_type.proto new file mode 100644 index 000000000..7a6bad602 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/app_campaign_bidding_strategy_goal_type.proto @@ -0,0 +1,66 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing App Campaign bidding strategy goal types. + +// Container for enum describing goal towards which the bidding strategy of an +// app campaign should optimize for. +message AppCampaignBiddingStrategyGoalTypeEnum { + // Goal type of App campaign BiddingStrategy. + enum AppCampaignBiddingStrategyGoalType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Aim to maximize the number of app installs. The cpa bid is the + // target cost per install. + OPTIMIZE_INSTALLS_TARGET_INSTALL_COST = 2; + + // Aim to maximize the long term number of selected in-app conversions from + // app installs. The cpa bid is the target cost per install. + OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST = 3; + + // Aim to maximize the long term number of selected in-app conversions from + // app installs. The cpa bid is the target cost per in-app conversion. Note + // that the actual cpa may seem higher than the target cpa at first, since + // the long term conversions haven't happened yet. + OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST = 4; + + // Aim to maximize all conversions' value, for example, install + selected + // in-app conversions while achieving or exceeding target return on + // advertising spend. + OPTIMIZE_RETURN_ON_ADVERTISING_SPEND = 5; + + // Aim to maximize the pre-registration of the app. + OPTIMIZE_PRE_REGISTRATION_CONVERSION_VOLUME = 6; + + // Aim to maximize installation of the app without target cost-per-install. + OPTIMIZE_INSTALLS_WITHOUT_TARGET_INSTALL_COST = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/app_payment_model_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/app_payment_model_type.proto new file mode 100644 index 000000000..0516a00a0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/app_payment_model_type.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPaymentModelTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing criteria types. + +// Represents a criterion for targeting paid apps. +message AppPaymentModelTypeEnum { + // Enum describing possible app payment models. + enum AppPaymentModelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Represents paid-for apps. + PAID = 30; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/app_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/app_placeholder_field.proto new file mode 100644 index 000000000..2939d3d04 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/app_placeholder_field.proto @@ -0,0 +1,71 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing App placeholder fields. + +// Values for App placeholder fields. +message AppPlaceholderFieldEnum { + // Possible values for App placeholder fields. + enum AppPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. The application store that the target application + // belongs to. Valid values are: 1 = Apple iTunes Store; 2 = Google Play + // Store. + STORE = 2; + + // Data Type: STRING. The store-specific ID for the target application. + ID = 3; + + // Data Type: STRING. The visible text displayed when the link is rendered + // in an ad. + LINK_TEXT = 4; + + // Data Type: STRING. The destination URL of the in-app link. + URL = 5; + + // Data Type: URL_LIST. Final URLs for the in-app link when using Upgraded + // URLs. + FINAL_URLS = 6; + + // Data Type: URL_LIST. Final Mobile URLs for the in-app link when using + // Upgraded URLs. + FINAL_MOBILE_URLS = 7; + + // Data Type: URL. Tracking template for the in-app link when using Upgraded + // URLs. + TRACKING_URL = 8; + + // Data Type: STRING. Final URL suffix for the in-app link when using + // parallel tracking. + FINAL_URL_SUFFIX = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/app_store.proto b/third_party/googleapis/google/ads/googleads/v16/enums/app_store.proto new file mode 100644 index 000000000..9b2f90d3e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/app_store.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppStoreProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing app store types for an app extension. + +// Container for enum describing app store type in an app extension. +message AppStoreEnum { + // App store type in an app extension. + enum AppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple iTunes. + APPLE_ITUNES = 2; + + // Google Play. + GOOGLE_PLAY = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/app_url_operating_system_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/app_url_operating_system_type.proto new file mode 100644 index 000000000..417cd82ff --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/app_url_operating_system_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing operating system for a deeplink app URL. + +// The possible OS types for a deeplink AppUrl. +message AppUrlOperatingSystemTypeEnum { + // Operating System + enum AppUrlOperatingSystemType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The Apple IOS operating system. + IOS = 2; + + // The Android operating system. + ANDROID = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_automation_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_automation_status.proto new file mode 100644 index 000000000..cfbff50d8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_automation_status.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetAutomationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset automation status + +// Container for enum describing the status of asset automation. +message AssetAutomationStatusEnum { + // The status of asset automation. + enum AssetAutomationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Opted-in will enable generating and serving an asset + // automation type. + OPTED_IN = 2; + + // Opted-out will stop generating and serving an asset + // automation type. + OPTED_OUT = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_automation_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_automation_type.proto new file mode 100644 index 000000000..53d4faf1b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_automation_type.proto @@ -0,0 +1,45 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetAutomationTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset automation type + +// Container for enum describing the type of asset automation. +message AssetAutomationTypeEnum { + // The type of asset automation. + enum AssetAutomationType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Text asset automation includes headlines and descriptions. + // By default, advertisers are opted-in for Performance Max and + // opted-out for Search. + TEXT_ASSET_AUTOMATION = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_field_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_field_type.proto new file mode 100644 index 000000000..8a67e20bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_field_type.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset type. + +// Container for enum describing the possible placements of an asset. +message AssetFieldTypeEnum { + // Enum describing the possible placements of an asset. + enum AssetFieldType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset is linked for use as a headline. + HEADLINE = 2; + + // The asset is linked for use as a description. + DESCRIPTION = 3; + + // The asset is linked for use as mandatory ad text. + MANDATORY_AD_TEXT = 4; + + // The asset is linked for use as a marketing image. + MARKETING_IMAGE = 5; + + // The asset is linked for use as a media bundle. + MEDIA_BUNDLE = 6; + + // The asset is linked for use as a YouTube video. + YOUTUBE_VIDEO = 7; + + // The asset is linked to indicate that a hotels campaign is "Book on + // Google" enabled. + BOOK_ON_GOOGLE = 8; + + // The asset is linked for use as a Lead Form extension. + LEAD_FORM = 9; + + // The asset is linked for use as a Promotion extension. + PROMOTION = 10; + + // The asset is linked for use as a Callout extension. + CALLOUT = 11; + + // The asset is linked for use as a Structured Snippet extension. + STRUCTURED_SNIPPET = 12; + + // The asset is linked for use as a Sitelink. + SITELINK = 13; + + // The asset is linked for use as a Mobile App extension. + MOBILE_APP = 14; + + // The asset is linked for use as a Hotel Callout extension. + HOTEL_CALLOUT = 15; + + // The asset is linked for use as a Call extension. + CALL = 16; + + // The asset is linked for use as a Price extension. + PRICE = 24; + + // The asset is linked for use as a long headline. + LONG_HEADLINE = 17; + + // The asset is linked for use as a business name. + BUSINESS_NAME = 18; + + // The asset is linked for use as a square marketing image. + SQUARE_MARKETING_IMAGE = 19; + + // The asset is linked for use as a portrait marketing image. + PORTRAIT_MARKETING_IMAGE = 20; + + // The asset is linked for use as a logo. + LOGO = 21; + + // The asset is linked for use as a landscape logo. + LANDSCAPE_LOGO = 22; + + // The asset is linked for use as a non YouTube logo. + VIDEO = 23; + + // The asset is linked for use to select a call-to-action. + CALL_TO_ACTION_SELECTION = 25; + + // The asset is linked for use to select an ad image. + AD_IMAGE = 26; + + // The asset is linked for use as a business logo. + BUSINESS_LOGO = 27; + + // The asset is linked for use as a hotel property in a Performance Max for + // travel goals campaign. + HOTEL_PROPERTY = 28; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_primary_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_primary_status.proto new file mode 100644 index 000000000..88160d8ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_primary_status.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset group primary statuses. + +// Container for enum describing possible asset group primary status. +message AssetGroupPrimaryStatusEnum { + // Enum describing the possible asset group primary status. Provides insights + // into why an asset group is not serving or not serving optimally. + enum AssetGroupPrimaryStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset group is eligible to serve. + ELIGIBLE = 2; + + // The asset group is paused. + PAUSED = 3; + + // The asset group is removed. + REMOVED = 4; + + // The asset group is not eligible to serve. + NOT_ELIGIBLE = 5; + + // The asset group has limited servability. + LIMITED = 6; + + // The asset group is pending approval and may serve in the future. + PENDING = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_primary_status_reason.proto new file mode 100644 index 000000000..6267e1528 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_primary_status_reason.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset group primary statuses. + +// Container for enum describing possible asset group primary status reasons. +message AssetGroupPrimaryStatusReasonEnum { + // Enum describing the possible asset group primary status reasons. Provides + // reasons into why an asset group is not serving or not serving optimally. + // It will be empty when the asset group is serving without issues. + enum AssetGroupPrimaryStatusReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The user-specified asset group status is paused. + ASSET_GROUP_PAUSED = 2; + + // The user-specified asset group status is removed. + ASSET_GROUP_REMOVED = 3; + + // The user-specified campaign status is removed. + CAMPAIGN_REMOVED = 4; + + // The user-specified campaign status is paused. + CAMPAIGN_PAUSED = 5; + + // The user-specified time for this campaign to start is in the future. + CAMPAIGN_PENDING = 6; + + // The user-specified time for this campaign to end has passed. + CAMPAIGN_ENDED = 7; + + // The asset group is approved but only serves in limited capacity due to + // policies. + ASSET_GROUP_LIMITED = 8; + + // The asset group has been marked as disapproved. + ASSET_GROUP_DISAPPROVED = 9; + + // The asset group has not completed policy review. + ASSET_GROUP_UNDER_REVIEW = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_signal_approval_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_signal_approval_status.proto new file mode 100644 index 000000000..d842ec155 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_signal_approval_status.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing approval status for the signal. + +// Container for enum describing possible AssetGroupSignal approval statuses. +// Details see https://support.google.com/google-ads/answer/2453978. +message AssetGroupSignalApprovalStatusEnum { + // Enumerates AssetGroupSignal approval statuses, which are only used for + // Search Theme Signal. + enum AssetGroupSignalApprovalStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Search Theme is eligible to show ads. + APPROVED = 2; + + // Low search volume; Below first page bid estimate. + LIMITED = 3; + + // Search Theme is inactive and isn't showing ads. A disapproved Search + // Theme usually means there's an issue with one or more of our advertising + // policies. + DISAPPROVED = 4; + + // Search Theme is under review. It won’t be able to trigger ads until + // it's been reviewed. + UNDER_REVIEW = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_status.proto new file mode 100644 index 000000000..a2e2e4bc3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_group_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset group status. + +// Container for enum describing possible statuses of an asset group. +message AssetGroupStatusEnum { + // The possible statuses of an asset group. + enum AssetGroupStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The asset group is enabled. + ENABLED = 2; + + // The asset group is paused. + PAUSED = 3; + + // The asset group is removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_primary_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_primary_status.proto new file mode 100644 index 000000000..6915196f9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_primary_status.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset source. + +// Provides the primary status of an asset link. +// For example: a sitelink may be paused for a particular campaign. +message AssetLinkPrimaryStatusEnum { + // Enum Provides insight into why an asset is not serving or not serving + // at full capacity for a particular link level. There could be one status + // with multiple reasons. For example, a sitelink might be paused by the user, + // but also limited in serving due to violation of an alcohol policy. In + // this case, the PrimaryStatus will be returned as PAUSED, since the asset's + // effective status is determined by its paused state. + enum AssetLinkPrimaryStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset is eligible to serve. + ELIGIBLE = 2; + + // The user-specified asset link status is paused. + PAUSED = 3; + + // The user-specified asset link status is removed. + REMOVED = 4; + + // The asset may serve in the future. + PENDING = 5; + + // The asset is serving in a partial capacity. + LIMITED = 6; + + // The asset is not eligible to serve. + NOT_ELIGIBLE = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto new file mode 100644 index 000000000..5995d33e2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto @@ -0,0 +1,67 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset source. + +// Provides the reason of a primary status. +// For example: a sitelink may be paused for a particular campaign. +message AssetLinkPrimaryStatusReasonEnum { + // Enum Provides insight into why an asset is not serving or not serving + // at full capacity for a particular link level. These reasons are + // aggregated to determine a final PrimaryStatus. + // For example, a sitelink might be paused by the user, + // but also limited in serving due to violation of an alcohol policy. In + // this case, the PrimaryStatus will be returned as PAUSED, since the asset's + // effective status is determined by its paused state. + enum AssetLinkPrimaryStatusReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset is paused for its linked rollup level. Contributes to a + // PrimaryStatus of PAUSED. + ASSET_LINK_PAUSED = 2; + + // The asset is removed for its linked rollup level. Contributes to a + // PrimaryStatus of REMOVED. + ASSET_LINK_REMOVED = 3; + + // The asset has been marked as disapproved. Contributes to a PrimaryStatus + // of NOT_ELIGIBLE + ASSET_DISAPPROVED = 4; + + // The asset has not completed policy review. Contributes to a PrimaryStatus + // of PENDING. + ASSET_UNDER_REVIEW = 5; + + // The asset is approved with policies applied. Contributes to a + // PrimaryStatus of LIMITED. + ASSET_APPROVED_LABELED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_status.proto new file mode 100644 index 000000000..ddf82540f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_link_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing status of an asset link. + +// Container for enum describing possible statuses of an asset link. +message AssetLinkStatusEnum { + // Enum describing statuses of an asset link. + enum AssetLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Asset link is enabled. + ENABLED = 2; + + // Asset link has been removed. + REMOVED = 3; + + // Asset link is paused. + PAUSED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_offline_evaluation_error_reasons.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_offline_evaluation_error_reasons.proto new file mode 100644 index 000000000..fc110d302 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_offline_evaluation_error_reasons.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetOfflineEvaluationErrorReasonsProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset source. + +// Provides the quality evaluation disapproval reason of an asset. +message AssetOfflineEvaluationErrorReasonsEnum { + // Enum describing the quality evaluation disapproval reason of an asset. + enum AssetOfflineEvaluationErrorReasons { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // One or more descriptions repeats its corresponding row header. + PRICE_ASSET_DESCRIPTION_REPEATS_ROW_HEADER = 2; + + // Price asset contains repetitive headers. + PRICE_ASSET_REPETITIVE_HEADERS = 3; + + // Price item header is not relevant to the price type. + PRICE_ASSET_HEADER_INCOMPATIBLE_WITH_PRICE_TYPE = 4; + + // Price item description is not relevant to the item header. + PRICE_ASSET_DESCRIPTION_INCOMPATIBLE_WITH_ITEM_HEADER = 5; + + // Price asset has a price qualifier in a description. + PRICE_ASSET_DESCRIPTION_HAS_PRICE_QUALIFIER = 6; + + // Unsupported language for price assets + PRICE_ASSET_UNSUPPORTED_LANGUAGE = 7; + + // Human raters identified an issue with the price asset that isn't captured + // by other error reasons. The primary purpose of this value is to represent + // legacy FeedItem disapprovals that are no longer produced. + PRICE_ASSET_OTHER_ERROR = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_performance_label.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_performance_label.proto new file mode 100644 index 000000000..a9d503cd4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_performance_label.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetPerformanceLabelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the performance label of an asset. + +// Container for enum describing the performance label of an asset. +message AssetPerformanceLabelEnum { + // Enum describing the possible performance labels of an asset, usually + // computed in the context of a linkage. + enum AssetPerformanceLabel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This asset does not yet have any performance informantion. This may be + // because it is still under review. + PENDING = 2; + + // The asset has started getting impressions but the stats are not + // statistically significant enough to get an asset performance label. + LEARNING = 3; + + // Worst performing assets. + LOW = 4; + + // Good performing assets. + GOOD = 5; + + // Best performing assets. + BEST = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_asset_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_asset_status.proto new file mode 100644 index 000000000..3b0da0b15 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_asset_status.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset set status. + +// Container for enum describing possible statuses of an asset set asset. +message AssetSetAssetStatusEnum { + // The possible statuses of an asset set asset. + enum AssetSetAssetStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The asset set asset is enabled. + ENABLED = 2; + + // The asset set asset is removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_link_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_link_status.proto new file mode 100644 index 000000000..6c0564ddb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_link_status.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset set status. + +// Container for enum describing possible statuses of the linkage between asset +// set and its container. +message AssetSetLinkStatusEnum { + // The possible statuses of the linkage between asset set and its container. + enum AssetSetLinkStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The linkage between asset set and its container is enabled. + ENABLED = 2; + + // The linkage between asset set and its container is removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_status.proto new file mode 100644 index 000000000..e0975232a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_status.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset set status. + +// Container for enum describing possible statuses of an asset set. +message AssetSetStatusEnum { + // The possible statuses of an asset set. + enum AssetSetStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The asset set is enabled. + ENABLED = 2; + + // The asset set is removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_type.proto new file mode 100644 index 000000000..5a7dff371 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_set_type.proto @@ -0,0 +1,88 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset set type. + +// Container for enum describing possible types of an asset set. +message AssetSetTypeEnum { + // Possible types of an asset set. + enum AssetSetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Page asset set. + PAGE_FEED = 2; + + // Dynamic education asset set. + DYNAMIC_EDUCATION = 3; + + // Google Merchant Center asset set. + MERCHANT_CENTER_FEED = 4; + + // Dynamic real estate asset set. + DYNAMIC_REAL_ESTATE = 5; + + // Dynamic custom asset set. + DYNAMIC_CUSTOM = 6; + + // Dynamic hotels and rentals asset set. + DYNAMIC_HOTELS_AND_RENTALS = 7; + + // Dynamic flights asset set. + DYNAMIC_FLIGHTS = 8; + + // Dynamic travel asset set. + DYNAMIC_TRAVEL = 9; + + // Dynamic local asset set. + DYNAMIC_LOCAL = 10; + + // Dynamic jobs asset set. + DYNAMIC_JOBS = 11; + + // Location sync level asset set. + LOCATION_SYNC = 12; + + // Business Profile location group asset set. + BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP = 13; + + // Chain location group asset set which can be used for both owned + // locations and affiliate locations. + CHAIN_DYNAMIC_LOCATION_GROUP = 14; + + // Static location group asset set which can be used for both owned + // locations and affiliate locations. + STATIC_LOCATION_GROUP = 15; + + // Hotel Property asset set which is used to link a hotel property feed to + // Performance Max for travel goals campaigns. + HOTEL_PROPERTY = 16; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_source.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_source.proto new file mode 100644 index 000000000..3d80d5cbb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_source.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSourceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset source. + +// Source of the asset or asset link for who generated the entity. +// For example, advertiser or automatically created. +message AssetSourceEnum { + // Enum describing possible source of asset. + enum AssetSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset or asset link is provided by advertiser. + ADVERTISER = 2; + + // The asset or asset link is generated by Google. + AUTOMATICALLY_CREATED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/asset_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/asset_type.proto new file mode 100644 index 000000000..3ff2c0c7b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/asset_type.proto @@ -0,0 +1,121 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing asset type. + +// Container for enum describing the types of asset. +message AssetTypeEnum { + // Enum describing possible types of asset. + enum AssetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // YouTube video asset. + YOUTUBE_VIDEO = 2; + + // Media bundle asset. + MEDIA_BUNDLE = 3; + + // Image asset. + IMAGE = 4; + + // Text asset. + TEXT = 5; + + // Lead form asset. + LEAD_FORM = 6; + + // Book on Google asset. + BOOK_ON_GOOGLE = 7; + + // Promotion asset. + PROMOTION = 8; + + // Callout asset. + CALLOUT = 9; + + // Structured Snippet asset. + STRUCTURED_SNIPPET = 10; + + // Sitelink asset. + SITELINK = 11; + + // Page Feed asset. + PAGE_FEED = 12; + + // Dynamic Education asset. + DYNAMIC_EDUCATION = 13; + + // Mobile app asset. + MOBILE_APP = 14; + + // Hotel callout asset. + HOTEL_CALLOUT = 15; + + // Call asset. + CALL = 16; + + // Price asset. + PRICE = 17; + + // Call to action asset. + CALL_TO_ACTION = 18; + + // Dynamic real estate asset. + DYNAMIC_REAL_ESTATE = 19; + + // Dynamic custom asset. + DYNAMIC_CUSTOM = 20; + + // Dynamic hotels and rentals asset. + DYNAMIC_HOTELS_AND_RENTALS = 21; + + // Dynamic flights asset. + DYNAMIC_FLIGHTS = 22; + + // Discovery Carousel Card asset. + DISCOVERY_CAROUSEL_CARD = 23; + + // Dynamic travel asset. + DYNAMIC_TRAVEL = 24; + + // Dynamic local asset. + DYNAMIC_LOCAL = 25; + + // Dynamic jobs asset. + DYNAMIC_JOBS = 26; + + // Location asset. + LOCATION = 27; + + // Hotel property asset. + HOTEL_PROPERTY = 28; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/async_action_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/async_action_status.proto new file mode 100644 index 000000000..d66908a00 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/async_action_status.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AsyncActionStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing experiment async action status. + +// Container for enum describing the experiment async action status. +message AsyncActionStatusEnum { + // The async action status of the experiment. + enum AsyncActionStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Action has not started. + NOT_STARTED = 2; + + // Action is in progress. + IN_PROGRESS = 3; + + // Action has completed successfully. + COMPLETED = 4; + + // Action has failed. + FAILED = 5; + + // Action has completed successfully with warnings. + COMPLETED_WITH_WARNING = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/attribution_model.proto b/third_party/googleapis/google/ads/googleads/v16/enums/attribution_model.proto new file mode 100644 index 000000000..b57b07c79 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/attribution_model.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionModelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum representing the attribution model that describes how to +// distribute credit for a particular conversion across potentially many prior +// interactions. +message AttributionModelEnum { + // The attribution model that describes how to distribute credit for a + // particular conversion across potentially many prior interactions. + enum AttributionModel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Uses external attribution. + EXTERNAL = 100; + + // Attributes all credit for a conversion to its last click. + GOOGLE_ADS_LAST_CLICK = 101; + + // Attributes all credit for a conversion to its first click using Google + // Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102; + + // Attributes credit for a conversion equally across all of its clicks using + // Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103; + + // Attributes exponentially more credit for a conversion to its more recent + // clicks using Google Search attribution (half-life is 1 week). + GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104; + + // Attributes 40% of the credit for a conversion to its first and last + // clicks. Remaining 20% is evenly distributed across all other clicks. This + // uses Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105; + + // Flexible model that uses machine learning to determine the appropriate + // distribution of credit among clicks using Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/audience_insights_dimension.proto b/third_party/googleapis/google/ads/googleads/v16/enums/audience_insights_dimension.proto new file mode 100644 index 000000000..6b9c84101 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/audience_insights_dimension.proto @@ -0,0 +1,76 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsDimensionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing audience insights dimensions. + +// Container for enum describing insights dimensions. +message AudienceInsightsDimensionEnum { + // Possible dimensions for use in generating insights. + enum AudienceInsightsDimension { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // A Product & Service category. + CATEGORY = 2; + + // A Knowledge Graph entity. + KNOWLEDGE_GRAPH = 3; + + // A country, represented by a geo target. + GEO_TARGET_COUNTRY = 4; + + // A geographic location within a country. + SUB_COUNTRY_LOCATION = 5; + + // A YouTube channel. + YOUTUBE_CHANNEL = 6; + + // A YouTube Dynamic Lineup. + YOUTUBE_DYNAMIC_LINEUP = 7; + + // An Affinity UserInterest. + AFFINITY_USER_INTEREST = 8; + + // An In-Market UserInterest. + IN_MARKET_USER_INTEREST = 9; + + // A Parental Status value (parent, or not a parent). + PARENTAL_STATUS = 10; + + // A household income percentile range. + INCOME_RANGE = 11; + + // An age range. + AGE_RANGE = 12; + + // A gender. + GENDER = 13; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/audience_scope.proto b/third_party/googleapis/google/ads/googleads/v16/enums/audience_scope.proto new file mode 100644 index 000000000..1b7212eae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/audience_scope.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceScopeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing audience scope. + +// Defines the scope an audience can be used in. +message AudienceScopeEnum { + // Enum containing possible audience scope values. + enum AudienceScope { + // The scope has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The audience is scoped at the customer level. + CUSTOMER = 2; + + // The audience is scoped under a specific AssetGroup. + ASSET_GROUP = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/audience_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/audience_status.proto new file mode 100644 index 000000000..86133e33b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/audience_status.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing audience status. + +// The status of audience. +message AudienceStatusEnum { + // Enum containing possible audience status types. + enum AudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/batch_job_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/batch_job_status.proto new file mode 100644 index 000000000..c16c9e133 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/batch_job_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing batch job statuses. + +// Container for enum describing possible batch job statuses. +message BatchJobStatusEnum { + // The batch job statuses. + enum BatchJobStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The job is not currently running. + PENDING = 2; + + // The job is running. + RUNNING = 3; + + // The job is done. + DONE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/bid_modifier_source.proto b/third_party/googleapis/google/ads/googleads/v16/enums/bid_modifier_source.proto new file mode 100644 index 000000000..8e1a6e249 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/bid_modifier_source.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BidModifierSourceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing bid modifier source. + +// Container for enum describing possible bid modifier sources. +message BidModifierSourceEnum { + // Enum describing possible bid modifier sources. + enum BidModifierSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The bid modifier is specified at the campaign level, on the campaign + // level criterion. + CAMPAIGN = 2; + + // The bid modifier is specified (overridden) at the ad group level. + AD_GROUP = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/bidding_source.proto b/third_party/googleapis/google/ads/googleads/v16/enums/bidding_source.proto new file mode 100644 index 000000000..9010350c8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/bidding_source.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSourceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing bidding sources. + +// Container for enum describing possible bidding sources. +message BiddingSourceEnum { + // Indicates where a bid or target is defined. For example, an ad group + // criterion may define a cpc bid directly, or it can inherit its cpc bid from + // the ad group. + enum BiddingSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Effective bid or target is inherited from campaign bidding strategy. + CAMPAIGN_BIDDING_STRATEGY = 5; + + // The bid or target is defined on the ad group. + AD_GROUP = 6; + + // The bid or target is defined on the ad group criterion. + AD_GROUP_CRITERION = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_status.proto new file mode 100644 index 000000000..48136969a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_status.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing BiddingStrategy statuses. + +// Message describing BiddingStrategy statuses. +message BiddingStrategyStatusEnum { + // The possible statuses of a BiddingStrategy. + enum BiddingStrategyStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The bidding strategy is enabled. + ENABLED = 2; + + // The bidding strategy is removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_system_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_system_status.proto new file mode 100644 index 000000000..43d019c76 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_system_status.proto @@ -0,0 +1,137 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySystemStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing BiddingStrategy statuses. + +// Message describing BiddingStrategy system statuses. +message BiddingStrategySystemStatusEnum { + // The possible system statuses of a BiddingStrategy. + enum BiddingStrategySystemStatus { + // Signals that an unexpected error occurred, for example, no bidding + // strategy type was found, or no status information was found. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The bid strategy is active, and AdWords cannot find any specific issues + // with the strategy. + ENABLED = 2; + + // The bid strategy is learning because it has been recently created or + // recently reactivated. + LEARNING_NEW = 3; + + // The bid strategy is learning because of a recent setting change. + LEARNING_SETTING_CHANGE = 4; + + // The bid strategy is learning because of a recent budget change. + LEARNING_BUDGET_CHANGE = 5; + + // The bid strategy is learning because of recent change in number of + // campaigns, ad groups or keywords attached to it. + LEARNING_COMPOSITION_CHANGE = 6; + + // The bid strategy depends on conversion reporting and the customer + // recently modified conversion types that were relevant to the + // bid strategy. + LEARNING_CONVERSION_TYPE_CHANGE = 7; + + // The bid strategy depends on conversion reporting and the customer + // recently changed their conversion settings. + LEARNING_CONVERSION_SETTING_CHANGE = 8; + + // The bid strategy is limited by its bid ceiling. + LIMITED_BY_CPC_BID_CEILING = 9; + + // The bid strategy is limited by its bid floor. + LIMITED_BY_CPC_BID_FLOOR = 10; + + // The bid strategy is limited because there was not enough conversion + // traffic over the past weeks. + LIMITED_BY_DATA = 11; + + // A significant fraction of keywords in this bid strategy are limited by + // budget. + LIMITED_BY_BUDGET = 12; + + // The bid strategy cannot reach its target spend because its spend has + // been de-prioritized. + LIMITED_BY_LOW_PRIORITY_SPEND = 13; + + // A significant fraction of keywords in this bid strategy have a low + // Quality Score. + LIMITED_BY_LOW_QUALITY = 14; + + // The bid strategy cannot fully spend its budget because of narrow + // targeting. + LIMITED_BY_INVENTORY = 15; + + // Missing conversion tracking (no pings present) and/or remarketing lists + // for SSC. + MISCONFIGURED_ZERO_ELIGIBILITY = 16; + + // The bid strategy depends on conversion reporting and the customer is + // lacking conversion types that might be reported against this strategy. + MISCONFIGURED_CONVERSION_TYPES = 17; + + // The bid strategy depends on conversion reporting and the customer's + // conversion settings are misconfigured. + MISCONFIGURED_CONVERSION_SETTINGS = 18; + + // There are campaigns outside the bid strategy that share budgets with + // campaigns included in the strategy. + MISCONFIGURED_SHARED_BUDGET = 19; + + // The campaign has an invalid strategy type and is not serving. + MISCONFIGURED_STRATEGY_TYPE = 20; + + // The bid strategy is not active. Either there are no active campaigns, + // ad groups or keywords attached to the bid strategy. Or there are no + // active budgets connected to the bid strategy. + PAUSED = 21; + + // This bid strategy currently does not support status reporting. + UNAVAILABLE = 22; + + // There were multiple LEARNING_* system statuses for this bid strategy + // during the time in question. + MULTIPLE_LEARNING = 23; + + // There were multiple LIMITED_* system statuses for this bid strategy + // during the time in question. + MULTIPLE_LIMITED = 24; + + // There were multiple MISCONFIGURED_* system statuses for this bid strategy + // during the time in question. + MULTIPLE_MISCONFIGURED = 25; + + // There were multiple system statuses for this bid strategy during the + // time in question. + MULTIPLE = 26; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_type.proto new file mode 100644 index 000000000..101161a7d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/bidding_strategy_type.proto @@ -0,0 +1,119 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing bidding schemes. + +// Container for enum describing possible bidding strategy types. +message BiddingStrategyTypeEnum { + // Enum describing possible bidding strategy types. + enum BiddingStrategyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Commission is an automatic bidding strategy in which the advertiser pays + // a certain portion of the conversion value. + COMMISSION = 16; + + // Enhanced CPC is a bidding strategy that raises bids for clicks + // that seem more likely to lead to a conversion and lowers + // them for clicks where they seem less likely. + ENHANCED_CPC = 2; + + // Used for return value only. Indicates that a campaign does not have a + // bidding strategy. This prevents the campaign from serving. For example, + // a campaign may be attached to a manager bidding strategy and the serving + // account is subsequently unlinked from the manager account. In this case + // the campaign will automatically be detached from the now inaccessible + // manager bidding strategy and transition to the INVALID bidding strategy + // type. + INVALID = 17; + + // Manual bidding strategy that allows advertiser to set the bid per + // advertiser-specified action. + MANUAL_CPA = 18; + + // Manual click based bidding where user pays per click. + MANUAL_CPC = 3; + + // Manual impression based bidding + // where user pays per thousand impressions. + MANUAL_CPM = 4; + + // A bidding strategy that pays a configurable amount per video view. + MANUAL_CPV = 13; + + // A bidding strategy that automatically maximizes number of conversions + // given a daily budget. + MAXIMIZE_CONVERSIONS = 10; + + // An automated bidding strategy that automatically sets bids to maximize + // revenue while spending your budget. + MAXIMIZE_CONVERSION_VALUE = 11; + + // Page-One Promoted bidding scheme, which sets max cpc bids to + // target impressions on page one or page one promoted slots on google.com. + // This enum value is deprecated. + PAGE_ONE_PROMOTED = 5; + + // Percent Cpc is bidding strategy where bids are a fraction of the + // advertised price for some good or service. + PERCENT_CPC = 12; + + // Target CPA is an automated bid strategy that sets bids + // to help get as many conversions as possible + // at the target cost-per-acquisition (CPA) you set. + TARGET_CPA = 6; + + // Target CPM is an automated bid strategy that sets bids to help get + // as many impressions as possible at the target cost per one thousand + // impressions (CPM) you set. + TARGET_CPM = 14; + + // An automated bidding strategy that sets bids so that a certain percentage + // of search ads are shown at the top of the first page (or other targeted + // location). + TARGET_IMPRESSION_SHARE = 15; + + // Target Outrank Share is an automated bidding strategy that sets bids + // based on the target fraction of auctions where the advertiser + // should outrank a specific competitor. + // This enum value is deprecated. + TARGET_OUTRANK_SHARE = 7; + + // Target ROAS is an automated bidding strategy + // that helps you maximize revenue while averaging + // a specific target Return On Average Spend (ROAS). + TARGET_ROAS = 8; + + // Target Spend is an automated bid strategy that sets your bids + // to help get as many clicks as possible within your budget. + TARGET_SPEND = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/billing_setup_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/billing_setup_status.proto new file mode 100644 index 000000000..b4f2bff66 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/billing_setup_status.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing BillingSetup statuses. + +// Message describing BillingSetup statuses. +message BillingSetupStatusEnum { + // The possible statuses of a BillingSetup. + enum BillingSetupStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The billing setup is pending approval. + PENDING = 2; + + // The billing setup has been approved but the corresponding first budget + // has not. This can only occur for billing setups configured for monthly + // invoicing. + APPROVED_HELD = 3; + + // The billing setup has been approved. + APPROVED = 4; + + // The billing setup was cancelled by the user prior to approval. + CANCELLED = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/brand_safety_suitability.proto b/third_party/googleapis/google/ads/googleads/v16/enums/brand_safety_suitability.proto new file mode 100644 index 000000000..e66060d0f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/brand_safety_suitability.proto @@ -0,0 +1,69 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandSafetySuitabilityProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing brand safety suitability settings. + +// Container for enum with 3-Tier brand safety suitability control. +message BrandSafetySuitabilityEnum { + // 3-Tier brand safety suitability control. + enum BrandSafetySuitability { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This option lets you show ads across all inventory on YouTube and video + // partners that meet our standards for monetization. This option may be an + // appropriate choice for brands that want maximum access to the full + // breadth of videos eligible for ads, including, for example, videos that + // have strong profanity in the context of comedy or a documentary, or + // excessive violence as featured in video games. + EXPANDED_INVENTORY = 2; + + // This option lets you show ads across a wide range of content that's + // appropriate for most brands, such as popular music videos, documentaries, + // and movie trailers. The content you can show ads on is based on YouTube's + // advertiser-friendly content guidelines that take into account, for + // example, the strength or frequency of profanity, or the appropriateness + // of subject matter like sensitive events. Ads won't show, for example, on + // content with repeated strong profanity, strong sexual content, or graphic + // violence. + STANDARD_INVENTORY = 3; + + // This option lets you show ads on a reduced range of content that's + // appropriate for brands with particularly strict guidelines around + // inappropriate language and sexual suggestiveness; above and beyond what + // YouTube's advertiser-friendly content guidelines address. The videos + // accessible in this sensitive category meet heightened requirements, + // especially for inappropriate language and sexual suggestiveness. For + // example, your ads will be excluded from showing on some of YouTube's most + // popular music videos and other pop culture content across YouTube and + // Google video partners. + LIMITED_INVENTORY = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/brand_state.proto b/third_party/googleapis/google/ads/googleads/v16/enums/brand_state.proto new file mode 100644 index 000000000..890f2b990 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/brand_state.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandStateProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible brand states. +message BrandStateEnum { + // Enumeration of different brand states. + enum BrandState { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Brand is verified and globally available for selection + ENABLED = 2; + + // Brand was globally available in past but is no longer a valid brand + // (based on business criteria) + DEPRECATED = 3; + + // Brand is unverified and customer scoped, but can be selected by customer + // (only who requested for same) for targeting + UNVERIFIED = 4; + + // Was a customer-scoped (unverified) brand, which got approved by business + // and added to the global list. Its assigned CKG MID should be used instead + // of this + APPROVED = 5; + + // Was a customer-scoped (unverified) brand, but the request was canceled by + // customer and this brand id is no longer valid + CANCELLED = 6; + + // Was a customer-scoped (unverified) brand, but the request was rejected by + // internal business team and this brand id is no longer valid + REJECTED = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/budget_campaign_association_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/budget_campaign_association_status.proto new file mode 100644 index 000000000..fc87823fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/budget_campaign_association_status.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetCampaignAssociationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Budget and Campaign association status. + +// Message describing the status of the association between the Budget and the +// Campaign. +message BudgetCampaignAssociationStatusEnum { + // Possible statuses of the association between the Budget and the Campaign. + enum BudgetCampaignAssociationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign is currently using the budget. + ENABLED = 2; + + // The campaign is no longer using the budget. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/budget_delivery_method.proto b/third_party/googleapis/google/ads/googleads/v16/enums/budget_delivery_method.proto new file mode 100644 index 000000000..de12c3e12 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/budget_delivery_method.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetDeliveryMethodProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Budget delivery methods. + +// Message describing Budget delivery methods. A delivery method determines the +// rate at which the Budget is spent. +message BudgetDeliveryMethodEnum { + // Possible delivery methods of a Budget. + enum BudgetDeliveryMethod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The budget server will throttle serving evenly across + // the entire time period. + STANDARD = 2; + + // The budget server will not throttle serving, + // and ads will serve as fast as possible. + ACCELERATED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/budget_period.proto b/third_party/googleapis/google/ads/googleads/v16/enums/budget_period.proto new file mode 100644 index 000000000..c48d82a30 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/budget_period.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetPeriodProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Budget delivery methods. + +// Message describing Budget period. +message BudgetPeriodEnum { + // Possible period of a Budget. + enum BudgetPeriod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Daily budget. + DAILY = 2; + + // Custom budget, added back in V5. + // Custom budget can be used with total_amount to specify lifetime budget + // limit. See: https://support.google.com/google-ads/answer/6385083 for more + // info. + CUSTOM_PERIOD = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/budget_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/budget_status.proto new file mode 100644 index 000000000..b60d3ac61 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/budget_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Budget statuses + +// Message describing a Budget status +message BudgetStatusEnum { + // Possible statuses of a Budget. + enum BudgetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget is enabled. + ENABLED = 2; + + // Budget is removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/budget_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/budget_type.proto new file mode 100644 index 000000000..a23e84523 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/budget_type.proto @@ -0,0 +1,69 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Budget types. + +// Describes Budget types. +message BudgetTypeEnum { + // Possible Budget types. + enum BudgetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget type for standard Google Ads usage. + // Caps daily spend at two times the specified budget amount. + // Full details: https://support.google.com/google-ads/answer/6385083 + STANDARD = 2; + + // Budget type with a fixed cost-per-acquisition (conversion). + // Full details: https://support.google.com/google-ads/answer/7528254 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.DISPLAY (excluding + // AdvertisingChannelSubType.DISPLAY_GMAIL), + // BiddingStrategyType.TARGET_CPA and PaymentMode.CONVERSIONS. + FIXED_CPA = 4; + + // Budget type for Smart Campaign. + // Full details: https://support.google.com/google-ads/answer/7653509 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.SMART and + // AdvertisingChannelSubType.SMART_CAMPAIGN. + SMART_CAMPAIGN = 5; + + // Budget type for Local Services Campaign. + // Full details: https://support.google.com/localservices/answer/7434558 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.LOCAL_SERVICES. + LOCAL_SERVICES = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/call_conversion_reporting_state.proto b/third_party/googleapis/google/ads/googleads/v16/enums/call_conversion_reporting_state.proto new file mode 100644 index 000000000..e422b3019 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/call_conversion_reporting_state.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing call conversion reporting state. + +// Container for enum describing possible data types for call conversion +// reporting state. +message CallConversionReportingStateEnum { + // Possible data types for a call conversion action state. + enum CallConversionReportingState { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Call conversion action is disabled. + DISABLED = 2; + + // Call conversion action will use call conversion type set at the + // account level. + USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION = 3; + + // Call conversion action will use call conversion type set at the resource + // (call only ads/call extensions) level. + USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/call_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/call_placeholder_field.proto new file mode 100644 index 000000000..e7651b36a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/call_placeholder_field.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Call placeholder fields. + +// Values for Call placeholder fields. +message CallPlaceholderFieldEnum { + // Possible values for Call placeholder fields. + enum CallPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The advertiser's phone number to append to the ad. + PHONE_NUMBER = 2; + + // Data Type: STRING. Uppercase two-letter country code of the advertiser's + // phone number. + COUNTRY_CODE = 3; + + // Data Type: BOOLEAN. Indicates whether call tracking is enabled. Default: + // true. + TRACKED = 4; + + // Data Type: INT64. The ID of an AdCallMetricsConversion object. This + // object contains the phoneCallDurationfield which is the minimum duration + // (in seconds) of a call to be considered a conversion. + CONVERSION_TYPE_ID = 5; + + // Data Type: STRING. Indicates whether this call extension uses its own + // call conversion setting or follows the account level setting. + // Valid values are: USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION and + // USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. + CONVERSION_REPORTING_STATE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/call_to_action_type.proto new file mode 100644 index 000000000..bec7aa054 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/call_to_action_type.proto @@ -0,0 +1,91 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing call to action type. + +// Container for enum describing the call to action types. +message CallToActionTypeEnum { + // Enum describing possible types of call to action. + enum CallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The call to action type is learn more. + LEARN_MORE = 2; + + // The call to action type is get quote. + GET_QUOTE = 3; + + // The call to action type is apply now. + APPLY_NOW = 4; + + // The call to action type is sign up. + SIGN_UP = 5; + + // The call to action type is contact us. + CONTACT_US = 6; + + // The call to action type is subscribe. + SUBSCRIBE = 7; + + // The call to action type is download. + DOWNLOAD = 8; + + // The call to action type is book now. + BOOK_NOW = 9; + + // The call to action type is shop now. + SHOP_NOW = 10; + + // The call to action type is buy now. + BUY_NOW = 11; + + // The call to action type is donate now. + DONATE_NOW = 12; + + // The call to action type is order now. + ORDER_NOW = 13; + + // The call to action type is play now. + PLAY_NOW = 14; + + // The call to action type is see more. + SEE_MORE = 15; + + // The call to action type is start now. + START_NOW = 16; + + // The call to action type is visit site. + VISIT_SITE = 17; + + // The call to action type is watch now. + WATCH_NOW = 18; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/call_tracking_display_location.proto b/third_party/googleapis/google/ads/googleads/v16/enums/call_tracking_display_location.proto new file mode 100644 index 000000000..5ea49b984 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/call_tracking_display_location.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTrackingDisplayLocationProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing call tracking display location. + +// Container for enum describing possible call tracking display locations. +message CallTrackingDisplayLocationEnum { + // Possible call tracking display locations. + enum CallTrackingDisplayLocation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The phone call placed from the ad. + AD = 2; + + // The phone call placed from the landing page ad points to. + LANDING_PAGE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/call_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/call_type.proto new file mode 100644 index 000000000..ac663599e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/call_type.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing call types. + +// Container for enum describing possible types of property from where the call +// was made. +message CallTypeEnum { + // Possible types of property from where the call was made. + enum CallType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The phone call was manually dialed. + MANUALLY_DIALED = 2; + + // The phone call was a mobile click-to-call. + HIGH_END_MOBILE_SEARCH = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/callout_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/callout_placeholder_field.proto new file mode 100644 index 000000000..180389ee4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/callout_placeholder_field.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CalloutPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Callout placeholder fields. + +// Values for Callout placeholder fields. +message CalloutPlaceholderFieldEnum { + // Possible values for Callout placeholder fields. + enum CalloutPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Callout text. + CALLOUT_TEXT = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_criterion_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_criterion_status.proto new file mode 100644 index 000000000..898fd932c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_criterion_status.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing CampaignCriterion statuses. + +// Message describing CampaignCriterion statuses. +message CampaignCriterionStatusEnum { + // The possible statuses of a CampaignCriterion. + enum CampaignCriterionStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The campaign criterion is enabled. + ENABLED = 2; + + // The campaign criterion is paused. + PAUSED = 3; + + // The campaign criterion is removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_draft_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_draft_status.proto new file mode 100644 index 000000000..343392098 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_draft_status.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing campaign draft status. + +// Container for enum describing possible statuses of a campaign draft. +message CampaignDraftStatusEnum { + // Possible statuses of a campaign draft. + enum CampaignDraftStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Initial state of the draft, the advertiser can start adding changes with + // no effect on serving. + PROPOSED = 2; + + // The campaign draft is removed. + REMOVED = 3; + + // Advertiser requested to promote draft's changes back into the original + // campaign. Advertiser can poll the long running operation returned by + // the promote action to see the status of the promotion. + PROMOTING = 5; + + // The process to merge changes in the draft back to the original campaign + // has completed successfully. + PROMOTED = 4; + + // The promotion failed after it was partially applied. Promote cannot be + // attempted again safely, so the issue must be corrected in the original + // campaign. + PROMOTE_FAILED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_experiment_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_experiment_type.proto new file mode 100644 index 000000000..3a9a5c8c4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_experiment_type.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing campaign experiment type. + +// Container for enum describing campaign experiment type. +message CampaignExperimentTypeEnum { + // Indicates if this campaign is a normal campaign, + // a draft campaign, or an experiment campaign. + enum CampaignExperimentType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This is a regular campaign. + BASE = 2; + + // This is a draft version of a campaign. + // It has some modifications from a base campaign, + // but it does not serve or accrue metrics. + DRAFT = 3; + + // This is an experiment version of a campaign. + // It has some modifications from a base campaign, + // and a percentage of traffic is being diverted + // from the BASE campaign to this experiment campaign. + EXPERIMENT = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_group_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_group_status.proto new file mode 100644 index 000000000..b36e200d9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_group_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing CampaignGroup statuses. + +// Message describing CampaignGroup statuses. +message CampaignGroupStatusEnum { + // Possible statuses of a CampaignGroup. + enum CampaignGroupStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign group is active. + ENABLED = 2; + + // The campaign group has been removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_primary_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_primary_status.proto new file mode 100644 index 000000000..53fa3f7e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_primary_status.proto @@ -0,0 +1,73 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignPrimaryStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Campaign primary statuses. + +// Container for enum describing possible campaign primary status. +message CampaignPrimaryStatusEnum { + // Enum describing the possible campaign primary status. Provides insight into + // why a campaign is not serving or not serving optimally. Modification to the + // campaign and its related entities might take a while to be reflected in + // this status. + enum CampaignPrimaryStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign is eligible to serve. + ELIGIBLE = 2; + + // The user-specified campaign status is paused. + PAUSED = 3; + + // The user-specified campaign status is removed. + REMOVED = 4; + + // The user-specified time for this campaign to end has passed. + ENDED = 5; + + // The campaign may serve in the future. + PENDING = 6; + + // The campaign or its associated entities have incorrect user-specified + // settings. + MISCONFIGURED = 7; + + // The campaign or its associated entities are limited by user-specified + // settings. + LIMITED = 8; + + // The automated bidding system is adjusting to user-specified changes to + // the campaign or associated entities. + LEARNING = 9; + + // The campaign is not eligible to serve. + NOT_ELIGIBLE = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_primary_status_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_primary_status_reason.proto new file mode 100644 index 000000000..4efb027f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_primary_status_reason.proto @@ -0,0 +1,160 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignPrimaryStatusReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing CampaignPrimaryStatusReasons. + +// Container for enum describing possible campaign primary status reasons. +message CampaignPrimaryStatusReasonEnum { + // Enum describing the possible campaign primary status reasons. Provides + // insight into why a campaign is not serving or not serving optimally. These + // reasons are aggregated to determine an overall campaign primary status. + enum CampaignPrimaryStatusReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The user-specified campaign status is removed. + CAMPAIGN_REMOVED = 2; + + // The user-specified campaign status is paused. + CAMPAIGN_PAUSED = 3; + + // The user-specified time for this campaign to start is in the future. + CAMPAIGN_PENDING = 4; + + // The user-specified time for this campaign to end has passed. + CAMPAIGN_ENDED = 5; + + // The campaign is a draft. + CAMPAIGN_DRAFT = 6; + + // The bidding strategy has incorrect user-specified settings. + BIDDING_STRATEGY_MISCONFIGURED = 7; + + // The bidding strategy is limited by user-specified settings such as lack + // of data or similar. + BIDDING_STRATEGY_LIMITED = 8; + + // The automated bidding system is adjusting to user-specified changes to + // the bidding strategy. + BIDDING_STRATEGY_LEARNING = 9; + + // Campaign could capture more conversion value by adjusting CPA/ROAS + // targets. + BIDDING_STRATEGY_CONSTRAINED = 10; + + // The budget is limiting the campaign's ability to serve. + BUDGET_CONSTRAINED = 11; + + // The budget has incorrect user-specified settings. + BUDGET_MISCONFIGURED = 12; + + // Campaign is not targeting all relevant queries. + SEARCH_VOLUME_LIMITED = 13; + + // The user-specified ad group statuses are all paused. + AD_GROUPS_PAUSED = 14; + + // No eligible ad groups exist in this campaign. + NO_AD_GROUPS = 15; + + // The user-specified keyword statuses are all paused. + KEYWORDS_PAUSED = 16; + + // No eligible keywords exist in this campaign. + NO_KEYWORDS = 17; + + // The user-specified ad group ad statuses are all paused. + AD_GROUP_ADS_PAUSED = 18; + + // No eligible ad group ads exist in this campaign. + NO_AD_GROUP_ADS = 19; + + // At least one ad in this campaign is limited by policy. + HAS_ADS_LIMITED_BY_POLICY = 20; + + // At least one ad in this campaign is disapproved. + HAS_ADS_DISAPPROVED = 21; + + // Most ads in this campaign are pending review. + MOST_ADS_UNDER_REVIEW = 22; + + // The campaign has a lead form goal, and the lead form extension is + // missing. + MISSING_LEAD_FORM_EXTENSION = 23; + + // The campaign has a call goal, and the call extension is missing. + MISSING_CALL_EXTENSION = 24; + + // The lead form extension is under review. + LEAD_FORM_EXTENSION_UNDER_REVIEW = 25; + + // The lead extension is disapproved. + LEAD_FORM_EXTENSION_DISAPPROVED = 26; + + // The call extension is under review. + CALL_EXTENSION_UNDER_REVIEW = 27; + + // The call extension is disapproved. + CALL_EXTENSION_DISAPPROVED = 28; + + // No eligible mobile application ad group criteria exist in this campaign. + NO_MOBILE_APPLICATION_AD_GROUP_CRITERIA = 29; + + // The user-specified campaign group status is paused. + CAMPAIGN_GROUP_PAUSED = 30; + + // The user-specified times of all group budgets associated with the parent + // campaign group has passed. + CAMPAIGN_GROUP_ALL_GROUP_BUDGETS_ENDED = 31; + + // The app associated with this ACi campaign is not released in the target + // countries of the campaign. + APP_NOT_RELEASED = 32; + + // The app associated with this ACi campaign is partially released in the + // target countries of the campaign. + APP_PARTIALLY_RELEASED = 33; + + // At least one asset group in this campaign is disapproved. + HAS_ASSET_GROUPS_DISAPPROVED = 34; + + // At least one asset group in this campaign is limited by policy. + HAS_ASSET_GROUPS_LIMITED_BY_POLICY = 35; + + // Most asset groups in this campaign are pending review. + MOST_ASSET_GROUPS_UNDER_REVIEW = 36; + + // No eligible asset groups exist in this campaign. + NO_ASSET_GROUPS = 37; + + // All asset groups in this campaign are paused. + ASSET_GROUPS_PAUSED = 38; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_serving_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_serving_status.proto new file mode 100644 index 000000000..3161511fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_serving_status.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServingStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Campaign serving statuses. + +// Message describing Campaign serving statuses. +message CampaignServingStatusEnum { + // Possible serving statuses of a campaign. + enum CampaignServingStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Serving. + SERVING = 2; + + // None. + NONE = 3; + + // Ended. + ENDED = 4; + + // Pending. + PENDING = 5; + + // Suspended. + SUSPENDED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_shared_set_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_shared_set_status.proto new file mode 100644 index 000000000..c9fa5892c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_shared_set_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing campaign shared set statuses. + +// Container for enum describing types of campaign shared set statuses. +message CampaignSharedSetStatusEnum { + // Enum listing the possible campaign shared set statuses. + enum CampaignSharedSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign shared set is enabled. + ENABLED = 2; + + // The campaign shared set is removed and can no longer be used. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/campaign_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_status.proto new file mode 100644 index 000000000..15a721f5a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/campaign_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing campaign status. + +// Container for enum describing possible statuses of a campaign. +message CampaignStatusEnum { + // Possible statuses of a campaign. + enum CampaignStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Campaign is active and can show ads. + ENABLED = 2; + + // Campaign has been paused by the user. + PAUSED = 3; + + // Campaign has been removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/chain_relationship_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/chain_relationship_type.proto new file mode 100644 index 000000000..2699a3e05 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/chain_relationship_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChainRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing relationship type. + +// Container for enum describing possible types of a relationship. +message ChainRelationshipTypeEnum { + // Possible types of a relationship. + enum ChainRelationshipType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Auto dealer relationship. + AUTO_DEALERS = 2; + + // General retailer relationship. + GENERAL_RETAILERS = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/change_client_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/change_client_type.proto new file mode 100644 index 000000000..b95aef0c6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/change_client_type.proto @@ -0,0 +1,87 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeClientTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the sources that the change event resource was +// made through. + +// Container for enum describing the sources that the change event resource +// was made through. +message ChangeClientTypeEnum { + // The source that the change_event resource was made through. + enum ChangeClientType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified client type + // unknown in this version. + UNKNOWN = 1; + + // Changes made through the "ads.google.com". + // For example, changes made through campaign management. + GOOGLE_ADS_WEB_CLIENT = 2; + + // Changes made through Google Ads automated rules. + GOOGLE_ADS_AUTOMATED_RULE = 3; + + // Changes made through Google Ads scripts. + GOOGLE_ADS_SCRIPTS = 4; + + // Changes made by Google Ads bulk upload. + GOOGLE_ADS_BULK_UPLOAD = 5; + + // Changes made by Google Ads API. + GOOGLE_ADS_API = 6; + + // Changes made by Google Ads Editor. This value is a placeholder. + // The API does not return these changes. + GOOGLE_ADS_EDITOR = 7; + + // Changes made by Google Ads mobile app. + GOOGLE_ADS_MOBILE_APP = 8; + + // Changes made through Google Ads recommendations. + GOOGLE_ADS_RECOMMENDATIONS = 9; + + // Changes made through Search Ads 360 Sync. + SEARCH_ADS_360_SYNC = 10; + + // Changes made through Search Ads 360 Post. + SEARCH_ADS_360_POST = 11; + + // Changes made through internal tools. + // For example, when a user sets a URL template on an entity like a + // Campaign, it's automatically wrapped with the SA360 Clickserver URL. + INTERNAL_TOOL = 12; + + // Types of changes that are not categorized, for example, + // changes made by coupon redemption through Google Ads. + OTHER = 13; + + // Changes made by subscribing to Google Ads recommendations. + GOOGLE_ADS_RECOMMENDATIONS_SUBSCRIPTION = 14; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/change_event_resource_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/change_event_resource_type.proto new file mode 100644 index 000000000..118671784 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/change_event_resource_type.proto @@ -0,0 +1,99 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventResourceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the resource types the ChangeEvent resource supports. + +// Container for enum describing supported resource types for the ChangeEvent +// resource. +message ChangeEventResourceTypeEnum { + // Enum listing the resource types support by the ChangeEvent resource. + enum ChangeEventResourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // An Ad resource change. + AD = 2; + + // An AdGroup resource change. + AD_GROUP = 3; + + // An AdGroupCriterion resource change. + AD_GROUP_CRITERION = 4; + + // A Campaign resource change. + CAMPAIGN = 5; + + // A CampaignBudget resource change. + CAMPAIGN_BUDGET = 6; + + // An AdGroupBidModifier resource change. + AD_GROUP_BID_MODIFIER = 7; + + // A CampaignCriterion resource change. + CAMPAIGN_CRITERION = 8; + + // A Feed resource change. + FEED = 9; + + // A FeedItem resource change. + FEED_ITEM = 10; + + // A CampaignFeed resource change. + CAMPAIGN_FEED = 11; + + // An AdGroupFeed resource change. + AD_GROUP_FEED = 12; + + // An AdGroupAd resource change. + AD_GROUP_AD = 13; + + // An Asset resource change. + ASSET = 14; + + // A CustomerAsset resource change. + CUSTOMER_ASSET = 15; + + // A CampaignAsset resource change. + CAMPAIGN_ASSET = 16; + + // An AdGroupAsset resource change. + AD_GROUP_ASSET = 17; + + // An AssetSet resource change. + ASSET_SET = 18; + + // An AssetSetAsset resource change. + ASSET_SET_ASSET = 19; + + // A CampaignAssetSet resource change. + CAMPAIGN_ASSET_SET = 20; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/change_status_operation.proto b/third_party/googleapis/google/ads/googleads/v16/enums/change_status_operation.proto new file mode 100644 index 000000000..a157518bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/change_status_operation.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusOperationProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the change status operations. + +// Container for enum describing operations for the ChangeStatus resource. +message ChangeStatusOperationEnum { + // Status of the changed resource + enum ChangeStatusOperation { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // The resource was created. + ADDED = 2; + + // The resource was modified. + CHANGED = 3; + + // The resource was removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/change_status_resource_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/change_status_resource_type.proto new file mode 100644 index 000000000..b6d2fac64 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/change_status_resource_type.proto @@ -0,0 +1,93 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusResourceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the resource types the ChangeStatus resource supports. + +// Container for enum describing supported resource types for the ChangeStatus +// resource. +message ChangeStatusResourceTypeEnum { + // Enum listing the resource types support by the ChangeStatus resource. + enum ChangeStatusResourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // An AdGroup resource change. + AD_GROUP = 3; + + // An AdGroupAd resource change. + AD_GROUP_AD = 4; + + // An AdGroupCriterion resource change. + AD_GROUP_CRITERION = 5; + + // A Campaign resource change. + CAMPAIGN = 6; + + // A CampaignCriterion resource change. + CAMPAIGN_CRITERION = 7; + + // A Feed resource change. + FEED = 9; + + // A FeedItem resource change. + FEED_ITEM = 10; + + // An AdGroupFeed resource change. + AD_GROUP_FEED = 11; + + // A CampaignFeed resource change. + CAMPAIGN_FEED = 12; + + // An AdGroupBidModifier resource change. + AD_GROUP_BID_MODIFIER = 13; + + // A SharedSet resource change. + SHARED_SET = 14; + + // A CampaignSharedSet resource change. + CAMPAIGN_SHARED_SET = 15; + + // An Asset resource change. + ASSET = 16; + + // A CustomerAsset resource change. + CUSTOMER_ASSET = 17; + + // A CampaignAsset resource change. + CAMPAIGN_ASSET = 18; + + // An AdGroupAsset resource change. + AD_GROUP_ASSET = 19; + + // A CombinedAudience resource change. + COMBINED_AUDIENCE = 20; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/click_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/click_type.proto new file mode 100644 index 000000000..96e990aad --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/click_type.proto @@ -0,0 +1,202 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ClickTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing click types. + +// Container for enumeration of Google Ads click types. +message ClickTypeEnum { + // Enumerates Google Ads click types. + enum ClickType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // App engagement ad deep link. + APP_DEEPLINK = 2; + + // Breadcrumbs. + BREADCRUMBS = 3; + + // Broadband Plan. + BROADBAND_PLAN = 4; + + // Manually dialed phone calls. + CALL_TRACKING = 5; + + // Phone calls. + CALLS = 6; + + // Click on engagement ad. + CLICK_ON_ENGAGEMENT_AD = 7; + + // Driving direction. + GET_DIRECTIONS = 8; + + // Get location details. + LOCATION_EXPANSION = 9; + + // Call. + LOCATION_FORMAT_CALL = 10; + + // Directions. + LOCATION_FORMAT_DIRECTIONS = 11; + + // Image(s). + LOCATION_FORMAT_IMAGE = 12; + + // Go to landing page. + LOCATION_FORMAT_LANDING_PAGE = 13; + + // Map. + LOCATION_FORMAT_MAP = 14; + + // Go to store info. + LOCATION_FORMAT_STORE_INFO = 15; + + // Text. + LOCATION_FORMAT_TEXT = 16; + + // Mobile phone calls. + MOBILE_CALL_TRACKING = 17; + + // Print offer. + OFFER_PRINTS = 18; + + // Other. + OTHER = 19; + + // Product plusbox offer. + PRODUCT_EXTENSION_CLICKS = 20; + + // Shopping - Product - Online. + PRODUCT_LISTING_AD_CLICKS = 21; + + // Sitelink. + SITELINKS = 22; + + // Show nearby locations. + STORE_LOCATOR = 23; + + // Headline. + URL_CLICKS = 25; + + // App store. + VIDEO_APP_STORE_CLICKS = 26; + + // Call-to-Action overlay. + VIDEO_CALL_TO_ACTION_CLICKS = 27; + + // Cards. + VIDEO_CARD_ACTION_HEADLINE_CLICKS = 28; + + // End cap. + VIDEO_END_CAP_CLICKS = 29; + + // Website. + VIDEO_WEBSITE_CLICKS = 30; + + // Visual Sitelinks. + VISUAL_SITELINKS = 31; + + // Wireless Plan. + WIRELESS_PLAN = 32; + + // Shopping - Product - Local. + PRODUCT_LISTING_AD_LOCAL = 33; + + // Shopping - Product - MultiChannel Local. + PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL = 34; + + // Shopping - Product - MultiChannel Online. + PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE = 35; + + // Shopping - Product - Coupon. + PRODUCT_LISTING_ADS_COUPON = 36; + + // Shopping - Product - Sell on Google. + PRODUCT_LISTING_AD_TRANSACTABLE = 37; + + // Shopping - Product - App engagement ad deep link. + PRODUCT_AD_APP_DEEPLINK = 38; + + // Shopping - Showcase - Category. + SHOWCASE_AD_CATEGORY_LINK = 39; + + // Shopping - Showcase - Local storefront. + SHOWCASE_AD_LOCAL_STOREFRONT_LINK = 40; + + // Shopping - Showcase - Online product. + SHOWCASE_AD_ONLINE_PRODUCT_LINK = 42; + + // Shopping - Showcase - Local product. + SHOWCASE_AD_LOCAL_PRODUCT_LINK = 43; + + // Promotion Extension. + PROMOTION_EXTENSION = 44; + + // Ad Headline. + SWIPEABLE_GALLERY_AD_HEADLINE = 45; + + // Swipes. + SWIPEABLE_GALLERY_AD_SWIPES = 46; + + // See More. + SWIPEABLE_GALLERY_AD_SEE_MORE = 47; + + // Sitelink 1. + SWIPEABLE_GALLERY_AD_SITELINK_ONE = 48; + + // Sitelink 2. + SWIPEABLE_GALLERY_AD_SITELINK_TWO = 49; + + // Sitelink 3. + SWIPEABLE_GALLERY_AD_SITELINK_THREE = 50; + + // Sitelink 4. + SWIPEABLE_GALLERY_AD_SITELINK_FOUR = 51; + + // Sitelink 5. + SWIPEABLE_GALLERY_AD_SITELINK_FIVE = 52; + + // Hotel price. + HOTEL_PRICE = 53; + + // Price Extension. + PRICE_EXTENSION = 54; + + // Book on Google hotel room selection. + HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION = 55; + + // Shopping - Comparison Listing. + SHOPPING_COMPARISON_LISTING = 56; + + // Cross-network. From Performance Max and Discovery Campaigns. + CROSS_NETWORK = 57; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/combined_audience_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/combined_audience_status.proto new file mode 100644 index 000000000..e361a32f8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/combined_audience_status.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing combined audience status. + +// The status of combined audience. +message CombinedAudienceStatusEnum { + // Enum containing possible combined audience status types. + enum CombinedAudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - combined audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - combined audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/consent_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/consent_status.proto new file mode 100644 index 000000000..20558875c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/consent_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConsentStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the consent status. + +// Enums represent consent status. +message ConsentStatusEnum { + // Consent status + enum ConsentStatus { + // Not specified. + UNSPECIFIED = 0; + + // Output-only. Represents a format not yet defined in this enum. + UNKNOWN = 1; + + // Granted. + GRANTED = 2; + + // Denied. + DENIED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/content_label_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/content_label_type.proto new file mode 100644 index 000000000..aa4d869a2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/content_label_type.proto @@ -0,0 +1,85 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ContentLabelTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing content label types. + +// Container for enum describing content label types in ContentLabel. +message ContentLabelTypeEnum { + // Enum listing the content label types supported by ContentLabel criterion. + enum ContentLabelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Sexually suggestive content. + SEXUALLY_SUGGESTIVE = 2; + + // Below the fold placement. + BELOW_THE_FOLD = 3; + + // Parked domain. + PARKED_DOMAIN = 4; + + // Juvenile, gross & bizarre content. + JUVENILE = 6; + + // Profanity & rough language. + PROFANITY = 7; + + // Death & tragedy. + TRAGEDY = 8; + + // Video. + VIDEO = 9; + + // Content rating: G. + VIDEO_RATING_DV_G = 10; + + // Content rating: PG. + VIDEO_RATING_DV_PG = 11; + + // Content rating: T. + VIDEO_RATING_DV_T = 12; + + // Content rating: MA. + VIDEO_RATING_DV_MA = 13; + + // Content rating: not yet rated. + VIDEO_NOT_YET_RATED = 14; + + // Embedded video. + EMBEDDED_VIDEO = 15; + + // Live streaming video. + LIVE_STREAMING_VIDEO = 16; + + // Sensitive social issues. + SOCIAL_ISSUES = 17; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_category.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_category.proto new file mode 100644 index 000000000..16ab56a07 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_category.proto @@ -0,0 +1,112 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCategoryProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the category of conversions that are associated +// with a ConversionAction. +message ConversionActionCategoryEnum { + // The category of conversions that are associated with a ConversionAction. + enum ConversionActionCategory { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Default category. + DEFAULT = 2; + + // User visiting a page. + PAGE_VIEW = 3; + + // Purchase, sales, or "order placed" event. + PURCHASE = 4; + + // Signup user action. + SIGNUP = 5; + + // Software download action (as for an app). + DOWNLOAD = 7; + + // The addition of items to a shopping cart or bag on an advertiser site. + ADD_TO_CART = 8; + + // When someone enters the checkout flow on an advertiser site. + BEGIN_CHECKOUT = 9; + + // The start of a paid subscription for a product or service. + SUBSCRIBE_PAID = 10; + + // A call to indicate interest in an advertiser's offering. + PHONE_CALL_LEAD = 11; + + // A lead conversion imported from an external source into Google Ads. + IMPORTED_LEAD = 12; + + // A submission of a form on an advertiser site indicating business + // interest. + SUBMIT_LEAD_FORM = 13; + + // A booking of an appointment with an advertiser's business. + BOOK_APPOINTMENT = 14; + + // A quote or price estimate request. + REQUEST_QUOTE = 15; + + // A search for an advertiser's business location with intention to visit. + GET_DIRECTIONS = 16; + + // A click to an advertiser's partner's site. + OUTBOUND_CLICK = 17; + + // A call, SMS, email, chat or other type of contact to an advertiser. + CONTACT = 18; + + // A website engagement event such as long site time or a Google Analytics + // (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal + // imports. + ENGAGEMENT = 19; + + // A visit to a physical store location. + STORE_VISIT = 20; + + // A sale occurring in a physical store. + STORE_SALE = 21; + + // A lead conversion imported from an external source into Google Ads, + // that has been further qualified by the advertiser (marketing/sales team). + // In the lead-to-sale journey, advertisers get leads, then act on them + // by reaching out to the consumer. If the consumer is interested and + // may end up buying their product, the advertiser marks such leads as + // "qualified leads". + QUALIFIED_LEAD = 22; + + // A lead conversion imported from an external source into Google Ads, that + // has further completed a chosen stage as defined by the lead gen + // advertiser. + CONVERTED_LEAD = 23; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_counting_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_counting_type.proto new file mode 100644 index 000000000..a609524a6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_counting_type.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCountingTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion action counting type. + +// Container for enum describing the conversion deduplication mode for +// conversion optimizer. +message ConversionActionCountingTypeEnum { + // Indicates how conversions for this action will be counted. For more + // information, see https://support.google.com/google-ads/answer/3438531. + enum ConversionActionCountingType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Count only one conversion per click. + ONE_PER_CLICK = 2; + + // Count all conversions per click. + MANY_PER_CLICK = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_status.proto new file mode 100644 index 000000000..ccca0bd7b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_status.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion action status. + +// Container for enum describing possible statuses of a conversion action. +message ConversionActionStatusEnum { + // Possible statuses of a conversion action. + enum ConversionActionStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversions will be recorded. + ENABLED = 2; + + // Conversions will not be recorded. + REMOVED = 3; + + // Conversions will not be recorded and the conversion action will not + // appear in the UI. + HIDDEN = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_type.proto new file mode 100644 index 000000000..2b7063a5e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_action_type.proto @@ -0,0 +1,189 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion action type. + +// Container for enum describing possible types of a conversion action. +message ConversionActionTypeEnum { + // Possible types of a conversion action. + enum ConversionActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversions that occur when a user clicks on an ad's call extension. + AD_CALL = 2; + + // Conversions that occur when a user on a mobile device clicks a phone + // number. + CLICK_TO_CALL = 3; + + // Conversions that occur when a user downloads a mobile app from the Google + // Play Store. + GOOGLE_PLAY_DOWNLOAD = 4; + + // Conversions that occur when a user makes a purchase in an app through + // Android billing. + GOOGLE_PLAY_IN_APP_PURCHASE = 5; + + // Call conversions that are tracked by the advertiser and uploaded. + UPLOAD_CALLS = 6; + + // Conversions that are tracked by the advertiser and uploaded with + // attributed clicks. + UPLOAD_CLICKS = 7; + + // Conversions that occur on a webpage. + WEBPAGE = 8; + + // Conversions that occur when a user calls a dynamically-generated phone + // number from an advertiser's website. + WEBSITE_CALL = 9; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads. + // Only customers on the allowlist can use store sales direct upload types. + STORE_SALES_DIRECT_UPLOAD = 10; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads and/or from in-store purchases using cards from payment + // networks. + // Only customers on the allowlist can use store sales types. + // Read only. + STORE_SALES = 11; + + // Android app first open conversions tracked through Firebase. + FIREBASE_ANDROID_FIRST_OPEN = 12; + + // Android app in app purchase conversions tracked through Firebase. + FIREBASE_ANDROID_IN_APP_PURCHASE = 13; + + // Android app custom conversions tracked through Firebase. + FIREBASE_ANDROID_CUSTOM = 14; + + // iOS app first open conversions tracked through Firebase. + FIREBASE_IOS_FIRST_OPEN = 15; + + // iOS app in app purchase conversions tracked through Firebase. + FIREBASE_IOS_IN_APP_PURCHASE = 16; + + // iOS app custom conversions tracked through Firebase. + FIREBASE_IOS_CUSTOM = 17; + + // Android app first open conversions tracked through Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN = 18; + + // Android app in app purchase conversions tracked through Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE = 19; + + // Android app custom conversions tracked through Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM = 20; + + // iOS app first open conversions tracked through Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN = 21; + + // iOS app in app purchase conversions tracked through Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE = 22; + + // iOS app custom conversions tracked through Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM = 23; + + // Conversions that occur when a user pre-registers a mobile app from the + // Google Play Store. Read only. + ANDROID_APP_PRE_REGISTRATION = 24; + + // Conversions that track all Google Play downloads which aren't tracked + // by an app-specific type. Read only. + ANDROID_INSTALLS_ALL_OTHER_APPS = 25; + + // Floodlight activity that counts the number of times that users have + // visited a particular webpage after seeing or clicking on one of + // an advertiser's ads. Read only. + FLOODLIGHT_ACTION = 26; + + // Floodlight activity that tracks the number of sales made or the number + // of items purchased. Can also capture the total value of each sale. + // Read only. + FLOODLIGHT_TRANSACTION = 27; + + // Conversions that track local actions from Google's products and + // services after interacting with an ad. Read only. + GOOGLE_HOSTED = 28; + + // Conversions reported when a user submits a lead form. Read only. + LEAD_FORM_SUBMIT = 29; + + // Conversions that come from Salesforce. Read only. + SALESFORCE = 30; + + // Conversions imported from Search Ads 360 Floodlight data. Read only. + SEARCH_ADS_360 = 31; + + // Call conversions that occur on Smart campaign Ads without call tracking + // setup, using Smart campaign custom criteria. Read only. + SMART_CAMPAIGN_AD_CLICKS_TO_CALL = 32; + + // The user clicks on a call element within Google Maps. Smart campaign + // only. Read only. + SMART_CAMPAIGN_MAP_CLICKS_TO_CALL = 33; + + // The user requests directions to a business location within Google Maps. + // Smart campaign only. Read only. + SMART_CAMPAIGN_MAP_DIRECTIONS = 34; + + // Call conversions that occur on Smart campaign Ads with call tracking + // setup, using Smart campaign custom criteria. Read only. + SMART_CAMPAIGN_TRACKED_CALLS = 35; + + // Conversions that occur when a user visits an advertiser's retail store. + // Read only. + STORE_VISITS = 36; + + // Conversions created from website events (such as form submissions or page + // loads), that don't use individually coded event snippets. Read only. + WEBPAGE_CODELESS = 37; + + // Conversions that come from linked Universal Analytics goals. + UNIVERSAL_ANALYTICS_GOAL = 38; + + // Conversions that come from linked Universal Analytics transactions. + UNIVERSAL_ANALYTICS_TRANSACTION = 39; + + // Conversions that come from linked Google Analytics 4 custom event + // conversions. + GOOGLE_ANALYTICS_4_CUSTOM = 40; + + // Conversions that come from linked Google Analytics 4 purchase + // conversions. + GOOGLE_ANALYTICS_4_PURCHASE = 41; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_adjustment_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_adjustment_type.proto new file mode 100644 index 000000000..3bde4392d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_adjustment_type.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion adjustment type. + +// Container for enum describing conversion adjustment types. +message ConversionAdjustmentTypeEnum { + // The different actions advertisers can take to adjust the conversions that + // they already reported. Retractions negate a conversion. Restatements change + // the value of a conversion. + enum ConversionAdjustmentType { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // Negates a conversion so that its total value and count are both zero. + RETRACTION = 2; + + // Changes the value of a conversion. + RESTATEMENT = 3; + + // Supplements an existing conversion with provided user identifiers and + // user agent, which can be used by Google to enhance the conversion count. + ENHANCEMENT = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_attribution_event_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_attribution_event_type.proto new file mode 100644 index 000000000..8a058e636 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_attribution_event_type.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAttributionEventTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum indicating the event type the conversion is attributed to. +message ConversionAttributionEventTypeEnum { + // The event type of conversions that are attributed to. + enum ConversionAttributionEventType { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion is attributed to an impression. + IMPRESSION = 2; + + // The conversion is attributed to an interaction. + INTERACTION = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_custom_variable_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_custom_variable_status.proto new file mode 100644 index 000000000..1ef9c799a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_custom_variable_status.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion custom variable status. + +// Container for enum describing possible statuses of a conversion custom +// variable. +message ConversionCustomVariableStatusEnum { + // Possible statuses of a conversion custom variable. + enum ConversionCustomVariableStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion custom variable is pending activation and will not + // accrue stats until set to ENABLED. + // + // This status can't be used in CREATE and UPDATE requests. + ACTIVATION_NEEDED = 2; + + // The conversion custom variable is enabled and will accrue stats. + ENABLED = 3; + + // The conversion custom variable is paused and will not accrue stats + // until set to ENABLED again. + PAUSED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_environment_enum.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_environment_enum.proto new file mode 100644 index 000000000..4643f6c50 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_environment_enum.proto @@ -0,0 +1,45 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionEnvironmentEnumProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum representing the conversion environment an uploaded +// conversion was recorded on, for example, App or Web. +message ConversionEnvironmentEnum { + // Conversion environment of the uploaded conversion. + enum ConversionEnvironment { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion was recorded on an app. + APP = 2; + + // The conversion was recorded on a website. + WEB = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_lag_bucket.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_lag_bucket.proto new file mode 100644 index 000000000..7fc1ac1f7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_lag_bucket.proto @@ -0,0 +1,113 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionLagBucketProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum representing the number of days between impression and +// conversion. +message ConversionLagBucketEnum { + // Enum representing the number of days between impression and conversion. + enum ConversionLagBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. + LESS_THAN_ONE_DAY = 2; + + // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. + ONE_TO_TWO_DAYS = 3; + + // Conversion lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + TWO_TO_THREE_DAYS = 4; + + // Conversion lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + THREE_TO_FOUR_DAYS = 5; + + // Conversion lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + FOUR_TO_FIVE_DAYS = 6; + + // Conversion lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + FIVE_TO_SIX_DAYS = 7; + + // Conversion lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + SIX_TO_SEVEN_DAYS = 8; + + // Conversion lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + SEVEN_TO_EIGHT_DAYS = 9; + + // Conversion lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + EIGHT_TO_NINE_DAYS = 10; + + // Conversion lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + NINE_TO_TEN_DAYS = 11; + + // Conversion lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + TEN_TO_ELEVEN_DAYS = 12; + + // Conversion lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + ELEVEN_TO_TWELVE_DAYS = 13; + + // Conversion lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + TWELVE_TO_THIRTEEN_DAYS = 14; + + // Conversion lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + THIRTEEN_TO_FOURTEEN_DAYS = 15; + + // Conversion lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + FOURTEEN_TO_TWENTY_ONE_DAYS = 16; + + // Conversion lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + TWENTY_ONE_TO_THIRTY_DAYS = 17; + + // Conversion lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + THIRTY_TO_FORTY_FIVE_DAYS = 18; + + // Conversion lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + FORTY_FIVE_TO_SIXTY_DAYS = 19; + + // Conversion lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + SIXTY_TO_NINETY_DAYS = 20; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_or_adjustment_lag_bucket.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_or_adjustment_lag_bucket.proto new file mode 100644 index 000000000..861be399c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_or_adjustment_lag_bucket.proto @@ -0,0 +1,202 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum representing the number of days between the impression and +// the conversion or between the impression and adjustments to the conversion. +message ConversionOrAdjustmentLagBucketEnum { + // Enum representing the number of days between the impression and the + // conversion or between the impression and adjustments to the conversion. + enum ConversionOrAdjustmentLagBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. + CONVERSION_LESS_THAN_ONE_DAY = 2; + + // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. + CONVERSION_ONE_TO_TWO_DAYS = 3; + + // Conversion lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + CONVERSION_TWO_TO_THREE_DAYS = 4; + + // Conversion lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + CONVERSION_THREE_TO_FOUR_DAYS = 5; + + // Conversion lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + CONVERSION_FOUR_TO_FIVE_DAYS = 6; + + // Conversion lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + CONVERSION_FIVE_TO_SIX_DAYS = 7; + + // Conversion lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + CONVERSION_SIX_TO_SEVEN_DAYS = 8; + + // Conversion lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + CONVERSION_SEVEN_TO_EIGHT_DAYS = 9; + + // Conversion lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + CONVERSION_EIGHT_TO_NINE_DAYS = 10; + + // Conversion lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + CONVERSION_NINE_TO_TEN_DAYS = 11; + + // Conversion lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + CONVERSION_TEN_TO_ELEVEN_DAYS = 12; + + // Conversion lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + CONVERSION_ELEVEN_TO_TWELVE_DAYS = 13; + + // Conversion lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + CONVERSION_TWELVE_TO_THIRTEEN_DAYS = 14; + + // Conversion lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS = 15; + + // Conversion lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS = 16; + + // Conversion lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS = 17; + + // Conversion lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS = 18; + + // Conversion lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS = 19; + + // Conversion lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + CONVERSION_SIXTY_TO_NINETY_DAYS = 20; + + // Conversion adjustment lag bucket from 0 to 1 day. 0 day is included, + // 1 day is not. + ADJUSTMENT_LESS_THAN_ONE_DAY = 21; + + // Conversion adjustment lag bucket from 1 to 2 days. 1 day is included, + // 2 days is not. + ADJUSTMENT_ONE_TO_TWO_DAYS = 22; + + // Conversion adjustment lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + ADJUSTMENT_TWO_TO_THREE_DAYS = 23; + + // Conversion adjustment lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + ADJUSTMENT_THREE_TO_FOUR_DAYS = 24; + + // Conversion adjustment lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + ADJUSTMENT_FOUR_TO_FIVE_DAYS = 25; + + // Conversion adjustment lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + ADJUSTMENT_FIVE_TO_SIX_DAYS = 26; + + // Conversion adjustment lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + ADJUSTMENT_SIX_TO_SEVEN_DAYS = 27; + + // Conversion adjustment lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + ADJUSTMENT_SEVEN_TO_EIGHT_DAYS = 28; + + // Conversion adjustment lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + ADJUSTMENT_EIGHT_TO_NINE_DAYS = 29; + + // Conversion adjustment lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + ADJUSTMENT_NINE_TO_TEN_DAYS = 30; + + // Conversion adjustment lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + ADJUSTMENT_TEN_TO_ELEVEN_DAYS = 31; + + // Conversion adjustment lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS = 32; + + // Conversion adjustment lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS = 33; + + // Conversion adjustment lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS = 34; + + // Conversion adjustment lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS = 35; + + // Conversion adjustment lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS = 36; + + // Conversion adjustment lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS = 37; + + // Conversion adjustment lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS = 38; + + // Conversion adjustment lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + ADJUSTMENT_SIXTY_TO_NINETY_DAYS = 39; + + // Conversion adjustment lag bucket from 90 to 145 days. 90 days is + // included, 145 days is not. + ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS = 40; + + // Conversion lag bucket UNKNOWN. This is for dates before conversion lag + // bucket was available in Google Ads. + CONVERSION_UNKNOWN = 41; + + // Conversion adjustment lag bucket UNKNOWN. This is for dates before + // conversion adjustment lag bucket was available in Google Ads. + ADJUSTMENT_UNKNOWN = 42; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_origin.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_origin.proto new file mode 100644 index 000000000..02f46d3a0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_origin.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOriginProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion origin. + +// Container for enum describing possible conversion origins. +message ConversionOriginEnum { + // The possible places where a conversion can occur. + enum ConversionOrigin { + // The conversion origin has not been specified. + UNSPECIFIED = 0; + + // The conversion origin is not known in this version. + UNKNOWN = 1; + + // Conversion that occurs when a user visits a website or takes an action + // there after viewing an ad. + WEBSITE = 2; + + // Conversions reported by an offline pipeline which collects local actions + // from Google-hosted pages (for example, Google Maps, Google Place Page, + // etc) and attributes them to relevant ad events. + GOOGLE_HOSTED = 3; + + // Conversion that occurs when a user performs an action through any app + // platforms. + APP = 4; + + // Conversion that occurs when a user makes a call from ads. + CALL_FROM_ADS = 5; + + // Conversion that occurs when a user visits or makes a purchase at a + // physical store. + STORE = 6; + + // Conversion that occurs on YouTube. + YOUTUBE_HOSTED = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_tracking_status_enum.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_tracking_status_enum.proto new file mode 100644 index 000000000..5496a0ace --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_tracking_status_enum.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionTrackingStatusEnumProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum representing the conversion tracking status of the +// customer. +message ConversionTrackingStatusEnum { + // Conversion Tracking status of the customer. + enum ConversionTrackingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Customer does not use any conversion tracking. + NOT_CONVERSION_TRACKED = 2; + + // The conversion actions are created and managed by this customer. + CONVERSION_TRACKING_MANAGED_BY_SELF = 3; + + // The conversion actions are created and managed by the manager specified + // in the request's `login-customer-id`. + CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER = 4; + + // The conversion actions are created and managed by a manager different + // from the customer or manager specified in the request's + // `login-customer-id`. + CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_primary_dimension.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_primary_dimension.proto new file mode 100644 index 000000000..1c02a798b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_primary_dimension.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRulePrimaryDimensionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion value rule primary dimension. + +// Container for enum describing value rule primary dimension for stats. +message ConversionValueRulePrimaryDimensionEnum { + // Identifies the primary dimension for conversion value rule stats. + enum ConversionValueRulePrimaryDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // For no-value-rule-applied conversions after value rule is enabled. + NO_RULE_APPLIED = 2; + + // Below are for value-rule-applied conversions: + // The original stats. + ORIGINAL = 3; + + // When a new or returning customer condition is satisfied. + NEW_VS_RETURNING_USER = 4; + + // When a query-time Geo location condition is satisfied. + GEO_LOCATION = 5; + + // When a query-time browsing device condition is satisfied. + DEVICE = 6; + + // When a query-time audience condition is satisfied. + AUDIENCE = 7; + + // When multiple rules are applied. + MULTIPLE = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_set_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_set_status.proto new file mode 100644 index 000000000..b4efd7786 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_set_status.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion value rule set status. + +// Container for enum describing possible statuses of a conversion value rule +// set. +message ConversionValueRuleSetStatusEnum { + // Possible statuses of a conversion value rule set. + enum ConversionValueRuleSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion Value Rule Set is enabled and can be applied. + ENABLED = 2; + + // Conversion Value Rule Set is permanently deleted and can't be applied. + REMOVED = 3; + + // Conversion Value Rule Set is paused and won't be applied. It can be + // enabled again. + PAUSED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_status.proto new file mode 100644 index 000000000..860893aa5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/conversion_value_rule_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion value rule status. + +// Container for enum describing possible statuses of a conversion value rule. +message ConversionValueRuleStatusEnum { + // Possible statuses of a conversion value rule. + enum ConversionValueRuleStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion Value Rule is enabled and can be applied. + ENABLED = 2; + + // Conversion Value Rule is permanently deleted and can't be applied. + REMOVED = 3; + + // Conversion Value Rule is paused, but can be re-enabled. + PAUSED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto b/third_party/googleapis/google/ads/googleads/v16/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto new file mode 100644 index 000000000..4dace4b51 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConvertingUserPriorEngagementTypeAndLtvBucketProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing converting user prior engagement types and lifetime +// value bucket. + +// Container for enumeration of converting user prior engagement types and +// lifetime-value bucket. +message ConvertingUserPriorEngagementTypeAndLtvBucketEnum { + // Enumerates converting user prior engagement types and lifetime-value bucket + enum ConvertingUserPriorEngagementTypeAndLtvBucket { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Converting user is new to the advertiser. + NEW = 2; + + // Converting user is returning to the advertiser. Definition of returning + // differs among conversion types, such as a second store visit versus a + // second online purchase. + RETURNING = 3; + + // Converting user is new to the advertiser and has high lifetime value. + NEW_AND_HIGH_LTV = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/criterion_category_channel_availability_mode.proto b/third_party/googleapis/google/ads/googleads/v16/enums/criterion_category_channel_availability_mode.proto new file mode 100644 index 000000000..719a96ca8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/criterion_category_channel_availability_mode.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the criterion category channel availability mode. + +// Describes channel availability mode for a criterion availability - whether +// the availability is meant to include all advertising channels, or a +// particular channel with all its channel subtypes, or a channel with a certain +// subset of channel subtypes. +message CriterionCategoryChannelAvailabilityModeEnum { + // Enum containing the possible CriterionCategoryChannelAvailabilityMode. + enum CriterionCategoryChannelAvailabilityMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is available to campaigns of all channel types and subtypes. + ALL_CHANNELS = 2; + + // The category is available to campaigns of a specific channel type, + // including all subtypes under it. + CHANNEL_TYPE_AND_ALL_SUBTYPES = 3; + + // The category is available to campaigns of a specific channel type and + // subtype(s). + CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/criterion_category_locale_availability_mode.proto b/third_party/googleapis/google/ads/googleads/v16/enums/criterion_category_locale_availability_mode.proto new file mode 100644 index 000000000..1e8f46552 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/criterion_category_locale_availability_mode.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the criterion category locale availability mode. + +// Describes locale availability mode for a criterion availability - whether +// it's available globally, or a particular country with all languages, or a +// particular language with all countries, or a country-language pair. +message CriterionCategoryLocaleAvailabilityModeEnum { + // Enum containing the possible CriterionCategoryLocaleAvailabilityMode. + enum CriterionCategoryLocaleAvailabilityMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is available to campaigns of all locales. + ALL_LOCALES = 2; + + // The category is available to campaigns within a list of countries, + // regardless of language. + COUNTRY_AND_ALL_LANGUAGES = 3; + + // The category is available to campaigns within a list of languages, + // regardless of country. + LANGUAGE_AND_ALL_COUNTRIES = 4; + + // The category is available to campaigns within a list of country, language + // pairs. + COUNTRY_AND_LANGUAGE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/criterion_system_serving_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/criterion_system_serving_status.proto new file mode 100644 index 000000000..20072dbc4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/criterion_system_serving_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionSystemServingStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible criterion system serving statuses. +message CriterionSystemServingStatusEnum { + // Enumerates criterion system serving statuses. + enum CriterionSystemServingStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Eligible. + ELIGIBLE = 2; + + // Low search volume. + RARELY_SERVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/criterion_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/criterion_type.proto new file mode 100644 index 000000000..64f7a1979 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/criterion_type.proto @@ -0,0 +1,157 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing criteria types. + +// The possible types of a criterion. +message CriterionTypeEnum { + // Enum describing possible criterion types. + enum CriterionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Keyword, for example, 'mars cruise'. + KEYWORD = 2; + + // Placement, also known as Website, for example, 'www.flowers4sale.com' + PLACEMENT = 3; + + // Mobile application categories to target. + MOBILE_APP_CATEGORY = 4; + + // Mobile applications to target. + MOBILE_APPLICATION = 5; + + // Devices to target. + DEVICE = 6; + + // Locations to target. + LOCATION = 7; + + // Listing groups to target. + LISTING_GROUP = 8; + + // Ad Schedule. + AD_SCHEDULE = 9; + + // Age range. + AGE_RANGE = 10; + + // Gender. + GENDER = 11; + + // Income Range. + INCOME_RANGE = 12; + + // Parental status. + PARENTAL_STATUS = 13; + + // YouTube Video. + YOUTUBE_VIDEO = 14; + + // YouTube Channel. + YOUTUBE_CHANNEL = 15; + + // User list. + USER_LIST = 16; + + // Proximity. + PROXIMITY = 17; + + // A topic target on the display network (for example, "Pets & Animals"). + TOPIC = 18; + + // Listing scope to target. + LISTING_SCOPE = 19; + + // Language. + LANGUAGE = 20; + + // IpBlock. + IP_BLOCK = 21; + + // Content Label for category exclusion. + CONTENT_LABEL = 22; + + // Carrier. + CARRIER = 23; + + // A category the user is interested in. + USER_INTEREST = 24; + + // Webpage criterion for dynamic search ads. + WEBPAGE = 25; + + // Operating system version. + OPERATING_SYSTEM_VERSION = 26; + + // App payment model. + APP_PAYMENT_MODEL = 27; + + // Mobile device. + MOBILE_DEVICE = 28; + + // Custom affinity. + CUSTOM_AFFINITY = 29; + + // Custom intent. + CUSTOM_INTENT = 30; + + // Location group. + LOCATION_GROUP = 31; + + // Custom audience + CUSTOM_AUDIENCE = 32; + + // Combined audience + COMBINED_AUDIENCE = 33; + + // Smart Campaign keyword theme + KEYWORD_THEME = 34; + + // Audience + AUDIENCE = 35; + + // Negative Keyword List + NEGATIVE_KEYWORD_LIST = 36; + + // Local Services Ads Service ID. + LOCAL_SERVICE_ID = 37; + + // Search Theme. + SEARCH_THEME = 38; + + // Brand + BRAND = 39; + + // Brand List + BRAND_LIST = 40; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_member_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_member_type.proto new file mode 100644 index 000000000..53d7fd027 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_member_type.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceMemberTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing custom audience member type. + +// The type of custom audience member. +message CustomAudienceMemberTypeEnum { + // Enum containing possible custom audience member types. + enum CustomAudienceMemberType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Users whose interests or actions are described by a keyword. + KEYWORD = 2; + + // Users who have interests related to the website's content. + URL = 3; + + // Users who visit place types described by a place category. + PLACE_CATEGORY = 4; + + // Users who have installed a mobile app. + APP = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_status.proto new file mode 100644 index 000000000..609829e8b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_status.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing custom audience status. + +// The status of custom audience. +message CustomAudienceStatusEnum { + // Enum containing possible custom audience statuses. + enum CustomAudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - custom audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - custom audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_type.proto new file mode 100644 index 000000000..1d6ec012e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/custom_audience_type.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing custom audience type. + +// The types of custom audience. +message CustomAudienceTypeEnum { + // Enum containing possible custom audience types. + enum CustomAudienceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Google Ads will auto-select the best interpretation at serving + // time. + AUTO = 2; + + // Matches users by their interests. + INTEREST = 3; + + // Matches users by topics they are researching or products they are + // considering for purchase. + PURCHASE_INTENT = 4; + + // Matches users by what they searched on Google Search. + SEARCH = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/custom_conversion_goal_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/custom_conversion_goal_status.proto new file mode 100644 index 000000000..029282f6f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/custom_conversion_goal_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing custom conversion goal status. + +// Container for enum describing possible statuses of a custom conversion goal. +message CustomConversionGoalStatusEnum { + // The possible statuses of a custom conversion goal. + enum CustomConversionGoalStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The custom conversion goal is enabled. + ENABLED = 2; + + // The custom conversion goal is removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_member_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_member_type.proto new file mode 100644 index 000000000..b16f428c6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_member_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestMemberTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing custom interest member type. + +// The types of custom interest member, either KEYWORD or URL. +message CustomInterestMemberTypeEnum { + // Enum containing possible custom interest member types. + enum CustomInterestMemberType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Custom interest member type KEYWORD. + KEYWORD = 2; + + // Custom interest member type URL. + URL = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_status.proto new file mode 100644 index 000000000..f714829d5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_status.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing custom interest status. + +// The status of custom interest. +message CustomInterestStatusEnum { + // Enum containing possible custom interest types. + enum CustomInterestStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - custom interest is enabled and can be targeted to. + ENABLED = 2; + + // Removed status - custom interest is removed and cannot be used for + // targeting. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_type.proto new file mode 100644 index 000000000..beaf2e885 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/custom_interest_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing custom interest type. + +// The types of custom interest. +message CustomInterestTypeEnum { + // Enum containing possible custom interest types. + enum CustomInterestType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Allows brand advertisers to define custom affinity audience lists. + CUSTOM_AFFINITY = 2; + + // Allows advertisers to define custom intent audience lists. + CUSTOM_INTENT = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/custom_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/custom_placeholder_field.proto new file mode 100644 index 000000000..9299b98bf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/custom_placeholder_field.proto @@ -0,0 +1,125 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Custom placeholder fields. + +// Values for Custom placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message CustomPlaceholderFieldEnum { + // Possible values for Custom placeholder fields. + enum CustomPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Combination ID and ID2 must be unique per + // offer. + ID = 2; + + // Data Type: STRING. Combination ID and ID2 must be unique per offer. + ID2 = 3; + + // Data Type: STRING. Required. Main headline with product name to be shown + // in dynamic ad. + ITEM_TITLE = 4; + + // Data Type: STRING. Optional text to be shown in the image ad. + ITEM_SUBTITLE = 5; + + // Data Type: STRING. Optional description of the product to be shown in the + // ad. + ITEM_DESCRIPTION = 6; + + // Data Type: STRING. Full address of your offer or service, including + // postal code. This will be used to identify the closest product to the + // user when there are multiple offers in the feed that are relevant to the + // user. + ITEM_ADDRESS = 7; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 8; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 9; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 10; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 11; + + // Data Type: URL. Image to be displayed in the ad. Highly recommended for + // image ads. + IMAGE_URL = 12; + + // Data Type: STRING. Used as a recommendation engine signal to serve items + // in the same category. + ITEM_CATEGORY = 13; + + // Data Type: URL_LIST. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific product for ads that have multiple + // products. + FINAL_URLS = 14; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 15; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 16; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended IDs to show together with + // this item. + SIMILAR_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/customer_acquisition_optimization_mode.proto b/third_party/googleapis/google/ads/googleads/v16/enums/customer_acquisition_optimization_mode.proto new file mode 100644 index 000000000..0882522dd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/customer_acquisition_optimization_mode.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAcquisitionOptimizationModeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing customer acquisition goal optimization mode. + +// Container for enum describing possible optimization mode of a customer +// acquisition goal of a campaign. +message CustomerAcquisitionOptimizationModeEnum { + // Possible optimization mode of a customer acquisition goal. + enum CustomerAcquisitionOptimizationMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The mode is used when campaign is optimizing equally for existing and new + // customers, which is the default value. + TARGET_ALL_EQUALLY = 2; + + // The mode is used when campaign is bidding higher for new customers than + // existing customer. + BID_HIGHER_FOR_NEW_CUSTOMER = 3; + + // The mode is used when campaign is only optimizing for new customers. + TARGET_NEW_CUSTOMER = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/customer_match_upload_key_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/customer_match_upload_key_type.proto new file mode 100644 index 000000000..af5c61115 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/customer_match_upload_key_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Indicates what type of data are the user list's members matched from. +message CustomerMatchUploadKeyTypeEnum { + // Enum describing possible customer match upload key types. + enum CustomerMatchUploadKeyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Members are matched from customer info such as email address, phone + // number or physical address. + CONTACT_INFO = 2; + + // Members are matched from a user id generated and assigned by the + // advertiser. + CRM_ID = 3; + + // Members are matched from mobile advertising ids. + MOBILE_ADVERTISING_ID = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/customer_pay_per_conversion_eligibility_failure_reason.proto new file mode 100644 index 000000000..e3fad883a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/customer_pay_per_conversion_eligibility_failure_reason.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing pay per conversion eligibility failure reasons. + +// Container for enum describing reasons why a customer is not eligible to use +// PaymentMode.CONVERSIONS. +message CustomerPayPerConversionEligibilityFailureReasonEnum { + // Enum describing possible reasons a customer is not eligible to use + // PaymentMode.CONVERSIONS. + enum CustomerPayPerConversionEligibilityFailureReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Customer does not have enough conversions. + NOT_ENOUGH_CONVERSIONS = 2; + + // Customer's conversion lag is too high. + CONVERSION_LAG_TOO_HIGH = 3; + + // Customer uses shared budgets. + HAS_CAMPAIGN_WITH_SHARED_BUDGET = 4; + + // Customer has conversions with ConversionActionType.UPLOAD_CLICKS. + HAS_UPLOAD_CLICKS_CONVERSION = 5; + + // Customer's average daily spend is too high. + AVERAGE_DAILY_SPEND_TOO_HIGH = 6; + + // Customer's eligibility has not yet been calculated by the Google Ads + // backend. Check back soon. + ANALYSIS_NOT_COMPLETE = 7; + + // Customer is not eligible due to other reasons. + OTHER = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/customer_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/customer_status.proto new file mode 100644 index 000000000..09a9f0d15 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/customer_status.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing possible statuses of a customer. +message CustomerStatusEnum { + // Possible statuses of a customer. + enum CustomerStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates an active account able to serve ads. + ENABLED = 2; + + // Indicates a canceled account unable to serve ads. + // Can be reactivated by an admin user. + CANCELED = 3; + + // Indicates a suspended account unable to serve ads. + // May only be activated by Google support. + SUSPENDED = 4; + + // Indicates a closed account unable to serve ads. + // Test account will also have CLOSED status. + // Status is permanent and may not be reopened. + CLOSED = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/customizer_attribute_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/customizer_attribute_status.proto new file mode 100644 index 000000000..6a4ef50c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/customizer_attribute_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing customizer attribute status. + +// Container for enum describing possible statuses of a customizer attribute. +message CustomizerAttributeStatusEnum { + // The possible statuses of a customizer attribute. + enum CustomizerAttributeStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The customizer attribute is enabled. + ENABLED = 2; + + // The customizer attribute is removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/customizer_attribute_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/customizer_attribute_type.proto new file mode 100644 index 000000000..ad9359757 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/customizer_attribute_type.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing customizer attribute type. + +// Container for enum describing possible types of a customizer attribute. +message CustomizerAttributeTypeEnum { + // The possible types of a customizer attribute. + enum CustomizerAttributeType { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // Text customizer. + TEXT = 2; + + // Number customizer. + NUMBER = 3; + + // Price customizer consisting of a number and a currency. + PRICE = 4; + + // Percentage customizer consisting of a number and a '%'. + PERCENT = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/customizer_value_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/customizer_value_status.proto new file mode 100644 index 000000000..d861e7372 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/customizer_value_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing customizer value status. + +// Container for enum describing possible statuses of a customizer value. +message CustomizerValueStatusEnum { + // The possible statuses of a customizer value. + enum CustomizerValueStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The customizer value is enabled. + ENABLED = 2; + + // The customizer value is removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/data_driven_model_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/data_driven_model_status.proto new file mode 100644 index 000000000..7180e17b5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/data_driven_model_status.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DataDrivenModelStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing data-driven model status. + +// Container for enum indicating data driven model status. +message DataDrivenModelStatusEnum { + // Enumerates data driven model statuses. + enum DataDrivenModelStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The data driven model is available. + AVAILABLE = 2; + + // The data driven model is stale. It hasn't been updated for at least 7 + // days. It is still being used, but will become expired if it does not get + // updated for 30 days. + STALE = 3; + + // The data driven model expired. It hasn't been updated for at least 30 + // days and cannot be used. Most commonly this is because there hasn't been + // the required number of events in a recent 30-day period. + EXPIRED = 4; + + // The data driven model has never been generated. Most commonly this is + // because there has never been the required number of events in any 30-day + // period. + NEVER_GENERATED = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/day_of_week.proto b/third_party/googleapis/google/ads/googleads/v16/enums/day_of_week.proto new file mode 100644 index 000000000..9cfbe7936 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/day_of_week.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of days of the week, for example, "Monday". +message DayOfWeekEnum { + // Enumerates days of the week, for example, "Monday". + enum DayOfWeek { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Monday. + MONDAY = 2; + + // Tuesday. + TUESDAY = 3; + + // Wednesday. + WEDNESDAY = 4; + + // Thursday. + THURSDAY = 5; + + // Friday. + FRIDAY = 6; + + // Saturday. + SATURDAY = 7; + + // Sunday. + SUNDAY = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/device.proto b/third_party/googleapis/google/ads/googleads/v16/enums/device.proto new file mode 100644 index 000000000..fc81c64a3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/device.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DeviceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing devices. + +// Container for enumeration of Google Ads devices available for targeting. +message DeviceEnum { + // Enumerates Google Ads devices available for targeting. + enum Device { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Mobile devices with full browsers. + MOBILE = 2; + + // Tablets with full browsers. + TABLET = 3; + + // Computers. + DESKTOP = 4; + + // Smart TVs and game consoles. + CONNECTED_TV = 6; + + // Other device types. + OTHER = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/display_ad_format_setting.proto b/third_party/googleapis/google/ads/googleads/v16/enums/display_ad_format_setting.proto new file mode 100644 index 000000000..4ae2cb31c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/display_ad_format_setting.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayAdFormatSettingProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing display ad format settings. + +// Container for display ad format settings. +message DisplayAdFormatSettingEnum { + // Enumerates display ad format settings. + enum DisplayAdFormatSetting { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Text, image and native formats. + ALL_FORMATS = 2; + + // Text and image formats. + NON_NATIVE = 3; + + // Native format, for example, the format rendering is controlled by the + // publisher and not by Google. + NATIVE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/display_upload_product_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/display_upload_product_type.proto new file mode 100644 index 000000000..2e9054dc7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/display_upload_product_type.proto @@ -0,0 +1,93 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayUploadProductTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing display upload product types. + +// Container for display upload product types. Product types that have the word +// "DYNAMIC" in them must be associated with a campaign that has a dynamic +// remarketing feed. See https://support.google.com/google-ads/answer/6053288 +// for more info about dynamic remarketing. Other product types are regarded +// as "static" and do not have this requirement. +message DisplayUploadProductTypeEnum { + // Enumerates display upload product types. + enum DisplayUploadProductType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // HTML5 upload ad. This product type requires the upload_media_bundle + // field in DisplayUploadAdInfo to be set. + HTML5_UPLOAD_AD = 2; + + // Dynamic HTML5 education ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in an education campaign. + DYNAMIC_HTML5_EDUCATION_AD = 3; + + // Dynamic HTML5 flight ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a flight campaign. + DYNAMIC_HTML5_FLIGHT_AD = 4; + + // Dynamic HTML5 hotel and rental ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a hotel campaign. + DYNAMIC_HTML5_HOTEL_RENTAL_AD = 5; + + // Dynamic HTML5 job ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a job campaign. + DYNAMIC_HTML5_JOB_AD = 6; + + // Dynamic HTML5 local ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a local campaign. + DYNAMIC_HTML5_LOCAL_AD = 7; + + // Dynamic HTML5 real estate ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a real estate campaign. + DYNAMIC_HTML5_REAL_ESTATE_AD = 8; + + // Dynamic HTML5 custom ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a custom campaign. + DYNAMIC_HTML5_CUSTOM_AD = 9; + + // Dynamic HTML5 travel ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a travel campaign. + DYNAMIC_HTML5_TRAVEL_AD = 10; + + // Dynamic HTML5 hotel ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a hotel campaign. + DYNAMIC_HTML5_HOTEL_AD = 11; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/distance_bucket.proto b/third_party/googleapis/google/ads/googleads/v16/enums/distance_bucket.proto new file mode 100644 index 000000000..c831e08df --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/distance_bucket.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DistanceBucketProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing distance buckets. + +// Container for distance buckets of a user's distance from an advertiser's +// location extension. +message DistanceBucketEnum { + // The distance bucket for a user's distance from an advertiser's location + // extension. + enum DistanceBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // User was within 700m of the location. + WITHIN_700M = 2; + + // User was within 1KM of the location. + WITHIN_1KM = 3; + + // User was within 5KM of the location. + WITHIN_5KM = 4; + + // User was within 10KM of the location. + WITHIN_10KM = 5; + + // User was within 15KM of the location. + WITHIN_15KM = 6; + + // User was within 20KM of the location. + WITHIN_20KM = 7; + + // User was within 25KM of the location. + WITHIN_25KM = 8; + + // User was within 30KM of the location. + WITHIN_30KM = 9; + + // User was within 35KM of the location. + WITHIN_35KM = 10; + + // User was within 40KM of the location. + WITHIN_40KM = 11; + + // User was within 45KM of the location. + WITHIN_45KM = 12; + + // User was within 50KM of the location. + WITHIN_50KM = 13; + + // User was within 55KM of the location. + WITHIN_55KM = 14; + + // User was within 60KM of the location. + WITHIN_60KM = 15; + + // User was within 65KM of the location. + WITHIN_65KM = 16; + + // User was beyond 65KM of the location. + BEYOND_65KM = 17; + + // User was within 0.7 miles of the location. + WITHIN_0_7MILES = 18; + + // User was within 1 mile of the location. + WITHIN_1MILE = 19; + + // User was within 5 miles of the location. + WITHIN_5MILES = 20; + + // User was within 10 miles of the location. + WITHIN_10MILES = 21; + + // User was within 15 miles of the location. + WITHIN_15MILES = 22; + + // User was within 20 miles of the location. + WITHIN_20MILES = 23; + + // User was within 25 miles of the location. + WITHIN_25MILES = 24; + + // User was within 30 miles of the location. + WITHIN_30MILES = 25; + + // User was within 35 miles of the location. + WITHIN_35MILES = 26; + + // User was within 40 miles of the location. + WITHIN_40MILES = 27; + + // User was beyond 40 miles of the location. + BEYOND_40MILES = 28; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/dsa_page_feed_criterion_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/dsa_page_feed_criterion_field.proto new file mode 100644 index 000000000..bd0b96329 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/dsa_page_feed_criterion_field.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DsaPageFeedCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Dynamic Search Ad Page Feed criterion fields. + +// Values for Dynamic Search Ad Page Feed criterion fields. +message DsaPageFeedCriterionFieldEnum { + // Possible values for Dynamic Search Ad Page Feed criterion fields. + enum DsaPageFeedCriterionField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: URL or URL_LIST. URL of the web page you want to target. + PAGE_URL = 2; + + // Data Type: STRING_LIST. The labels that will help you target ads within + // your page feed. + LABEL = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/education_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/education_placeholder_field.proto new file mode 100644 index 000000000..156e2340f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/education_placeholder_field.proto @@ -0,0 +1,107 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "EducationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Education placeholder fields. + +// Values for Education placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message EducationPlaceholderFieldEnum { + // Possible values for Education placeholder fields. + enum EducationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Combination of PROGRAM ID and LOCATION ID + // must be unique per offer. + PROGRAM_ID = 2; + + // Data Type: STRING. Combination of PROGRAM ID and LOCATION ID must be + // unique per offer. + LOCATION_ID = 3; + + // Data Type: STRING. Required. Main headline with program name to be shown + // in dynamic ad. + PROGRAM_NAME = 4; + + // Data Type: STRING. Area of study that can be shown in dynamic ad. + AREA_OF_STUDY = 5; + + // Data Type: STRING. Description of program that can be shown in dynamic + // ad. + PROGRAM_DESCRIPTION = 6; + + // Data Type: STRING. Name of school that can be shown in dynamic ad. + SCHOOL_NAME = 7; + + // Data Type: STRING. Complete school address, including postal code. + ADDRESS = 8; + + // Data Type: URL. Image to be displayed in ads. + THUMBNAIL_IMAGE_URL = 9; + + // Data Type: URL. Alternative hosted file of image to be used in the ad. + ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (for example, the individual + // URL of a specific program and its location). + FINAL_URLS = 11; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 12; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 13; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 14; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 15; + + // Data Type: STRING_LIST. List of recommended program IDs to show together + // with this item. + SIMILAR_PROGRAM_IDS = 16; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 17; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 18; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/experiment_metric.proto b/third_party/googleapis/google/ads/googleads/v16/enums/experiment_metric.proto new file mode 100644 index 000000000..1ae0d5bd1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/experiment_metric.proto @@ -0,0 +1,79 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing experiment metric. + +// Container for enum describing the type of experiment metric. +message ExperimentMetricEnum { + // The type of experiment metric. + enum ExperimentMetric { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The goal of the experiment is clicks. + CLICKS = 2; + + // The goal of the experiment is impressions. + IMPRESSIONS = 3; + + // The goal of the experiment is cost. + COST = 4; + + // The goal of the experiment is conversion rate. + CONVERSIONS_PER_INTERACTION_RATE = 5; + + // The goal of the experiment is cost per conversion. + COST_PER_CONVERSION = 6; + + // The goal of the experiment is conversion value per cost. + CONVERSIONS_VALUE_PER_COST = 7; + + // The goal of the experiment is avg cpc. + AVERAGE_CPC = 8; + + // The goal of the experiment is ctr. + CTR = 9; + + // The goal of the experiment is incremental conversions. + INCREMENTAL_CONVERSIONS = 10; + + // The goal of the experiment is completed video views. + COMPLETED_VIDEO_VIEWS = 11; + + // The goal of the experiment is custom algorithms. + CUSTOM_ALGORITHMS = 12; + + // The goal of the experiment is conversions. + CONVERSIONS = 13; + + // The goal of the experiment is conversion value. + CONVERSION_VALUE = 14; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/experiment_metric_direction.proto b/third_party/googleapis/google/ads/googleads/v16/enums/experiment_metric_direction.proto new file mode 100644 index 000000000..2d093fbd5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/experiment_metric_direction.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricDirectionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing experiment metric direction. + +// Container for enum describing the type of experiment metric direction. +message ExperimentMetricDirectionEnum { + // The type of experiment metric direction. + enum ExperimentMetricDirection { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The goal of the experiment is to not change the metric. + NO_CHANGE = 2; + + // The goal of the experiment is to increate the metric. + INCREASE = 3; + + // The goal of the experiment is to decrease the metric. + DECREASE = 4; + + // The goal of the experiment is to either not change or increase the + // metric. + NO_CHANGE_OR_INCREASE = 5; + + // The goal of the experiment is to either not change or decrease the + // metric. + NO_CHANGE_OR_DECREASE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/experiment_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/experiment_status.proto new file mode 100644 index 000000000..648df88ad --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/experiment_status.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing experiment status. + +// Container for enum describing the experiment status. +message ExperimentStatusEnum { + // The status of the experiment. + enum ExperimentStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The experiment is enabled. + ENABLED = 2; + + // The experiment has been removed. + REMOVED = 3; + + // The experiment has been halted. + // This status can be set from ENABLED status through API. + HALTED = 4; + + // The experiment will be promoted out of experimental status. + PROMOTED = 5; + + // Initial status of the experiment. + SETUP = 6; + + // The experiment's campaigns are pending materialization. + // This status can be set from SETUP status through API. + INITIATED = 7; + + // The experiment has been graduated. + GRADUATED = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/experiment_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/experiment_type.proto new file mode 100644 index 000000000..e50bb39a3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/experiment_type.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing experiment type. + +// Container for enum describing the type of experiment. +message ExperimentTypeEnum { + // The type of the experiment. + enum ExperimentType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // This is a DISPLAY_AND_VIDEO_360 experiment. + DISPLAY_AND_VIDEO_360 = 2; + + // This is an ad variation experiment. + AD_VARIATION = 3; + + // A custom experiment consisting of Video campaigns. + YOUTUBE_CUSTOM = 5; + + // A custom experiment consisting of display campaigns. + DISPLAY_CUSTOM = 6; + + // A custom experiment consisting of search campaigns. + SEARCH_CUSTOM = 7; + + // An experiment that compares bidding strategies for display campaigns. + DISPLAY_AUTOMATED_BIDDING_STRATEGY = 8; + + // An experiment that compares bidding strategies for search campaigns." + SEARCH_AUTOMATED_BIDDING_STRATEGY = 9; + + // An experiment that compares bidding strategies for shopping campaigns. + SHOPPING_AUTOMATED_BIDDING_STRATEGY = 10; + + // DEPRECATED. A smart matching experiment with search campaigns. + SMART_MATCHING = 11; + + // A custom experiment consisting of hotel campaigns. + HOTEL_CUSTOM = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/extension_setting_device.proto b/third_party/googleapis/google/ads/googleads/v16/enums/extension_setting_device.proto new file mode 100644 index 000000000..1b0e4f6e8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/extension_setting_device.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingDeviceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing extension setting device type. + +// Container for enum describing extension setting device types. +message ExtensionSettingDeviceEnum { + // Possible device types for an extension setting. + enum ExtensionSettingDevice { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Mobile. The extensions in the extension setting will only serve on + // mobile devices. + MOBILE = 2; + + // Desktop. The extensions in the extension setting will only serve on + // desktop devices. + DESKTOP = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/extension_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/extension_type.proto new file mode 100644 index 000000000..f504f1ea5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/extension_type.proto @@ -0,0 +1,80 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing extension type. + +// Container for enum describing possible data types for an extension in an +// extension setting. +message ExtensionTypeEnum { + // Possible data types for an extension in an extension setting. + enum ExtensionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // None. + NONE = 2; + + // App. + APP = 3; + + // Call. + CALL = 4; + + // Callout. + CALLOUT = 5; + + // Message. + MESSAGE = 6; + + // Price. + PRICE = 7; + + // Promotion. + PROMOTION = 8; + + // Sitelink. + SITELINK = 10; + + // Structured snippet. + STRUCTURED_SNIPPET = 11; + + // Location. + LOCATION = 12; + + // Affiliate location. + AFFILIATE_LOCATION = 13; + + // Hotel callout + HOTEL_CALLOUT = 15; + + // Image. + IMAGE = 16; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/external_conversion_source.proto b/third_party/googleapis/google/ads/googleads/v16/enums/external_conversion_source.proto new file mode 100644 index 000000000..d90c04f9e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/external_conversion_source.proto @@ -0,0 +1,151 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExternalConversionSourceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the external conversion source that is +// associated with a ConversionAction. +message ExternalConversionSourceEnum { + // The external conversion source that is associated with a ConversionAction. + enum ExternalConversionSource { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion that occurs when a user navigates to a particular webpage + // after viewing an ad; Displayed in Google Ads UI as 'Website'. + WEBPAGE = 2; + + // Conversion that comes from linked Google Analytics goal or transaction; + // Displayed in Google Ads UI as 'Analytics'. + ANALYTICS = 3; + + // Website conversion that is uploaded through ConversionUploadService; + // Displayed in Google Ads UI as 'Import from clicks'. + UPLOAD = 4; + + // Conversion that occurs when a user clicks on a call extension directly on + // an ad; Displayed in Google Ads UI as 'Calls from ads'. + AD_CALL_METRICS = 5; + + // Conversion that occurs when a user calls a dynamically-generated phone + // number (by installed javascript) from an advertiser's website after + // clicking on an ad; Displayed in Google Ads UI as 'Calls from website'. + WEBSITE_CALL_METRICS = 6; + + // Conversion that occurs when a user visits an advertiser's retail store + // after clicking on a Google ad; + // Displayed in Google Ads UI as 'Store visits'. + STORE_VISITS = 7; + + // Conversion that occurs when a user takes an in-app action such as a + // purchase in an Android app; + // Displayed in Google Ads UI as 'Android in-app action'. + ANDROID_IN_APP = 8; + + // Conversion that occurs when a user takes an in-app action such as a + // purchase in an iOS app; + // Displayed in Google Ads UI as 'iOS in-app action'. + IOS_IN_APP = 9; + + // Conversion that occurs when a user opens an iOS app for the first time; + // Displayed in Google Ads UI as 'iOS app install (first open)'. + IOS_FIRST_OPEN = 10; + + // Legacy app conversions that do not have an AppPlatform provided; + // Displayed in Google Ads UI as 'Mobile app'. + APP_UNSPECIFIED = 11; + + // Conversion that occurs when a user opens an Android app for the first + // time; Displayed in Google Ads UI as 'Android app install (first open)'. + ANDROID_FIRST_OPEN = 12; + + // Call conversion that is uploaded through ConversionUploadService; + // Displayed in Google Ads UI as 'Import from calls'. + UPLOAD_CALLS = 13; + + // Conversion that comes from a linked Firebase event; + // Displayed in Google Ads UI as 'Firebase'. + FIREBASE = 14; + + // Conversion that occurs when a user clicks on a mobile phone number; + // Displayed in Google Ads UI as 'Phone number clicks'. + CLICK_TO_CALL = 15; + + // Conversion that comes from Salesforce; + // Displayed in Google Ads UI as 'Salesforce.com'. + SALESFORCE = 16; + + // Conversion that comes from in-store purchases recorded by CRM; + // Displayed in Google Ads UI as 'Store sales (data partner)'. + STORE_SALES_CRM = 17; + + // Conversion that comes from in-store purchases from payment network; + // Displayed in Google Ads UI as 'Store sales (payment network)'. + STORE_SALES_PAYMENT_NETWORK = 18; + + // Codeless Google Play conversion; + // Displayed in Google Ads UI as 'Google Play'. + GOOGLE_PLAY = 19; + + // Conversion that comes from a linked third-party app analytics event; + // Displayed in Google Ads UI as 'Third-party app analytics'. + THIRD_PARTY_APP_ANALYTICS = 20; + + // Conversion that is controlled by Google Attribution. + GOOGLE_ATTRIBUTION = 21; + + // Store Sales conversion based on first-party or third-party merchant data + // uploads. Displayed in Google Ads UI as 'Store sales (direct upload)'. + STORE_SALES_DIRECT_UPLOAD = 23; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads and/or from in-store purchases using cards from payment + // networks. Displayed in Google Ads UI as 'Store sales'. + STORE_SALES = 24; + + // Conversions imported from Search Ads 360 Floodlight data. + SEARCH_ADS_360 = 25; + + // Conversions that track local actions from Google's products and services + // after interacting with an ad. + GOOGLE_HOSTED = 27; + + // Conversions reported by Floodlight tags. + FLOODLIGHT = 29; + + // Conversions that come from Google Analytics specifically for Search Ads + // 360. Displayed in Google Ads UI as Analytics (SA360). + ANALYTICS_SEARCH_ADS_360 = 31; + + // Conversion that comes from a linked Firebase event for Search Ads 360. + FIREBASE_SEARCH_ADS_360 = 33; + + // Conversion that is reported by Floodlight for DV360. + DISPLAY_AND_VIDEO_360_FLOODLIGHT = 34; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_attribute_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_attribute_type.proto new file mode 100644 index 000000000..9c398909c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_attribute_type.proto @@ -0,0 +1,79 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed attribute type. + +// Container for enum describing possible data types for a feed attribute. +message FeedAttributeTypeEnum { + // Possible data types for a feed attribute. + enum FeedAttributeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Int64. + INT64 = 2; + + // Double. + DOUBLE = 3; + + // String. + STRING = 4; + + // Boolean. + BOOLEAN = 5; + + // Url. + URL = 6; + + // Datetime. + DATE_TIME = 7; + + // Int64 list. + INT64_LIST = 8; + + // Double (8 bytes) list. + DOUBLE_LIST = 9; + + // String list. + STRING_LIST = 10; + + // Boolean list. + BOOLEAN_LIST = 11; + + // Url list. + URL_LIST = 12; + + // Datetime list. + DATE_TIME_LIST = 13; + + // Price. + PRICE = 14; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_quality_approval_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_quality_approval_status.proto new file mode 100644 index 000000000..9b91d019a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_quality_approval_status.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed item quality evaluation approval statuses. + +// Container for enum describing possible quality evaluation approval statuses +// of a feed item. +message FeedItemQualityApprovalStatusEnum { + // The possible quality evaluation approval statuses of a feed item. + enum FeedItemQualityApprovalStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Meets all quality expectations. + APPROVED = 2; + + // Does not meet some quality expectations. The specific reason is found in + // the quality_disapproval_reasons field. + DISAPPROVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_quality_disapproval_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_quality_disapproval_reason.proto new file mode 100644 index 000000000..52aaf39fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_quality_disapproval_reason.proto @@ -0,0 +1,95 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed item quality disapproval reasons. + +// Container for enum describing possible quality evaluation disapproval reasons +// of a feed item. +message FeedItemQualityDisapprovalReasonEnum { + // The possible quality evaluation disapproval reasons of a feed item. + enum FeedItemQualityDisapprovalReason { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Price contains repetitive headers. + PRICE_TABLE_REPETITIVE_HEADERS = 2; + + // Price contains repetitive description. + PRICE_TABLE_REPETITIVE_DESCRIPTION = 3; + + // Price contains inconsistent items. + PRICE_TABLE_INCONSISTENT_ROWS = 4; + + // Price contains qualifiers in description. + PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS = 5; + + // Price contains an unsupported language. + PRICE_UNSUPPORTED_LANGUAGE = 6; + + // Price item header is not relevant to the price type. + PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH = 7; + + // Price item header has promotional text. + PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT = 8; + + // Price item description is not relevant to the item header. + PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT = 9; + + // Price item description contains promotional text. + PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT = 10; + + // Price item header and description are repetitive. + PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE = 11; + + // Price item is in a foreign language, nonsense, or can't be rated. + PRICE_TABLE_ROW_UNRATEABLE = 12; + + // Price item price is invalid or inaccurate. + PRICE_TABLE_ROW_PRICE_INVALID = 13; + + // Price item URL is invalid or irrelevant. + PRICE_TABLE_ROW_URL_INVALID = 14; + + // Price item header or description has price. + PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE = 15; + + // Structured snippet values do not match the header. + STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED = 16; + + // Structured snippet values are repeated. + STRUCTURED_SNIPPETS_REPEATED_VALUES = 17; + + // Structured snippet values violate editorial guidelines like punctuation. + STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES = 18; + + // Structured snippet contain promotional text. + STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT = 19; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_set_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_set_status.proto new file mode 100644 index 000000000..7e3e848d8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_set_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed item set status. + +// Container for enum describing possible statuses of a feed item set. +message FeedItemSetStatusEnum { + // Possible statuses of a feed item set. + enum FeedItemSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item set is enabled. + ENABLED = 2; + + // Feed item set has been removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_set_string_filter_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_set_string_filter_type.proto new file mode 100644 index 000000000..83a2b8d31 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_set_string_filter_type.proto @@ -0,0 +1,41 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// The type of string matching to be used for a dynamic FeedItemSet filter. +message FeedItemSetStringFilterTypeEnum { + // describe the possible types for a FeedItemSetStringFilter. + enum FeedItemSetStringFilterType { + // Not specified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The dynamic set filter will use exact string matching. + EXACT = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_status.proto new file mode 100644 index 000000000..860f59bd6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed item status. + +// Container for enum describing possible statuses of a feed item. +message FeedItemStatusEnum { + // Possible statuses of a feed item. + enum FeedItemStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item is enabled. + ENABLED = 2; + + // Feed item has been removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_device.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_device.proto new file mode 100644 index 000000000..68a4cd19c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_device.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetDeviceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed item target device type. + +// Container for enum describing possible data types for a feed item target +// device. +message FeedItemTargetDeviceEnum { + // Possible data types for a feed item target device. + enum FeedItemTargetDevice { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile. + MOBILE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_status.proto new file mode 100644 index 000000000..168cdbcdf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed item target status. + +// Container for enum describing possible statuses of a feed item target. +message FeedItemTargetStatusEnum { + // Possible statuses of a feed item target. + enum FeedItemTargetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item target is enabled. + ENABLED = 2; + + // Feed item target has been removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_type.proto new file mode 100644 index 000000000..78ce58ad1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_target_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed item target type status. + +// Container for enum describing possible types of a feed item target. +message FeedItemTargetTypeEnum { + // Possible type of a feed item target. + enum FeedItemTargetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item targets a campaign. + CAMPAIGN = 2; + + // Feed item targets an ad group. + AD_GROUP = 3; + + // Feed item targets a criterion. + CRITERION = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_validation_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_validation_status.proto new file mode 100644 index 000000000..5c29e6fed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_item_validation_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed item validation statuses. + +// Container for enum describing possible validation statuses of a feed item. +message FeedItemValidationStatusEnum { + // The possible validation statuses of a feed item. + enum FeedItemValidationStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Validation pending. + PENDING = 2; + + // An error was found. + INVALID = 3; + + // Feed item is semantically well-formed. + VALID = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_link_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_link_status.proto new file mode 100644 index 000000000..61e4cf755 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_link_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedLinkStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing status of a feed link. + +// Container for an enum describing possible statuses of a feed link. +message FeedLinkStatusEnum { + // Possible statuses of a feed link. + enum FeedLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed link is enabled. + ENABLED = 2; + + // Feed link has been removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_mapping_criterion_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_mapping_criterion_type.proto new file mode 100644 index 000000000..c680844bd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_mapping_criterion_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingCriterionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing criterion types for feed mappings. + +// Container for enum describing possible criterion types for a feed mapping. +message FeedMappingCriterionTypeEnum { + // Possible placeholder types for a feed mapping. + enum FeedMappingCriterionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Allows campaign targeting at locations within a location feed. + LOCATION_EXTENSION_TARGETING = 4; + + // Allows url targeting for your dynamic search ads within a page feed. + DSA_PAGE_FEED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_mapping_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_mapping_status.proto new file mode 100644 index 000000000..8df7ffb87 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_mapping_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed mapping status. + +// Container for enum describing possible statuses of a feed mapping. +message FeedMappingStatusEnum { + // Possible statuses of a feed mapping. + enum FeedMappingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed mapping is enabled. + ENABLED = 2; + + // Feed mapping has been removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_origin.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_origin.proto new file mode 100644 index 000000000..a4f963595 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_origin.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedOriginProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed origin. + +// Container for enum describing possible values for a feed origin. +message FeedOriginEnum { + // Possible values for a feed origin. + enum FeedOrigin { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The FeedAttributes for this Feed are managed by the + // user. Users can add FeedAttributes to this Feed. + USER = 2; + + // The FeedAttributes for a GOOGLE Feed are created by Google. A feed of + // this type is maintained by Google and will have the correct attributes + // for the placeholder type of the feed. + GOOGLE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/feed_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/feed_status.proto new file mode 100644 index 000000000..26996abba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/feed_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed status. + +// Container for enum describing possible statuses of a feed. +message FeedStatusEnum { + // Possible statuses of a feed. + enum FeedStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed is enabled. + ENABLED = 2; + + // Feed has been removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/flight_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/flight_placeholder_field.proto new file mode 100644 index 000000000..6721deaa0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/flight_placeholder_field.proto @@ -0,0 +1,114 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FlightsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Flight placeholder fields. + +// Values for Flight placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message FlightPlaceholderFieldEnum { + // Possible values for Flight placeholder fields. + enum FlightPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Destination id. Example: PAR, LON. + // For feed items that only have destination id, destination id must be a + // unique key. For feed items that have both destination id and origin id, + // then the combination must be a unique key. + DESTINATION_ID = 2; + + // Data Type: STRING. Origin id. Example: PAR, LON. + // Optional. Combination of destination id and origin id must be unique per + // offer. + ORIGIN_ID = 3; + + // Data Type: STRING. Required. Main headline with product name to be shown + // in dynamic ad. + FLIGHT_DESCRIPTION = 4; + + // Data Type: STRING. Shorter names are recommended. + ORIGIN_NAME = 5; + + // Data Type: STRING. Shorter names are recommended. + DESTINATION_NAME = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + FLIGHT_PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + FLIGHT_SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific flight for ads that show multiple + // flights. + FINAL_URLS = 12; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 13; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 14; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 15; + + // Data Type: STRING_LIST. List of recommended destination IDs to show + // together with this item. + SIMILAR_DESTINATION_IDS = 16; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 17; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 18; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_event_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_event_type.proto new file mode 100644 index 000000000..fc8ee47a7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_event_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapEventTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the type of event that the cap applies to. +message FrequencyCapEventTypeEnum { + // The type of event that the cap applies to (for example, impression). + enum FrequencyCapEventType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The cap applies on ad impressions. + IMPRESSION = 2; + + // The cap applies on video ad views. + VIDEO_VIEW = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_level.proto b/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_level.proto new file mode 100644 index 000000000..283311807 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_level.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapLevelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the level on which the cap is to be applied. +message FrequencyCapLevelEnum { + // The level on which the cap is to be applied (e.g ad group ad, ad group). + // Cap is applied to all the resources of this level. + enum FrequencyCapLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The cap is applied at the ad group ad level. + AD_GROUP_AD = 2; + + // The cap is applied at the ad group level. + AD_GROUP = 3; + + // The cap is applied at the campaign level. + CAMPAIGN = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_time_unit.proto b/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_time_unit.proto new file mode 100644 index 000000000..09482ce47 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/frequency_cap_time_unit.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapTimeUnitProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the unit of time the cap is defined at. +message FrequencyCapTimeUnitEnum { + // Unit of time the cap is defined at (for example, day, week). + enum FrequencyCapTimeUnit { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The cap would define limit per one day. + DAY = 2; + + // The cap would define limit per one week. + WEEK = 3; + + // The cap would define limit per one month. + MONTH = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/gender_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/gender_type.proto new file mode 100644 index 000000000..5cf2fcd5b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/gender_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GenderTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing gender types. + +// Container for enum describing the type of demographic genders. +message GenderTypeEnum { + // The type of demographic genders (for example, female). + enum GenderType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Male. + MALE = 10; + + // Female. + FEMALE = 11; + + // Undetermined gender. + UNDETERMINED = 20; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/geo_target_constant_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/geo_target_constant_status.proto new file mode 100644 index 000000000..1694d6a32 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/geo_target_constant_status.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing geo target constant statuses. + +// Container for describing the status of a geo target constant. +message GeoTargetConstantStatusEnum { + // The possible statuses of a geo target constant. + enum GeoTargetConstantStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The geo target constant is valid. + ENABLED = 2; + + // The geo target constant is obsolete and will be removed. + REMOVAL_PLANNED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/geo_targeting_restriction.proto b/third_party/googleapis/google/ads/googleads/v16/enums/geo_targeting_restriction.proto new file mode 100644 index 000000000..f437bda91 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/geo_targeting_restriction.proto @@ -0,0 +1,45 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingRestrictionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing GeoTargetingRestriction. + +// Message describing feed item geo targeting restriction. +message GeoTargetingRestrictionEnum { + // A restriction used to determine if the request context's + // geo should be matched. + enum GeoTargetingRestriction { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates that request context should match the physical location of + // the user. + LOCATION_OF_PRESENCE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/geo_targeting_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/geo_targeting_type.proto new file mode 100644 index 000000000..4d3e1c1d4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/geo_targeting_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing geo targeting types. + +// Container for enum describing possible geo targeting types. +message GeoTargetingTypeEnum { + // The possible geo targeting types. + enum GeoTargetingType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Location the user is interested in while making the query. + AREA_OF_INTEREST = 2; + + // Location of the user issuing the query. + LOCATION_OF_PRESENCE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/goal_config_level.proto b/third_party/googleapis/google/ads/googleads/v16/enums/goal_config_level.proto new file mode 100644 index 000000000..63cdb24c3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/goal_config_level.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoalConfigLevelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing goal config level. + +// Container for enum describing possible goal config levels. +message GoalConfigLevelEnum { + // The possible goal config levels. Campaigns automatically inherit the + // effective conversion account's customer goals unless they have been + // configured with their own set of campaign goals. + enum GoalConfigLevel { + // The goal config level has not been specified. + UNSPECIFIED = 0; + + // The goal config level is not known in this version. + UNKNOWN = 1; + + // The goal config is defined at the customer level. + CUSTOMER = 2; + + // The goal config is defined at the campaign level. + CAMPAIGN = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/google_ads_field_category.proto b/third_party/googleapis/google/ads/googleads/v16/enums/google_ads_field_category.proto new file mode 100644 index 000000000..9aa7c3a91 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/google_ads_field_category.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldCategoryProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing GoogleAdsField categories. + +// Container for enum that determines if the described artifact is a resource +// or a field, and if it is a field, when it segments search queries. +message GoogleAdsFieldCategoryEnum { + // The category of the artifact. + enum GoogleAdsFieldCategory { + // Unspecified + UNSPECIFIED = 0; + + // Unknown + UNKNOWN = 1; + + // The described artifact is a resource. + RESOURCE = 2; + + // The described artifact is a field and is an attribute of a resource. + // Including a resource attribute field in a query may segment the query if + // the resource to which it is attributed segments the resource found in + // the FROM clause. + ATTRIBUTE = 3; + + // The described artifact is a field and always segments search queries. + SEGMENT = 5; + + // The described artifact is a field and is a metric. It never segments + // search queries. + METRIC = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/google_ads_field_data_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/google_ads_field_data_type.proto new file mode 100644 index 000000000..3e81745db --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/google_ads_field_data_type.proto @@ -0,0 +1,98 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldDataTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing GoogleAdsField data types. + +// Container holding the various data types. +message GoogleAdsFieldDataTypeEnum { + // These are the various types a GoogleAdsService artifact may take on. + enum GoogleAdsFieldDataType { + // Unspecified + UNSPECIFIED = 0; + + // Unknown + UNKNOWN = 1; + + // Maps to google.protobuf.BoolValue + // + // Applicable operators: =, != + BOOLEAN = 2; + + // Maps to google.protobuf.StringValue. It can be compared using the set of + // operators specific to dates however. + // + // Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN + DATE = 3; + + // Maps to google.protobuf.DoubleValue + // + // Applicable operators: =, !=, <, >, IN, NOT IN + DOUBLE = 4; + + // Maps to an enum. It's specific definition can be found at type_url. + // + // Applicable operators: =, !=, IN, NOT IN + ENUM = 5; + + // Maps to google.protobuf.FloatValue + // + // Applicable operators: =, !=, <, >, IN, NOT IN + FLOAT = 6; + + // Maps to google.protobuf.Int32Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + INT32 = 7; + + // Maps to google.protobuf.Int64Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + INT64 = 8; + + // Maps to a protocol buffer message type. The data type's details can be + // found in type_url. + // + // No operators work with MESSAGE fields. + MESSAGE = 9; + + // Maps to google.protobuf.StringValue. Represents the resource name + // (unique id) of a resource or one of its foreign keys. + // + // No operators work with RESOURCE_NAME fields. + RESOURCE_NAME = 10; + + // Maps to google.protobuf.StringValue. + // + // Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN + STRING = 11; + + // Maps to google.protobuf.UInt64Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + UINT64 = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/google_voice_call_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/google_voice_call_status.proto new file mode 100644 index 000000000..aa80966d5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/google_voice_call_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleVoiceCallStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing google voice call status. + +// Container for enum describing possible statuses of a google voice call. +message GoogleVoiceCallStatusEnum { + // Possible statuses of a google voice call. + enum GoogleVoiceCallStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The call was missed. + MISSED = 2; + + // The call was received. + RECEIVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/hotel_asset_suggestion_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_asset_suggestion_status.proto new file mode 100644 index 000000000..3468da9f3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_asset_suggestion_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelAssetSuggestionStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing hotel asset suggestion status. + +// Container for enum describing possible statuses of a hotel asset suggestion. +message HotelAssetSuggestionStatusEnum { + // Possible statuses of a hotel asset suggestion. + enum HotelAssetSuggestionStatus { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The hotel asset suggestion was successfully retrieved. + SUCCESS = 2; + + // A hotel look up returns nothing. + HOTEL_NOT_FOUND = 3; + + // A Google Places ID is invalid and cannot be decoded. + INVALID_PLACE_ID = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/hotel_date_selection_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_date_selection_type.proto new file mode 100644 index 000000000..e61137447 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_date_selection_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelDateSelectionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing hotel date selection types. + +// Container for enum describing possible hotel date selection types +message HotelDateSelectionTypeEnum { + // Enum describing possible hotel date selection types. + enum HotelDateSelectionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dates selected by default. + DEFAULT_SELECTION = 50; + + // Dates selected by the user. + USER_SELECTED = 51; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/hotel_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_placeholder_field.proto new file mode 100644 index 000000000..f1c7691dd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_placeholder_field.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Hotel placeholder fields. + +// Values for Hotel placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message HotelPlaceholderFieldEnum { + // Possible values for Hotel placeholder fields. + enum HotelPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Unique ID. + PROPERTY_ID = 2; + + // Data Type: STRING. Required. Main headline with property name to be shown + // in dynamic ad. + PROPERTY_NAME = 3; + + // Data Type: STRING. Name of destination to be shown in dynamic ad. + DESTINATION_NAME = 4; + + // Data Type: STRING. Description of destination to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: STRING. Category of property used to group like items together + // for recommendation engine. + CATEGORY = 12; + + // Data Type: INT64. Star rating (1 to 5) used to group like items + // together for recommendation engine. + STAR_RATING = 13; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 14; + + // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific flight for ads that show multiple + // flights. + FINAL_URLS = 15; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 16; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended property IDs to show together + // with this item. + SIMILAR_PROPERTY_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/hotel_price_bucket.proto b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_price_bucket.proto new file mode 100644 index 000000000..8fa48ae7a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_price_bucket.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelPriceBucketProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing hotel price buckets. + +// Container for enum describing hotel price bucket for a hotel itinerary. +message HotelPriceBucketEnum { + // Enum describing possible hotel price buckets. + enum HotelPriceBucket { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Uniquely lowest price. Partner has the lowest price, and no other + // partners are within a small variance of that price. + LOWEST_UNIQUE = 2; + + // Tied for lowest price. Partner is within a small variance of the lowest + // price. + LOWEST_TIED = 3; + + // Not lowest price. Partner is not within a small variance of the lowest + // price. + NOT_LOWEST = 4; + + // Partner was the only one shown. + ONLY_PARTNER_SHOWN = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/hotel_rate_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_rate_type.proto new file mode 100644 index 000000000..35fed1c6a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_rate_type.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelRateTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing hotel rate types. + +// Container for enum describing possible hotel rate types. +message HotelRateTypeEnum { + // Enum describing possible hotel rate types. + enum HotelRateType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Rate type information is unavailable. + UNAVAILABLE = 2; + + // Rates available to everyone. + PUBLIC_RATE = 3; + + // A membership program rate is available and satisfies basic requirements + // like having a public rate available. UI treatment will strikethrough the + // public rate and indicate that a discount is available to the user. For + // more on Qualified Rates, visit + // https://developers.google.com/hotels/hotel-ads/dev-guide/qualified-rates + QUALIFIED_RATE = 4; + + // Rates available to users that satisfy some eligibility criteria, for + // example, all signed-in users, 20% of mobile users, all mobile users in + // Canada, etc. + PRIVATE_RATE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/hotel_reconciliation_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_reconciliation_status.proto new file mode 100644 index 000000000..99290258a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/hotel_reconciliation_status.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing hotel reconciliation row status. + +// Container for HotelReconciliationStatus. +message HotelReconciliationStatusEnum { + // Status of the hotel booking reconciliation. + enum HotelReconciliationStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Bookings are for a future date, or a stay is underway but the check-out + // date hasn't passed. An active reservation can't be reconciled. + RESERVATION_ENABLED = 2; + + // Check-out has already taken place, or the booked dates have passed + // without cancellation. Bookings that are not reconciled within 45 days of + // the check-out date are billed based on the original booking price. + RECONCILIATION_NEEDED = 3; + + // These bookings have been reconciled. Reconciled bookings are billed 45 + // days after the check-out date. + RECONCILED = 4; + + // This booking was marked as canceled. Canceled stays with a value greater + // than zero (due to minimum stay rules or cancellation fees) are billed 45 + // days after the check-out date. + CANCELED = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/identity_verification_program.proto b/third_party/googleapis/google/ads/googleads/v16/enums/identity_verification_program.proto new file mode 100644 index 000000000..86dadab69 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/identity_verification_program.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IdentityVerificationProgramProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing type of identity verification program. + +// Container for IdentityVerificationProgram. +message IdentityVerificationProgramEnum { + // Type of identity verification program. + enum IdentityVerificationProgram { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Advertiser submits documents to verify their identity. + ADVERTISER_IDENTITY_VERIFICATION = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/identity_verification_program_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/identity_verification_program_status.proto new file mode 100644 index 000000000..dbdaac8ad --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/identity_verification_program_status.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IdentityVerificationProgramStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing programs status of identity verification. + +// Container for IdentityVerificationProgramStatus. +message IdentityVerificationProgramStatusEnum { + // Program status of identity verification. + enum IdentityVerificationProgramStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Verification is pending on user action to proceed. + PENDING_USER_ACTION = 2; + + // Verification is pending on review. + PENDING_REVIEW = 3; + + // Verification succeeded. + SUCCESS = 4; + + // Verification failed. + FAILURE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/image_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/image_placeholder_field.proto new file mode 100644 index 000000000..dd81f5c5f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/image_placeholder_field.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ImagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Advertiser Provided Image placeholder fields. + +// Values for Advertiser Provided Image placeholder fields. +message ImagePlaceholderFieldEnum { + // Possible values for Advertiser Provided Image placeholder fields. + enum ImagePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. The asset ID of the image. + ASSET_ID = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/income_range_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/income_range_type.proto new file mode 100644 index 000000000..c954988c2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/income_range_type.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing income range types. + +// Container for enum describing the type of demographic income ranges. +message IncomeRangeTypeEnum { + // The type of demographic income ranges (for example, between 0% to 50%). + enum IncomeRangeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 0%-50%. + INCOME_RANGE_0_50 = 510001; + + // 50% to 60%. + INCOME_RANGE_50_60 = 510002; + + // 60% to 70%. + INCOME_RANGE_60_70 = 510003; + + // 70% to 80%. + INCOME_RANGE_70_80 = 510004; + + // 80% to 90%. + INCOME_RANGE_80_90 = 510005; + + // Greater than 90%. + INCOME_RANGE_90_UP = 510006; + + // Undetermined income range. + INCOME_RANGE_UNDETERMINED = 510000; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/interaction_event_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/interaction_event_type.proto new file mode 100644 index 000000000..67f36b926 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/interaction_event_type.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionEventTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing types of payable and free interactions. + +// Container for enum describing types of payable and free interactions. +message InteractionEventTypeEnum { + // Enum describing possible types of payable and free interactions. + enum InteractionEventType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Click to site. In most cases, this interaction navigates to an external + // location, usually the advertiser's landing page. This is also the default + // InteractionEventType for click events. + CLICK = 2; + + // The user's expressed intent to engage with the ad in-place. + ENGAGEMENT = 3; + + // User viewed a video ad. + VIDEO_VIEW = 4; + + // The default InteractionEventType for ad conversion events. + // This is used when an ad conversion row does NOT indicate + // that the free interactions (for example, the ad conversions) + // should be 'promoted' and reported as part of the core metrics. + // These are simply other (ad) conversions. + NONE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/interaction_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/interaction_type.proto new file mode 100644 index 000000000..37c3e6239 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/interaction_type.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing interaction types. + +// Container for enum describing possible interaction types. +message InteractionTypeEnum { + // Enum describing possible interaction types. + enum InteractionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Calls. + CALLS = 8000; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/invoice_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/invoice_type.proto new file mode 100644 index 000000000..d200f1b8f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/invoice_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing invoice types. + +// Container for enum describing the type of invoices. +message InvoiceTypeEnum { + // The possible type of invoices. + enum InvoiceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // An invoice with a negative amount. The account receives a credit. + CREDIT_MEMO = 2; + + // An invoice with a positive amount. The account owes a balance. + INVOICE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/job_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/job_placeholder_field.proto new file mode 100644 index 000000000..8cfd3e683 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/job_placeholder_field.proto @@ -0,0 +1,111 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "JobsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Job placeholder fields. + +// Values for Job placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message JobPlaceholderFieldEnum { + // Possible values for Job placeholder fields. + enum JobPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. If only JOB_ID is specified, then it must be + // unique. If both JOB_ID and LOCATION_ID are specified, then the + // pair must be unique. + // ID) pair must be unique. + JOB_ID = 2; + + // Data Type: STRING. Combination of JOB_ID and LOCATION_ID must be unique + // per offer. + LOCATION_ID = 3; + + // Data Type: STRING. Required. Main headline with job title to be shown in + // dynamic ad. + TITLE = 4; + + // Data Type: STRING. Job subtitle to be shown in dynamic ad. + SUBTITLE = 5; + + // Data Type: STRING. Description of job to be shown in dynamic ad. + DESCRIPTION = 6; + + // Data Type: URL. Image to be displayed in the ad. Highly recommended for + // image ads. + IMAGE_URL = 7; + + // Data Type: STRING. Category of property used to group like items together + // for recommendation engine. + CATEGORY = 8; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 9; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 10; + + // Data Type: STRING. Salary or salary range of job to be shown in dynamic + // ad. + SALARY = 11; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (for example, the individual + // URL of a specific job and its location). + FINAL_URLS = 12; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 14; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 15; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 16; + + // Data Type: STRING_LIST. List of recommended job IDs to show together with + // this item. + SIMILAR_JOB_IDS = 17; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 18; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 19; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/keyword_match_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_match_type.proto new file mode 100644 index 000000000..0e62e4382 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_match_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordMatchTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Keyword match types. + +// Message describing Keyword match types. +message KeywordMatchTypeEnum { + // Possible Keyword match types. + enum KeywordMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Exact match. + EXACT = 2; + + // Phrase match. + PHRASE = 3; + + // Broad match. + BROAD = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_aggregate_metric_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_aggregate_metric_type.proto new file mode 100644 index 000000000..9d1ab8243 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_aggregate_metric_type.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAggregateMetricTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing keyword plan aggregate metric types. + +// The enumeration of keyword plan aggregate metric types. +message KeywordPlanAggregateMetricTypeEnum { + // Aggregate fields. + enum KeywordPlanAggregateMetricType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The device breakdown of aggregate search volume. + DEVICE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_competition_level.proto b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_competition_level.proto new file mode 100644 index 000000000..1b8e50312 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_competition_level.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCompetitionLevelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Keyword Planner competition levels. + +// Container for enumeration of keyword competition levels. The competition +// level indicates how competitive ad placement is for a keyword and +// is determined by the number of advertisers bidding on that keyword relative +// to all keywords across Google. The competition level can depend on the +// location and Search Network targeting options you've selected. +message KeywordPlanCompetitionLevelEnum { + // Competition level of a keyword. + enum KeywordPlanCompetitionLevel { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Low competition. The Competition Index range for this is [0, 33]. + LOW = 2; + + // Medium competition. The Competition Index range for this is [34, 66]. + MEDIUM = 3; + + // High competition. The Competition Index range for this is [67, 100]. + HIGH = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_concept_group_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_concept_group_type.proto new file mode 100644 index 000000000..3476e3cd1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_concept_group_type.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanConceptGroupTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Keyword Planner Concept Group types. + +// Container for enumeration of keyword plan concept group types. +message KeywordPlanConceptGroupTypeEnum { + // Enumerates keyword plan concept group types. + enum KeywordPlanConceptGroupType { + // The concept group classification different from brand/non-brand. + // This is a catch all bucket for all classifications that are none of the + // below. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The concept group classification is based on BRAND. + BRAND = 2; + + // The concept group classification based on BRAND, that didn't fit well + // with the BRAND classifications. These are generally outliers and can have + // very few keywords in this type of classification. + OTHER_BRANDS = 3; + + // These concept group classification is not based on BRAND. This is + // returned for generic keywords that don't have a brand association. + NON_BRAND = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_forecast_interval.proto b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_forecast_interval.proto new file mode 100644 index 000000000..5e0d13d59 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_forecast_interval.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanForecastIntervalProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing keyword plan forecast intervals. + +// Container for enumeration of forecast intervals. +message KeywordPlanForecastIntervalEnum { + // Forecast intervals. + enum KeywordPlanForecastInterval { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The next week date range for keyword plan. The next week is based + // on the default locale of the user's account and is mostly SUN-SAT or + // MON-SUN. + // This can be different from next-7 days. + NEXT_WEEK = 3; + + // The next month date range for keyword plan. + NEXT_MONTH = 4; + + // The next quarter date range for keyword plan. + NEXT_QUARTER = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_keyword_annotation.proto b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_keyword_annotation.proto new file mode 100644 index 000000000..5e8c329c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_keyword_annotation.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanKeywordAnnotationProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Keyword Planner Keyword annotation types. + +// Container for enumeration of keyword plan keyword annotations. +message KeywordPlanKeywordAnnotationEnum { + // Enumerates keyword plan annotations that can be requested. + enum KeywordPlanKeywordAnnotation { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Return the keyword concept and concept group data. + KEYWORD_CONCEPT = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_network.proto b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_network.proto new file mode 100644 index 000000000..21fb0777a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/keyword_plan_network.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Keyword Planner forecastable network types. + +// Container for enumeration of keyword plan forecastable network types. +message KeywordPlanNetworkEnum { + // Enumerates keyword plan forecastable network types. + enum KeywordPlanNetwork { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google Search. + GOOGLE_SEARCH = 2; + + // Google Search + Search partners. + GOOGLE_SEARCH_AND_PARTNERS = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/label_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/label_status.proto new file mode 100644 index 000000000..8f7c12d80 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/label_status.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing possible status of a label. +message LabelStatusEnum { + // Possible statuses of a label. + enum LabelStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Label is enabled. + ENABLED = 2; + + // Label is removed. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_call_to_action_type.proto new file mode 100644 index 000000000..ebc86b9f0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_call_to_action_type.proto @@ -0,0 +1,80 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Describes the type of call-to-action phrases in a lead form. +message LeadFormCallToActionTypeEnum { + // Enum describing the type of call-to-action phrases in a lead form. + enum LeadFormCallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Learn more. + LEARN_MORE = 2; + + // Get quote. + GET_QUOTE = 3; + + // Apply now. + APPLY_NOW = 4; + + // Sign Up. + SIGN_UP = 5; + + // Contact us. + CONTACT_US = 6; + + // Subscribe. + SUBSCRIBE = 7; + + // Download. + DOWNLOAD = 8; + + // Book now. + BOOK_NOW = 9; + + // Get offer. + GET_OFFER = 10; + + // Register. + REGISTER = 11; + + // Get info. + GET_INFO = 12; + + // Request a demo. + REQUEST_DEMO = 13; + + // Join now. + JOIN_NOW = 14; + + // Get started. + GET_STARTED = 15; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_desired_intent.proto b/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_desired_intent.proto new file mode 100644 index 000000000..ec649ecf3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_desired_intent.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormDesiredIntentProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Describes the chosen level of intent of generated leads. +message LeadFormDesiredIntentEnum { + // Enum describing the chosen level of intent of generated leads. + enum LeadFormDesiredIntent { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Deliver more leads at a potentially lower quality. + LOW_INTENT = 2; + + // Deliver leads that are more qualified. + HIGH_INTENT = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_field_user_input_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_field_user_input_type.proto new file mode 100644 index 000000000..43e45785c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_field_user_input_type.proto @@ -0,0 +1,675 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormFieldUserInputTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Describes the input type of a lead form field. +message LeadFormFieldUserInputTypeEnum { + // Enum describing the input type of a lead form field. + enum LeadFormFieldUserInputType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The user will be asked to fill in their given and family name. This field + // cannot be set at the same time as GIVEN_NAME or FAMILY_NAME. + FULL_NAME = 2; + + // The user will be asked to fill in their email address. + EMAIL = 3; + + // The user will be asked to fill in their phone number. + PHONE_NUMBER = 4; + + // The user will be asked to fill in their zip code. + POSTAL_CODE = 5; + + // The user will be asked to fill in their street address. + STREET_ADDRESS = 8; + + // The user will be asked to fill in their city. + CITY = 9; + + // The user will be asked to fill in their region part of the address (for + // example, state for US, province for Canada). + REGION = 10; + + // The user will be asked to fill in their country. + COUNTRY = 11; + + // The user will be asked to fill in their work email address. + WORK_EMAIL = 12; + + // The user will be asked to fill in their company name. + COMPANY_NAME = 13; + + // The user will be asked to fill in their work phone. + WORK_PHONE = 14; + + // The user will be asked to fill in their job title. + JOB_TITLE = 15; + + // The user will be asked to fill in their CPF for Brazil users. + GOVERNMENT_ISSUED_ID_CPF_BR = 16; + + // The user will be asked to fill in their DNI for Argentina users. + GOVERNMENT_ISSUED_ID_DNI_AR = 17; + + // The user will be asked to fill in their DNI for Peru users. + GOVERNMENT_ISSUED_ID_DNI_PE = 18; + + // The user will be asked to fill in their RUT for Chile users. + GOVERNMENT_ISSUED_ID_RUT_CL = 19; + + // The user will be asked to fill in their CC for Colombia users. + GOVERNMENT_ISSUED_ID_CC_CO = 20; + + // The user will be asked to fill in their CI for Ecuador users. + GOVERNMENT_ISSUED_ID_CI_EC = 21; + + // The user will be asked to fill in their RFC for Mexico users. + GOVERNMENT_ISSUED_ID_RFC_MX = 22; + + // The user will be asked to fill in their first name. This + // field can not be set at the same time as FULL_NAME. + FIRST_NAME = 23; + + // The user will be asked to fill in their last name. This + // field can not be set at the same time as FULL_NAME. + LAST_NAME = 24; + + // Question: "Which model are you interested in?" + // Category: "Auto" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + VEHICLE_MODEL = 1001; + + // Question: "Which type of vehicle are you interested in?" + // Category: "Auto" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + VEHICLE_TYPE = 1002; + + // Question: "What is your preferred dealership?" + // Category: "Auto" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PREFERRED_DEALERSHIP = 1003; + + // Question: "When do you plan on purchasing a vehicle?" + // Category: "Auto" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + VEHICLE_PURCHASE_TIMELINE = 1004; + + // Question: "Do you own a vehicle?" + // Category: "Auto" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + VEHICLE_OWNERSHIP = 1005; + + // Question: "What vehicle ownership option are you interested in?" + // Category: "Auto" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + VEHICLE_PAYMENT_TYPE = 1009; + + // Question: "What type of vehicle condition are you interested in?" + // Category: "Auto" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + VEHICLE_CONDITION = 1010; + + // Question: "What size is your company?" + // Category: "Business" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + COMPANY_SIZE = 1006; + + // Question: "What is your annual sales volume?" + // Category: "Business" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + ANNUAL_SALES = 1007; + + // Question: "How many years have you been in business?" + // Category: "Business" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + YEARS_IN_BUSINESS = 1008; + + // Question: "What is your job department?" + // Category: "Business" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + JOB_DEPARTMENT = 1011; + + // Question: "What is your job role?" + // Category: "Business" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + JOB_ROLE = 1012; + + // Question: "Are you over 18 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_18_AGE = 1078; + + // Question: "Are you over 19 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_19_AGE = 1079; + + // Question: "Are you over 20 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_20_AGE = 1080; + + // Question: "Are you over 21 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_21_AGE = 1081; + + // Question: "Are you over 22 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_22_AGE = 1082; + + // Question: "Are you over 23 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_23_AGE = 1083; + + // Question: "Are you over 24 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_24_AGE = 1084; + + // Question: "Are you over 25 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_25_AGE = 1085; + + // Question: "Are you over 26 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_26_AGE = 1086; + + // Question: "Are you over 27 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_27_AGE = 1087; + + // Question: "Are you over 28 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_28_AGE = 1088; + + // Question: "Are you over 29 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_29_AGE = 1089; + + // Question: "Are you over 30 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_30_AGE = 1090; + + // Question: "Are you over 31 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_31_AGE = 1091; + + // Question: "Are you over 32 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_32_AGE = 1092; + + // Question: "Are you over 33 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_33_AGE = 1093; + + // Question: "Are you over 34 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_34_AGE = 1094; + + // Question: "Are you over 35 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_35_AGE = 1095; + + // Question: "Are you over 36 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_36_AGE = 1096; + + // Question: "Are you over 37 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_37_AGE = 1097; + + // Question: "Are you over 38 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_38_AGE = 1098; + + // Question: "Are you over 39 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_39_AGE = 1099; + + // Question: "Are you over 40 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_40_AGE = 1100; + + // Question: "Are you over 41 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_41_AGE = 1101; + + // Question: "Are you over 42 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_42_AGE = 1102; + + // Question: "Are you over 43 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_43_AGE = 1103; + + // Question: "Are you over 44 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_44_AGE = 1104; + + // Question: "Are you over 45 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_45_AGE = 1105; + + // Question: "Are you over 46 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_46_AGE = 1106; + + // Question: "Are you over 47 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_47_AGE = 1107; + + // Question: "Are you over 48 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_48_AGE = 1108; + + // Question: "Are you over 49 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_49_AGE = 1109; + + // Question: "Are you over 50 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_50_AGE = 1110; + + // Question: "Are you over 51 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_51_AGE = 1111; + + // Question: "Are you over 52 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_52_AGE = 1112; + + // Question: "Are you over 53 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_53_AGE = 1113; + + // Question: "Are you over 54 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_54_AGE = 1114; + + // Question: "Are you over 55 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_55_AGE = 1115; + + // Question: "Are you over 56 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_56_AGE = 1116; + + // Question: "Are you over 57 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_57_AGE = 1117; + + // Question: "Are you over 58 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_58_AGE = 1118; + + // Question: "Are you over 59 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_59_AGE = 1119; + + // Question: "Are you over 60 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_60_AGE = 1120; + + // Question: "Are you over 61 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_61_AGE = 1121; + + // Question: "Are you over 62 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_62_AGE = 1122; + + // Question: "Are you over 63 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_63_AGE = 1123; + + // Question: "Are you over 64 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_64_AGE = 1124; + + // Question: "Are you over 65 years of age?" + // Category: "Demographics" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OVER_65_AGE = 1125; + + // Question: "Which program are you interested in?" + // Category: "Education" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + EDUCATION_PROGRAM = 1013; + + // Question: "Which course are you interested in?" + // Category: "Education" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + EDUCATION_COURSE = 1014; + + // Question: "Which product are you interested in?" + // Category: "General" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PRODUCT = 1016; + + // Question: "Which service are you interested in?" + // Category: "General" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + SERVICE = 1017; + + // Question: "Which offer are you interested in?" + // Category: "General" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + OFFER = 1018; + + // Question: "Which category are you interested in?" + // Category: "General" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + CATEGORY = 1019; + + // Question: "What is your preferred method of contact?" + // Category: "General" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PREFERRED_CONTACT_METHOD = 1020; + + // Question: "What is your preferred location?" + // Category: "General" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PREFERRED_LOCATION = 1021; + + // Question: "What is the best time to contact you?" + // Category: "General" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PREFERRED_CONTACT_TIME = 1022; + + // Question: "When are you looking to make a purchase?" + // Category: "General" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PURCHASE_TIMELINE = 1023; + + // Question: "How many years of work experience do you have?" + // Category: "Jobs" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + YEARS_OF_EXPERIENCE = 1048; + + // Question: "What industry do you work in?" + // Category: "Jobs" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + JOB_INDUSTRY = 1049; + + // Question: "What is your highest level of education?" + // Category: "Jobs" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + LEVEL_OF_EDUCATION = 1050; + + // Question: "What type of property are you looking for?" + // Category: "Real Estate" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PROPERTY_TYPE = 1024; + + // Question: "What do you need a realtor's help with?" + // Category: "Real Estate" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + REALTOR_HELP_GOAL = 1025; + + // Question: "What neighborhood are you interested in?" + // Category: "Real Estate" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PROPERTY_COMMUNITY = 1026; + + // Question: "What price range are you looking for?" + // Category: "Real Estate" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PRICE_RANGE = 1027; + + // Question: "How many bedrooms are you looking for?" + // Category: "Real Estate" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + NUMBER_OF_BEDROOMS = 1028; + + // Question: "Are you looking for a fully furnished property?" + // Category: "Real Estate" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + FURNISHED_PROPERTY = 1029; + + // Question: "Are you looking for properties that allow pets?" + // Category: "Real Estate" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PETS_ALLOWED_PROPERTY = 1030; + + // Question: "What is the next product you plan to purchase?" + // Category: "Retail" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + NEXT_PLANNED_PURCHASE = 1031; + + // Question: "Would you like to sign up for an event?" + // Category: "Retail" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + EVENT_SIGNUP_INTEREST = 1033; + + // Question: "Where are you interested in shopping?" + // Category: "Retail" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + PREFERRED_SHOPPING_PLACES = 1034; + + // Question: "What is your favorite brand?" + // Category: "Retail" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + FAVORITE_BRAND = 1035; + + // Question: "Which type of valid commercial license do you have?" + // Category: "Transportation" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + TRANSPORTATION_COMMERCIAL_LICENSE_TYPE = 1036; + + // Question: "Interested in booking an event?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + EVENT_BOOKING_INTEREST = 1038; + + // Question: "What is your destination country?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + DESTINATION_COUNTRY = 1039; + + // Question: "What is your destination city?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + DESTINATION_CITY = 1040; + + // Question: "What is your departure country?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + DEPARTURE_COUNTRY = 1041; + + // Question: "What is your departure city?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + DEPARTURE_CITY = 1042; + + // Question: "What is your departure date?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + DEPARTURE_DATE = 1043; + + // Question: "What is your return date?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + RETURN_DATE = 1044; + + // Question: "How many people are you traveling with?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + NUMBER_OF_TRAVELERS = 1045; + + // Question: "What is your travel budget?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + TRAVEL_BUDGET = 1046; + + // Question: "Where do you want to stay during your travel?" + // Category: "Travel" + // This field is subject to a limit of 5 qualifying questions per form and + // cannot be used if values are set using custom_question_fields. + TRAVEL_ACCOMMODATION = 1047; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_post_submit_call_to_action_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_post_submit_call_to_action_type.proto new file mode 100644 index 000000000..a231d70eb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/lead_form_post_submit_call_to_action_type.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormPostSubmitCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Describes the type of post-submit call-to-action phrases for a lead form. +message LeadFormPostSubmitCallToActionTypeEnum { + // Enum describing the type of post-submit call-to-action phrases for a lead + // form. + enum LeadFormPostSubmitCallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Visit site. + VISIT_SITE = 2; + + // Download. + DOWNLOAD = 3; + + // Learn more. + LEARN_MORE = 4; + + // Shop now. + SHOP_NOW = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/legacy_app_install_ad_app_store.proto b/third_party/googleapis/google/ads/googleads/v16/enums/legacy_app_install_ad_app_store.proto new file mode 100644 index 000000000..15d575cec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/legacy_app_install_ad_app_store.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing app store types for a legacy app install ad. + +// Container for enum describing app store type in a legacy app install ad. +message LegacyAppInstallAdAppStoreEnum { + // App store type in a legacy app install ad. + enum LegacyAppInstallAdAppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple iTunes. + APPLE_APP_STORE = 2; + + // Google Play. + GOOGLE_PLAY = 3; + + // Windows Store. + WINDOWS_STORE = 4; + + // Windows Phone Store. + WINDOWS_PHONE_STORE = 5; + + // The app is hosted in a Chinese app store. + CN_APP_STORE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/linked_account_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/linked_account_type.proto new file mode 100644 index 000000000..d15c86707 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/linked_account_type.proto @@ -0,0 +1,42 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedAccountTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing different types of Linked accounts. +message LinkedAccountTypeEnum { + // Describes the possible link types between a Google Ads customer + // and another account. + enum LinkedAccountType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A link to provide third party app analytics data. + THIRD_PARTY_APP_ANALYTICS = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/linked_product_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/linked_product_type.proto new file mode 100644 index 000000000..72c9a9df1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/linked_product_type.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedProductTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing different types of linked products. +message LinkedProductTypeEnum { + // Describes the possible link types for a link between a Google + // Ads customer and another product. + enum LinkedProductType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A link to Data partner. + DATA_PARTNER = 2; + + // A link to Google Ads. + GOOGLE_ADS = 3; + + // A link to Hotel Center. + HOTEL_CENTER = 7; + + // A link to Google Merchant Center. + MERCHANT_CENTER = 8; + + // A link to the Google Ads account of the advertising partner. + ADVERTISING_PARTNER = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_custom_attribute_index.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_custom_attribute_index.proto new file mode 100644 index 000000000..dfd9249ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_custom_attribute_index.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing groups. + +// Container for enum describing the indexes of custom attribute used in +// ListingGroupFilterDimension. +message ListingGroupFilterCustomAttributeIndexEnum { + // The index of customer attributes. + enum ListingGroupFilterCustomAttributeIndex { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // First listing group filter custom attribute. + INDEX0 = 2; + + // Second listing group filter custom attribute. + INDEX1 = 3; + + // Third listing group filter custom attribute. + INDEX2 = 4; + + // Fourth listing group filter custom attribute. + INDEX3 = 5; + + // Fifth listing group filter custom attribute. + INDEX4 = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_listing_source.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_listing_source.proto new file mode 100644 index 000000000..b2f987c02 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_listing_source.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterListingSourceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing group filter listing source. + +// Container for enum describing the source of listings filtered by a listing +// group filter node. +message ListingGroupFilterListingSourceEnum { + // The source of listings filtered by a listing group filter node. + enum ListingGroupFilterListingSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Listings from a Shopping source, like products from Google Merchant + // Center. + SHOPPING = 2; + + // Listings from a webpage source, like URLs from a page feed or from the + // advertiser web domain. + WEBPAGE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_category_level.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_category_level.proto new file mode 100644 index 000000000..a1eb708d1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_category_level.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing groups. + +// Container for enum describing the levels of product category used in +// ListingGroupFilterDimension. +message ListingGroupFilterProductCategoryLevelEnum { + // The level of the listing group filter product category. + enum ListingGroupFilterProductCategoryLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Level 1. + LEVEL1 = 2; + + // Level 2. + LEVEL2 = 3; + + // Level 3. + LEVEL3 = 4; + + // Level 4. + LEVEL4 = 5; + + // Level 5. + LEVEL5 = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_channel.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_channel.proto new file mode 100644 index 000000000..e04754b3c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_channel.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing groups. + +// Locality of a product offer. +message ListingGroupFilterProductChannelEnum { + // Enum describing the locality of a product offer. + enum ListingGroupFilterProductChannel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The item is sold online. + ONLINE = 2; + + // The item is sold in local stores. + LOCAL = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_condition.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_condition.proto new file mode 100644 index 000000000..6640f0202 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_condition.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing groups. + +// Condition of a product offer. +message ListingGroupFilterProductConditionEnum { + // Enum describing the condition of a product offer. + enum ListingGroupFilterProductCondition { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The product condition is new. + NEW = 2; + + // The product condition is refurbished. + REFURBISHED = 3; + + // The product condition is used. + USED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_type_level.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_type_level.proto new file mode 100644 index 000000000..93efc2739 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_product_type_level.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing groups. + +// Level of the type of a product offer. +message ListingGroupFilterProductTypeLevelEnum { + // Enum describing the level of the type of a product offer. + enum ListingGroupFilterProductTypeLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Level 1. + LEVEL1 = 2; + + // Level 2. + LEVEL2 = 3; + + // Level 3. + LEVEL3 = 4; + + // Level 4. + LEVEL4 = 5; + + // Level 5. + LEVEL5 = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_type_enum.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_type_enum.proto new file mode 100644 index 000000000..637fcf32a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_filter_type_enum.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing groups. + +// Container for enum describing the type of the listing group filter node. +message ListingGroupFilterTypeEnum { + // The type of the listing group filter. + enum ListingGroupFilterType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Subdivision of products along some listing dimensions. + SUBDIVISION = 2; + + // An included listing group filter leaf node. + UNIT_INCLUDED = 3; + + // An excluded listing group filter leaf node. + UNIT_EXCLUDED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_type.proto new file mode 100644 index 000000000..816c74e66 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_group_type.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing groups. + +// Container for enum describing the type of the listing group. +message ListingGroupTypeEnum { + // The type of the listing group. + enum ListingGroupType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Subdivision of products along some listing dimension. These nodes + // are not used by serving to target listing entries, but is purely + // to define the structure of the tree. + SUBDIVISION = 2; + + // Listing group unit that defines a bid. + UNIT = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/listing_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/listing_type.proto new file mode 100644 index 000000000..f4cf4b8ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/listing_type.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing listing type. + +// Container for enum describing possible listing types. +message ListingTypeEnum { + // Possible listing types. + enum ListingType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This campaign serves vehicle ads. + VEHICLES = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_placeholder_field.proto new file mode 100644 index 000000000..f7ae032e1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_placeholder_field.proto @@ -0,0 +1,115 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Local placeholder fields. + +// Values for Local placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message LocalPlaceholderFieldEnum { + // Possible values for Local placeholder fields. + enum LocalPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Unique ID. + DEAL_ID = 2; + + // Data Type: STRING. Required. Main headline with local deal title to be + // shown in dynamic ad. + DEAL_NAME = 3; + + // Data Type: STRING. Local deal subtitle to be shown in dynamic ad. + SUBTITLE = 4; + + // Data Type: STRING. Description of local deal to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Price to be shown in the ad. Highly recommended for + // dynamic ads. Example: "100.00 USD" + PRICE = 6; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 7; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 8; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 9; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 10; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 11; + + // Data Type: STRING. Category of local deal used to group like items + // together for recommendation engine. + CATEGORY = 12; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 13; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (for example, the individual + // URL of a specific local deal and its location). + FINAL_URLS = 14; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 15; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 16; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 17; + + // Data Type: STRING_LIST. List of recommended local deal IDs to show + // together with this item. + SIMILAR_DEAL_IDS = 18; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 19; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 20; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_business_registration_check_rejection_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_business_registration_check_rejection_reason.proto new file mode 100644 index 000000000..4cee77d72 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_business_registration_check_rejection_reason.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesBusinessRegistrationCheckRejectionReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the rejection reason of a local services +// business registration check verification artifact. +message LocalServicesBusinessRegistrationCheckRejectionReasonEnum { + // Enums describing possible rejection reasons of a local services business + // registration check verification artifact. + enum LocalServicesBusinessRegistrationCheckRejectionReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Business name doesn't match business name for the Local Services Ad. + BUSINESS_NAME_MISMATCH = 2; + + // Business details mismatch. + BUSINESS_DETAILS_MISMATCH = 3; + + // Business registration ID not found. + ID_NOT_FOUND = 4; + + // Uploaded document not clear, blurry, etc. + POOR_DOCUMENT_IMAGE_QUALITY = 5; + + // Uploaded document has expired. + DOCUMENT_EXPIRED = 6; + + // Document revoked or annuled. + DOCUMENT_INVALID = 7; + + // Document type mismatch. + DOCUMENT_TYPE_MISMATCH = 8; + + // Uploaded document could not be verified as legitimate. + DOCUMENT_UNVERIFIABLE = 9; + + // The business registration process could not be completed due to an issue. + // Contact https://support.google.com/localservices to learn more. + OTHER = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_business_registration_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_business_registration_type.proto new file mode 100644 index 000000000..db50360c3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_business_registration_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesBusinessRegistrationTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the type of business registration check +// verification artifact. +message LocalServicesBusinessRegistrationTypeEnum { + // Enums describing possible registration types of a local services business + // registration check verification artifact. + enum LocalServicesBusinessRegistrationType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Registration number check type. + NUMBER = 2; + + // Registration document check type. + DOCUMENT = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_conversation_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_conversation_type.proto new file mode 100644 index 000000000..909d871fe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_conversation_type.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesConversationTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the local services lead resource. + +// Container for enum describing possible types of lead conversation. +message LocalServicesLeadConversationTypeEnum { + // Possible types of lead conversation. + enum ConversationType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Email lead conversation. + EMAIL = 2; + + // Message lead conversation. + MESSAGE = 3; + + // Phone call lead conversation. + PHONE_CALL = 4; + + // SMS lead conversation. + SMS = 5; + + // Booking lead conversation. + BOOKING = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_employee_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_employee_status.proto new file mode 100644 index 000000000..0d6781925 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_employee_status.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesEmployeeStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the status of local services employee. +message LocalServicesEmployeeStatusEnum { + // Enums describing statuses of a local services employee. + enum LocalServicesEmployeeStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Employee is not removed, and employee status is active. + ENABLED = 2; + + // Employee is removed. Used to delete an employee from the business. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_employee_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_employee_type.proto new file mode 100644 index 000000000..8cd3a6ce5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_employee_type.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesEmployeeTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the types of local services employee. +message LocalServicesEmployeeTypeEnum { + // Enums describing types of a local services employee. + enum LocalServicesEmployeeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Represents the owner of the business. + BUSINESS_OWNER = 2; + + // Represents an employee of the business. + EMPLOYEE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_insurance_rejection_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_insurance_rejection_reason.proto new file mode 100644 index 000000000..702449cb7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_insurance_rejection_reason.proto @@ -0,0 +1,85 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesInsuranceRejectionReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the rejection reason of a local services +// insurance verification artifact. +message LocalServicesInsuranceRejectionReasonEnum { + // Enums describing possible rejection reasons of a local services insurance + // verification artifact. + enum LocalServicesInsuranceRejectionReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Business name doesn't match business name for the Local Services Ad. + BUSINESS_NAME_MISMATCH = 2; + + // Insurance amount doesn't meet requirement listed in the legal summaries + // documentation for that geographic + category ID combination. + INSURANCE_AMOUNT_INSUFFICIENT = 3; + + // Insurance document is expired. + EXPIRED = 4; + + // Insurance document is missing a signature. + NO_SIGNATURE = 5; + + // Insurance document is missing a policy number. + NO_POLICY_NUMBER = 6; + + // Commercial General Liability(CGL) box is not marked in the insurance + // document. + NO_COMMERCIAL_GENERAL_LIABILITY = 7; + + // Insurance document is in an editable format. + EDITABLE_FORMAT = 8; + + // Insurance document does not cover insurance for a particular category. + CATEGORY_MISMATCH = 9; + + // Insurance document is missing an expiration date. + MISSING_EXPIRATION_DATE = 10; + + // Insurance document is poor quality - blurry images, illegible, etc... + POOR_QUALITY = 11; + + // Insurance document is suspected of being edited. + POTENTIALLY_EDITED = 12; + + // Insurance document not accepted. For example, documents of insurance + // proposals, but missing coverages are not accepted. + WRONG_DOCUMENT_TYPE = 13; + + // Insurance document is not final. + NON_FINAL = 14; + + // Insurance document has another flaw not listed explicitly. + OTHER = 15; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_lead_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_lead_status.proto new file mode 100644 index 000000000..d76b91117 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_lead_status.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the local services lead resource. + +// Container for enum describing possible statuses of lead. +message LocalServicesLeadStatusEnum { + // Possible statuses of lead. + enum LeadStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // New lead which hasn't yet been seen by advertiser. + NEW = 2; + + // Lead that thas been interacted by advertiser. + ACTIVE = 3; + + // Lead has been booked. + BOOKED = 4; + + // Lead was declined by advertiser. + DECLINED = 5; + + // Lead has expired due to inactivity. + EXPIRED = 6; + + // Disabled due to spam or dispute. + DISABLED = 7; + + // Consumer declined the lead. + CONSUMER_DECLINED = 8; + + // Personally Identifiable Information of the lead is wiped out. + WIPED_OUT = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_lead_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_lead_type.proto new file mode 100644 index 000000000..d9c02cd3f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_lead_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the local services lead resource. + +// Container for enum describing possible types of lead. +message LocalServicesLeadTypeEnum { + // Possible types of lead. + enum LeadType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Message lead. + MESSAGE = 2; + + // Lead created by phone call. + PHONE_CALL = 3; + + // Booking lead. + BOOKING = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_license_rejection_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_license_rejection_reason.proto new file mode 100644 index 000000000..5def9ba0b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_license_rejection_reason.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLicenseRejectionReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the rejection reason of a local services +// license verification artifact. +message LocalServicesLicenseRejectionReasonEnum { + // Enums describing possible rejection reasons of a local services license + // verification artifact. + enum LocalServicesLicenseRejectionReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Business name doesn't match business name for the Local Services Ad. + BUSINESS_NAME_MISMATCH = 2; + + // License is unauthorized or been revoked. + UNAUTHORIZED = 3; + + // License is expired. + EXPIRED = 4; + + // License is poor quality - blurry images, illegible, etc... + POOR_QUALITY = 5; + + // License cannot be verified due to a not legitimate image. + UNVERIFIABLE = 6; + + // License is not the requested document type or contains an invalid ID. + WRONG_DOCUMENT_OR_ID = 7; + + // License has another flaw not listed explicitly. + OTHER = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_participant_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_participant_type.proto new file mode 100644 index 000000000..d5f4735a3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_participant_type.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesParticipantTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the local services lead resource. + +// Container for enum describing possible types of lead conversation +// participants. +message LocalServicesParticipantTypeEnum { + // Possible types of lead conversation participant. + enum ParticipantType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Local Services Ads Provider participant. + ADVERTISER = 2; + + // Local Services Ads Consumer participant. + CONSUMER = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_artifact_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_artifact_status.proto new file mode 100644 index 000000000..9acb09250 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_artifact_status.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesVerificationArtifactStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the status of local services verification +// artifact. +message LocalServicesVerificationArtifactStatusEnum { + // Enums describing statuses of a local services verification artifact. + enum LocalServicesVerificationArtifactStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Artifact has passed verification. + PASSED = 2; + + // Artifact has failed verification. + FAILED = 3; + + // Artifact is in the process of verification. + PENDING = 4; + + // Artifact needs user to upload information before it is verified. + NO_SUBMISSION = 5; + + // Artifact has been cancelled by the user. + CANCELLED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_artifact_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_artifact_type.proto new file mode 100644 index 000000000..84ff71804 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_artifact_type.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesVerificationArtifactTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the type of local services verification +// artifact. +message LocalServicesVerificationArtifactTypeEnum { + // Enums describing possible types of local services verification artifact. + enum LocalServicesVerificationArtifactType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Background check verification artifact. + BACKGROUND_CHECK = 2; + + // Insurance verification artifact. + INSURANCE = 3; + + // License verification artifact. + LICENSE = 4; + + // Business registration check verification artifact. + BUSINESS_REGISTRATION_CHECK = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_status.proto new file mode 100644 index 000000000..703fb65c7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/local_services_verification_status.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesVerificationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Local Services Ads granular verification statuses. + +// Container for enum describing status of a particular Local Services Ads +// verification category. +message LocalServicesVerificationStatusEnum { + // Enum describing status of a particular Local Services Ads verification + // category. + enum LocalServicesVerificationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Unknown verification status. + UNKNOWN = 1; + + // Verification has started, but has not finished. + NEEDS_REVIEW = 2; + + // Verification has failed. + FAILED = 3; + + // Verification has passed. + PASSED = 4; + + // Verification is not applicable. + NOT_APPLICABLE = 5; + + // Verification is required but pending submission. + NO_SUBMISSION = 6; + + // Not all required verification has been submitted. + PARTIAL_SUBMISSION = 7; + + // Verification needs review by Local Services Ads Ops Specialist. + PENDING_ESCALATION = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/location_extension_targeting_criterion_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/location_extension_targeting_criterion_field.proto new file mode 100644 index 000000000..f7335ff9e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/location_extension_targeting_criterion_field.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Location Extension Targeting criterion fields. + +// Values for Location Extension Targeting criterion fields. +message LocationExtensionTargetingCriterionFieldEnum { + // Possible values for Location Extension Targeting criterion fields. + enum LocationExtensionTargetingCriterionField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 2; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 3; + + // Data Type: STRING. City of the business address. + CITY = 4; + + // Data Type: STRING. Province of the business address. + PROVINCE = 5; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 6; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/location_group_radius_units.proto b/third_party/googleapis/google/ads/googleads/v16/enums/location_group_radius_units.proto new file mode 100644 index 000000000..76320cd15 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/location_group_radius_units.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationGroupRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing location group radius units. + +// Container for enum describing unit of radius in location group. +message LocationGroupRadiusUnitsEnum { + // The unit of radius distance in location group (for example, MILES) + enum LocationGroupRadiusUnits { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Meters + METERS = 2; + + // Miles + MILES = 3; + + // Milli Miles + MILLI_MILES = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/location_ownership_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/location_ownership_type.proto new file mode 100644 index 000000000..557f43833 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/location_ownership_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationOwnershipTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing location ownership type. + +// Container for enum describing possible types of a location ownership. +message LocationOwnershipTypeEnum { + // Possible types of a location ownership. + enum LocationOwnershipType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Business Owner of location(legacy location extension - LE). + BUSINESS_OWNER = 2; + + // Affiliate location(Third party location extension - ALE). + AFFILIATE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/location_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/location_placeholder_field.proto new file mode 100644 index 000000000..939b74d81 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/location_placeholder_field.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Location placeholder fields. + +// Values for Location placeholder fields. +message LocationPlaceholderFieldEnum { + // Possible values for Location placeholder fields. + enum LocationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of the business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 3; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 4; + + // Data Type: STRING. City of the business address. + CITY = 5; + + // Data Type: STRING. Province of the business address. + PROVINCE = 6; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 7; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 8; + + // Data Type: STRING. Phone number of the business. + PHONE_NUMBER = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/location_source_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/location_source_type.proto new file mode 100644 index 000000000..767a1549f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/location_source_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationSourceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing location source types. + +// Used to distinguish the location source type. +message LocationSourceTypeEnum { + // The possible types of a location source. + enum LocationSourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Locations associated with the customer's linked Business Profile. + GOOGLE_MY_BUSINESS = 2; + + // Affiliate (chain) store locations. For example, Best Buy store locations. + AFFILIATE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/location_string_filter_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/location_string_filter_type.proto new file mode 100644 index 000000000..5bd002bd8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/location_string_filter_type.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing location string filter type. + +// Container for enum describing possible types of a location string filter. +message LocationStringFilterTypeEnum { + // Possible types of a location string filter. + enum LocationStringFilterType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The filter will use exact string matching. + EXACT = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/lookalike_expansion_level.proto b/third_party/googleapis/google/ads/googleads/v16/enums/lookalike_expansion_level.proto new file mode 100644 index 000000000..761e595b0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/lookalike_expansion_level.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LookalikeExpansionLevelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Lookalike Expansion level proto +message LookalikeExpansionLevelEnum { + // Expansion level, reflecting the size of the lookalike audience + enum LookalikeExpansionLevel { + // Not specified. + UNSPECIFIED = 0; + + // Invalid expansion level. + UNKNOWN = 1; + + // Expansion to a small set of users that are similar to the seed lists + NARROW = 2; + + // Expansion to a medium set of users that are similar to the seed lists. + // Includes all users of EXPANSION_LEVEL_NARROW, and more. + BALANCED = 3; + + // Expansion to a large set of users that are similar to the seed lists. + // Includes all users of EXPANSION_LEVEL_BALANCED, and more. + BROAD = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/manager_link_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/manager_link_status.proto new file mode 100644 index 000000000..56658d153 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/manager_link_status.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing possible status of a manager and client link. +message ManagerLinkStatusEnum { + // Possible statuses of a link. + enum ManagerLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates current in-effect relationship + ACTIVE = 2; + + // Indicates terminated relationship + INACTIVE = 3; + + // Indicates relationship has been requested by manager, but the client + // hasn't accepted yet. + PENDING = 4; + + // Relationship was requested by the manager, but the client has refused. + REFUSED = 5; + + // Indicates relationship has been requested by manager, but manager + // canceled it. + CANCELED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/matching_function_context_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/matching_function_context_type.proto new file mode 100644 index 000000000..0029585cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/matching_function_context_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionContextTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing matching function context types. + +// Container for context types for an operand in a matching function. +message MatchingFunctionContextTypeEnum { + // Possible context types for an operand in a matching function. + enum MatchingFunctionContextType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item id in the request context. + FEED_ITEM_ID = 2; + + // The device being used (possible values are 'Desktop' or 'Mobile'). + DEVICE_NAME = 3; + + // Feed item set id in the request context. + FEED_ITEM_SET_ID = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/matching_function_operator.proto b/third_party/googleapis/google/ads/googleads/v16/enums/matching_function_operator.proto new file mode 100644 index 000000000..7997b0a22 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/matching_function_operator.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionOperatorProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing matching function operators. + +// Container for enum describing matching function operator. +message MatchingFunctionOperatorEnum { + // Possible operators in a matching function. + enum MatchingFunctionOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The IN operator. + IN = 2; + + // The IDENTITY operator. + IDENTITY = 3; + + // The EQUALS operator + EQUALS = 4; + + // Operator that takes two or more operands that are of type + // FunctionOperand and checks that all the operands evaluate to true. + // For functions related to ad formats, all the operands must be in + // left_operands. + AND = 5; + + // Operator that returns true if the elements in left_operands contain any + // of the elements in right_operands. Otherwise, return false. The + // right_operands must contain at least 1 and no more than 3 + // ConstantOperands. + CONTAINS_ANY = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/media_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/media_type.proto new file mode 100644 index 000000000..568c53fb6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/media_type.proto @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MediaTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing media types. + +// Container for enum describing the types of media. +message MediaTypeEnum { + // The type of media. + enum MediaType { + // The media type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Static image, used for image ad. + IMAGE = 2; + + // Small image, used for map ad. + ICON = 3; + + // ZIP file, used in fields of template ads. + MEDIA_BUNDLE = 4; + + // Audio file. + AUDIO = 5; + + // Video file. + VIDEO = 6; + + // Animated image, such as animated GIF. + DYNAMIC_IMAGE = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/message_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/message_placeholder_field.proto new file mode 100644 index 000000000..3e917b91f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/message_placeholder_field.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MessagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Message placeholder fields. + +// Values for Message placeholder fields. +message MessagePlaceholderFieldEnum { + // Possible values for Message placeholder fields. + enum MessagePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of your business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Country code of phone number. + COUNTRY_CODE = 3; + + // Data Type: STRING. A phone number that's capable of sending and receiving + // text messages. + PHONE_NUMBER = 4; + + // Data Type: STRING. The text that will go in your click-to-message ad. + MESSAGE_EXTENSION_TEXT = 5; + + // Data Type: STRING. The message text automatically shows in people's + // messaging apps when they tap to send you a message. + MESSAGE_TEXT = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/mime_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/mime_type.proto new file mode 100644 index 000000000..53efdccab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/mime_type.proto @@ -0,0 +1,78 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing mime types. + +// Container for enum describing the mime types. +message MimeTypeEnum { + // The mime type + enum MimeType { + // The mime type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // MIME type of image/jpeg. + IMAGE_JPEG = 2; + + // MIME type of image/gif. + IMAGE_GIF = 3; + + // MIME type of image/png. + IMAGE_PNG = 4; + + // MIME type of application/x-shockwave-flash. + FLASH = 5; + + // MIME type of text/html. + TEXT_HTML = 6; + + // MIME type of application/pdf. + PDF = 7; + + // MIME type of application/msword. + MSWORD = 8; + + // MIME type of application/vnd.ms-excel. + MSEXCEL = 9; + + // MIME type of application/rtf. + RTF = 10; + + // MIME type of audio/wav. + AUDIO_WAV = 11; + + // MIME type of audio/mp3. + AUDIO_MP3 = 12; + + // MIME type of application/x-html5-ad-zip. + HTML5_AD_ZIP = 13; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/minute_of_hour.proto b/third_party/googleapis/google/ads/googleads/v16/enums/minute_of_hour.proto new file mode 100644 index 000000000..3c2086ccc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/minute_of_hour.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of quarter-hours. +message MinuteOfHourEnum { + // Enumerates of quarter-hours. For example, "FIFTEEN" + enum MinuteOfHour { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Zero minutes past the hour. + ZERO = 2; + + // Fifteen minutes past the hour. + FIFTEEN = 3; + + // Thirty minutes past the hour. + THIRTY = 4; + + // Forty-five minutes past the hour. + FORTY_FIVE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/mobile_app_vendor.proto b/third_party/googleapis/google/ads/googleads/v16/enums/mobile_app_vendor.proto new file mode 100644 index 000000000..36c185671 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/mobile_app_vendor.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing different types of mobile app vendors. +message MobileAppVendorEnum { + // The type of mobile app vendor + enum MobileAppVendor { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile app vendor for Apple app store. + APPLE_APP_STORE = 2; + + // Mobile app vendor for Google app store. + GOOGLE_APP_STORE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/mobile_device_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/mobile_device_type.proto new file mode 100644 index 000000000..782815ccd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/mobile_device_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing mobile device types. + +// Container for enum describing the types of mobile device. +message MobileDeviceTypeEnum { + // The type of mobile device. + enum MobileDeviceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile phones. + MOBILE = 2; + + // Tablets. + TABLET = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/month_of_year.proto b/third_party/googleapis/google/ads/googleads/v16/enums/month_of_year.proto new file mode 100644 index 000000000..83a6d979e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/month_of_year.proto @@ -0,0 +1,76 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MonthOfYearProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of months of the year, for example, "January". +message MonthOfYearEnum { + // Enumerates months of the year, for example, "January". + enum MonthOfYear { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // January. + JANUARY = 2; + + // February. + FEBRUARY = 3; + + // March. + MARCH = 4; + + // April. + APRIL = 5; + + // May. + MAY = 6; + + // June. + JUNE = 7; + + // July. + JULY = 8; + + // August. + AUGUST = 9; + + // September. + SEPTEMBER = 10; + + // October. + OCTOBER = 11; + + // November. + NOVEMBER = 12; + + // December. + DECEMBER = 13; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/negative_geo_target_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/negative_geo_target_type.proto new file mode 100644 index 000000000..b63cfca24 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/negative_geo_target_type.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "NegativeGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing negative geo target types. + +// Container for enum describing possible negative geo target types. +message NegativeGeoTargetTypeEnum { + // The possible negative geo target types. + enum NegativeGeoTargetType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Specifies that a user is excluded from seeing the ad if they + // are in, or show interest in, advertiser's excluded locations. + PRESENCE_OR_INTEREST = 4; + + // Specifies that a user is excluded from seeing the ad if they + // are in advertiser's excluded locations. + PRESENCE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/offline_conversion_diagnostic_status_enum.proto b/third_party/googleapis/google/ads/googleads/v16/enums/offline_conversion_diagnostic_status_enum.proto new file mode 100644 index 000000000..f748803b2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/offline_conversion_diagnostic_status_enum.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineConversionDiagnosticStatusEnumProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// All possible statuses for oci diagnostics. +message OfflineConversionDiagnosticStatusEnum { + // Possible statuses of the offline ingestion setup. + enum OfflineConversionDiagnosticStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Your offline data ingestion setup is active and optimal for downstream + // processing. + EXCELLENT = 2; + + // Your offline ingestion setup is active, but there are further + // improvements you could make. See alerts. + GOOD = 3; + + // Your offline ingestion setup is active, but there are errors that require + // your attention. See alerts. + NEEDS_ATTENTION = 4; + + // Your offline ingestion setup has not received data in the last 28 days, + // there may be something wrong. + NO_RECENT_UPLOAD = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/offline_event_upload_client_enum.proto b/third_party/googleapis/google/ads/googleads/v16/enums/offline_event_upload_client_enum.proto new file mode 100644 index 000000000..9af111ff1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/offline_event_upload_client_enum.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineEventUploadClientEnumProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// All possible clients for an offline upload event. +message OfflineEventUploadClientEnum { + // Type of client. + enum OfflineEventUploadClient { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Google Ads API. + GOOGLE_ADS_API = 2; + + // Google Ads web client, which could include multiple sources like Ads UI, + // SFTP, etc. + GOOGLE_ADS_WEB_CLIENT = 3; + + // Connection platform. + ADS_DATA_CONNECTOR = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_failure_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_failure_reason.proto new file mode 100644 index 000000000..d8f5928a7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_failure_reason.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobFailureReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing offline user data job failure reasons. + +// Container for enum describing reasons why an offline user data job +// failed to be processed. +message OfflineUserDataJobFailureReasonEnum { + // The failure reason of an offline user data job. + enum OfflineUserDataJobFailureReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The matched transactions are insufficient. + INSUFFICIENT_MATCHED_TRANSACTIONS = 2; + + // The uploaded transactions are insufficient. + INSUFFICIENT_TRANSACTIONS = 3; + + // The average transaction value is unusually high for your account. If this + // is intended, contact support to request an exception. Learn more at + // https://support.google.com/google-ads/answer/10018944#transaction_value + HIGH_AVERAGE_TRANSACTION_VALUE = 4; + + // The average transaction value is unusually low for your account. If this + // is intended, contact support to request an exception. Learn more at + // https://support.google.com/google-ads/answer/10018944#transaction_value + LOW_AVERAGE_TRANSACTION_VALUE = 5; + + // There's a currency code that you haven't used before in your uploads. If + // this is intended, contact support to request an exception. Learn more at + // https://support.google.com/google-ads/answer/10018944#Unrecognized_currency + NEWLY_OBSERVED_CURRENCY_CODE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_match_rate_range.proto b/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_match_rate_range.proto new file mode 100644 index 000000000..4ce7eafb8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_match_rate_range.proto @@ -0,0 +1,67 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobMatchRateRangeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing reasons match rate ranges for a customer match +// list upload. +message OfflineUserDataJobMatchRateRangeEnum { + // The match rate range of an offline user data job. + enum OfflineUserDataJobMatchRateRange { + // Not specified. + UNSPECIFIED = 0; + + // Default value for match rate range. + UNKNOWN = 1; + + // Match rate range for offline data upload entity is between 0% and 19%. + MATCH_RANGE_LESS_THAN_20 = 2; + + // Match rate range for offline data upload entity is between 20% and 30%. + MATCH_RANGE_20_TO_30 = 3; + + // Match rate range for offline data upload entity is between 31% and 40%. + MATCH_RANGE_31_TO_40 = 4; + + // Match rate range for offline data upload entity is between 41% and 50%. + MATCH_RANGE_41_TO_50 = 5; + + // Match rate range for offline data upload entity is between 51% and 60%. + MATCH_RANGE_51_TO_60 = 6; + + // Match rate range for offline data upload entity is between 61% and 70%. + MATCH_RANGE_61_TO_70 = 7; + + // Match rate range for offline data upload entity is between 71% and 80%. + MATCH_RANGE_71_TO_80 = 8; + + // Match rate range for offline data upload entity is between 81% and 90%. + MATCH_RANGE_81_TO_90 = 9; + + // Match rate range for offline data upload entity is more than or equal to + // 91%. + MATCH_RANGE_91_TO_100 = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_status.proto new file mode 100644 index 000000000..af8652938 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_status.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing offline user data job status. + +// Container for enum describing status of an offline user data job. +message OfflineUserDataJobStatusEnum { + // The status of an offline user data job. + enum OfflineUserDataJobStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The job has been successfully created and pending for uploading. + PENDING = 2; + + // Upload(s) have been accepted and data is being processed. + RUNNING = 3; + + // Uploaded data has been successfully processed. + SUCCESS = 4; + + // Uploaded data has failed to be processed. + FAILED = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_type.proto new file mode 100644 index 000000000..0c5abbc2f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/offline_user_data_job_type.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing offline user data job types. + +// Container for enum describing types of an offline user data job. +message OfflineUserDataJobTypeEnum { + // The type of an offline user data job. + enum OfflineUserDataJobType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Store Sales Direct data for self service. + STORE_SALES_UPLOAD_FIRST_PARTY = 2; + + // Store Sales Direct data for third party. + STORE_SALES_UPLOAD_THIRD_PARTY = 3; + + // Customer Match user list data. + CUSTOMER_MATCH_USER_LIST = 4; + + // Customer Match with attribute data. + CUSTOMER_MATCH_WITH_ATTRIBUTES = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/operating_system_version_operator_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/operating_system_version_operator_type.proto new file mode 100644 index 000000000..47c16d637 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/operating_system_version_operator_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing operating system version operator types. + +// Container for enum describing the type of OS operators. +message OperatingSystemVersionOperatorTypeEnum { + // The type of operating system version. + enum OperatingSystemVersionOperatorType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Equals to the specified version. + EQUALS_TO = 2; + + // Greater than or equals to the specified version. + GREATER_THAN_EQUALS_TO = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/optimization_goal_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/optimization_goal_type.proto new file mode 100644 index 000000000..c637ef506 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/optimization_goal_type.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OptimizationGoalTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing optimization goal type. + +// Container for enum describing the type of optimization goal. +message OptimizationGoalTypeEnum { + // The type of optimization goal + enum OptimizationGoalType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Optimize for call clicks. Call click conversions are times people + // selected 'Call' to contact a store after viewing an ad. + CALL_CLICKS = 2; + + // Optimize for driving directions. Driving directions conversions are + // times people selected 'Get directions' to navigate to a store after + // viewing an ad. + DRIVING_DIRECTIONS = 3; + + // Optimize for pre-registration. Pre-registration conversions are the + // number of pre-registration signups to receive a notification when the app + // is released. + APP_PRE_REGISTRATION = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/parental_status_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/parental_status_type.proto new file mode 100644 index 000000000..1ac038a2e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/parental_status_type.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing parenal status types. + +// Container for enum describing the type of demographic parental statuses. +message ParentalStatusTypeEnum { + // The type of parental statuses (for example, not a parent). + enum ParentalStatusType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Parent. + PARENT = 300; + + // Not a parent. + NOT_A_PARENT = 301; + + // Undetermined parental status. + UNDETERMINED = 302; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/payment_mode.proto b/third_party/googleapis/google/ads/googleads/v16/enums/payment_mode.proto new file mode 100644 index 000000000..32d411d05 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/payment_mode.proto @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PaymentModeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing payment modes. + +// Container for enum describing possible payment modes. +message PaymentModeEnum { + // Enum describing possible payment modes. + enum PaymentMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Pay per interaction. + CLICKS = 4; + + // Pay per conversion value. This mode is only supported by campaigns with + // AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and + // BudgetType.STANDARD. + CONVERSION_VALUE = 5; + + // Pay per conversion. This mode is only supported by campaigns with + // AdvertisingChannelType.DISPLAY (excluding + // AdvertisingChannelSubType.DISPLAY_GMAIL), BiddingStrategyType.TARGET_CPA, + // and BudgetType.FIXED_CPA. The customer must also be eligible for this + // mode. See Customer.eligibility_failure_reasons for details. + CONVERSIONS = 6; + + // Pay per guest stay value. This mode is only supported by campaigns with + // AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and + // BudgetType.STANDARD. + GUEST_STAY = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/performance_max_upgrade_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/performance_max_upgrade_status.proto new file mode 100644 index 000000000..c94d9b9f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/performance_max_upgrade_status.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PerformanceMaxUpgradeStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing advertising channel types + +// Performance Max Upgrade status for campaign. +message PerformanceMaxUpgradeStatusEnum { + // Performance Max Upgrade status enum for campaign. + enum PerformanceMaxUpgradeStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The upgrade to a Performance Max campaign is in progress. + UPGRADE_IN_PROGRESS = 3; + + // The upgrade to a Performance Max campaign is complete. + UPGRADE_COMPLETE = 4; + + // The upgrade to a Performance Max campaign failed. + // The campaign will still serve as it was before upgrade was attempted. + UPGRADE_FAILED = 5; + + // The campaign is eligible for upgrade to a Performance Max campaign. + UPGRADE_ELIGIBLE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/placeholder_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/placeholder_type.proto new file mode 100644 index 000000000..73e23a1f6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/placeholder_type.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlaceholderTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing feed placeholder types. + +// Container for enum describing possible placeholder types for a feed mapping. +message PlaceholderTypeEnum { + // Possible placeholder types for a feed mapping. + enum PlaceholderType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Lets you show links in your ad to pages from your website, including the + // main landing page. + SITELINK = 2; + + // Lets you attach a phone number to an ad, allowing customers to call + // directly from the ad. + CALL = 3; + + // Lets you provide users with a link that points to a mobile app in + // addition to a website. + APP = 4; + + // Lets you show locations of businesses from your Business Profile + // in your ad. This helps people find your locations by showing your + // ads with your address, a map to your location, or the distance to your + // business. This extension type is useful to draw customers to your + // brick-and-mortar location. + LOCATION = 5; + + // If you sell your product through retail chains, affiliate location + // extensions let you show nearby stores that carry your products. + AFFILIATE_LOCATION = 6; + + // Lets you include additional text with your search ads that provide + // detailed information about your business, including products and services + // you offer. Callouts appear in ads at the top and bottom of Google search + // results. + CALLOUT = 7; + + // Lets you add more info to your ad, specific to some predefined categories + // such as types, brands, styles, etc. A minimum of 3 text (SNIPPETS) values + // are required. + STRUCTURED_SNIPPET = 8; + + // Allows users to see your ad, click an icon, and contact you directly by + // text message. With one tap on your ad, people can contact you to book an + // appointment, get a quote, ask for information, or request a service. + MESSAGE = 9; + + // Lets you display prices for a list of items along with your ads. A price + // feed is composed of three to eight price table rows. + PRICE = 10; + + // Lets you highlight sales and other promotions that let users see how + // they can save by buying now. + PROMOTION = 11; + + // Lets you dynamically inject custom data into the title and description + // of your ads. + AD_CUSTOMIZER = 12; + + // Indicates that this feed is for education dynamic remarketing. + DYNAMIC_EDUCATION = 13; + + // Indicates that this feed is for flight dynamic remarketing. + DYNAMIC_FLIGHT = 14; + + // Indicates that this feed is for a custom dynamic remarketing type. Use + // this only if the other business types don't apply to your products or + // services. + DYNAMIC_CUSTOM = 15; + + // Indicates that this feed is for hotels and rentals dynamic remarketing. + DYNAMIC_HOTEL = 16; + + // Indicates that this feed is for real estate dynamic remarketing. + DYNAMIC_REAL_ESTATE = 17; + + // Indicates that this feed is for travel dynamic remarketing. + DYNAMIC_TRAVEL = 18; + + // Indicates that this feed is for local deals dynamic remarketing. + DYNAMIC_LOCAL = 19; + + // Indicates that this feed is for job dynamic remarketing. + DYNAMIC_JOB = 20; + + // Lets you attach an image to an ad. + IMAGE = 21; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/placement_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/placement_type.proto new file mode 100644 index 000000000..951b5a832 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/placement_type.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlacementTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing placement types. + +// Container for enum describing possible placement types. +message PlacementTypeEnum { + // Possible placement types for a feed mapping. + enum PlacementType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Websites(for example, 'www.flowers4sale.com'). + WEBSITE = 2; + + // Mobile application categories(for example, 'Games'). + MOBILE_APP_CATEGORY = 3; + + // mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers'). + MOBILE_APPLICATION = 4; + + // YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys'). + YOUTUBE_VIDEO = 5; + + // YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ'). + YOUTUBE_CHANNEL = 6; + + // Surfaces owned and operated by Google(for example, 'tv.google.com'). + GOOGLE_PRODUCTS = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/policy_approval_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/policy_approval_status.proto new file mode 100644 index 000000000..4b99dc57c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/policy_approval_status.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing policy approval statuses. + +// Container for enum describing possible policy approval statuses. +message PolicyApprovalStatusEnum { + // The possible policy approval statuses. When there are several approval + // statuses available the most severe one will be used. The order of severity + // is DISAPPROVED, AREA_OF_INTEREST_ONLY, APPROVED_LIMITED and APPROVED. + enum PolicyApprovalStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Will not serve. + DISAPPROVED = 2; + + // Serves with restrictions. + APPROVED_LIMITED = 3; + + // Serves without restrictions. + APPROVED = 4; + + // Will not serve in targeted countries, but may serve for users who are + // searching for information about the targeted countries. + AREA_OF_INTEREST_ONLY = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/policy_review_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/policy_review_status.proto new file mode 100644 index 000000000..28d81c429 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/policy_review_status.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyReviewStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing policy review statuses. + +// Container for enum describing possible policy review statuses. +message PolicyReviewStatusEnum { + // The possible policy review statuses. + enum PolicyReviewStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Currently under review. + REVIEW_IN_PROGRESS = 2; + + // Primary review complete. Other reviews may be continuing. + REVIEWED = 3; + + // The resource has been resubmitted for approval or its policy decision has + // been appealed. + UNDER_APPEAL = 4; + + // The resource is eligible and may be serving but could still undergo + // further review. + ELIGIBLE_MAY_SERVE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_entry_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_entry_type.proto new file mode 100644 index 000000000..8ebe4c758 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_entry_type.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEntryTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing policy topic entry types. + +// Container for enum describing possible policy topic entry types. +message PolicyTopicEntryTypeEnum { + // The possible policy topic entry types. + enum PolicyTopicEntryType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The resource will not be served. + PROHIBITED = 2; + + // The resource will not be served under some circumstances. + LIMITED = 4; + + // The resource cannot serve at all because of the current targeting + // criteria. + FULLY_LIMITED = 8; + + // May be of interest, but does not limit how the resource is served. + DESCRIPTIVE = 5; + + // Could increase coverage beyond normal. + BROADENING = 6; + + // Constrained for all targeted countries, but may serve in other countries + // through area of interest. + AREA_OF_INTEREST_ONLY = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_mismatch_url_type.proto new file mode 100644 index 000000000..c5b60435c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_mismatch_url_type.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing policy topic evidence destination mismatch url types. + +// Container for enum describing possible policy topic evidence destination +// mismatch url types. +message PolicyTopicEvidenceDestinationMismatchUrlTypeEnum { + // The possible policy topic evidence destination mismatch url types. + enum PolicyTopicEvidenceDestinationMismatchUrlType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The display url. + DISPLAY_URL = 2; + + // The final url. + FINAL_URL = 3; + + // The final mobile url. + FINAL_MOBILE_URL = 4; + + // The tracking url template, with substituted desktop url. + TRACKING_URL = 5; + + // The tracking url template, with substituted mobile url. + MOBILE_TRACKING_URL = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_not_working_device.proto b/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_not_working_device.proto new file mode 100644 index 000000000..991057312 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_not_working_device.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing device of destination not working policy topic +// evidence. + +// Container for enum describing possible policy topic evidence destination not +// working devices. +message PolicyTopicEvidenceDestinationNotWorkingDeviceEnum { + // The possible policy topic evidence destination not working devices. + enum PolicyTopicEvidenceDestinationNotWorkingDevice { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Landing page doesn't work on desktop device. + DESKTOP = 2; + + // Landing page doesn't work on Android device. + ANDROID = 3; + + // Landing page doesn't work on iOS device. + IOS = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto new file mode 100644 index 000000000..bc2dd0139 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing DNS error types of destination not working policy topic +// evidence. + +// Container for enum describing possible policy topic evidence destination not +// working DNS error types. +message PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum { + // The possible policy topic evidence destination not working DNS error types. + enum PolicyTopicEvidenceDestinationNotWorkingDnsErrorType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Host name not found in DNS when fetching landing page. + HOSTNAME_NOT_FOUND = 2; + + // Google internal crawler issue when communicating with DNS. This error + // doesn't mean the landing page doesn't work. Google will recrawl the + // landing page. + GOOGLE_CRAWLER_DNS_ISSUE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/positive_geo_target_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/positive_geo_target_type.proto new file mode 100644 index 000000000..ed0e65175 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/positive_geo_target_type.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PositiveGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing positive geo target types. + +// Container for enum describing possible positive geo target types. +message PositiveGeoTargetTypeEnum { + // The possible positive geo target types. + enum PositiveGeoTargetType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Specifies that an ad is triggered if the user is in, + // or shows interest in, advertiser's targeted locations. + PRESENCE_OR_INTEREST = 5; + + // Specifies that an ad is triggered if the user + // searches for advertiser's targeted locations. + // This can only be used with Search and standard + // Shopping campaigns. + SEARCH_INTEREST = 6; + + // Specifies that an ad is triggered if the user is in + // or regularly in advertiser's targeted locations. + PRESENCE = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_price_qualifier.proto b/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_price_qualifier.proto new file mode 100644 index 000000000..aa1c1fa07 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_price_qualifier.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceQualifierProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing price extension price qualifier type. + +// Container for enum describing a price extension price qualifier. +message PriceExtensionPriceQualifierEnum { + // Enums of price extension price qualifier. + enum PriceExtensionPriceQualifier { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 'From' qualifier for the price. + FROM = 2; + + // 'Up to' qualifier for the price. + UP_TO = 3; + + // 'Average' qualifier for the price. + AVERAGE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_price_unit.proto b/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_price_unit.proto new file mode 100644 index 000000000..259df80af --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_price_unit.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceUnitProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing price extension price unit. + +// Container for enum describing price extension price unit. +message PriceExtensionPriceUnitEnum { + // Price extension price unit. + enum PriceExtensionPriceUnit { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per hour. + PER_HOUR = 2; + + // Per day. + PER_DAY = 3; + + // Per week. + PER_WEEK = 4; + + // Per month. + PER_MONTH = 5; + + // Per year. + PER_YEAR = 6; + + // Per night. + PER_NIGHT = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_type.proto new file mode 100644 index 000000000..4979a15c5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/price_extension_type.proto @@ -0,0 +1,67 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing price extension type. + +// Container for enum describing types for a price extension. +message PriceExtensionTypeEnum { + // Price extension type. + enum PriceExtensionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The type for showing a list of brands. + BRANDS = 2; + + // The type for showing a list of events. + EVENTS = 3; + + // The type for showing locations relevant to your business. + LOCATIONS = 4; + + // The type for showing sub-regions or districts within a city or region. + NEIGHBORHOODS = 5; + + // The type for showing a collection of product categories. + PRODUCT_CATEGORIES = 6; + + // The type for showing a collection of related product tiers. + PRODUCT_TIERS = 7; + + // The type for showing a collection of services offered by your business. + SERVICES = 8; + + // The type for showing a collection of service categories. + SERVICE_CATEGORIES = 9; + + // The type for showing a collection of related service tiers. + SERVICE_TIERS = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/price_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/price_placeholder_field.proto new file mode 100644 index 000000000..089dcda45 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/price_placeholder_field.proto @@ -0,0 +1,244 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PricePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Price placeholder fields. + +// Values for Price placeholder fields. +message PricePlaceholderFieldEnum { + // Possible values for Price placeholder fields. + enum PricePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The type of your price feed. Must match one of the + // predefined price feed type exactly. + TYPE = 2; + + // Data Type: STRING. The qualifier of each price. Must match one of the + // predefined price qualifiers exactly. + PRICE_QUALIFIER = 3; + + // Data Type: URL. Tracking template for the price feed when using Upgraded + // URLs. + TRACKING_TEMPLATE = 4; + + // Data Type: STRING. Language of the price feed. Must match one of the + // available available locale codes exactly. + LANGUAGE = 5; + + // Data Type: STRING. Final URL suffix for the price feed when using + // parallel tracking. + FINAL_URL_SUFFIX = 6; + + // Data Type: STRING. The header of item 1 of the table. + ITEM_1_HEADER = 100; + + // Data Type: STRING. The description of item 1 of the table. + ITEM_1_DESCRIPTION = 101; + + // Data Type: MONEY. The price (money with currency) of item 1 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_1_PRICE = 102; + + // Data Type: STRING. The price unit of item 1 of the table. Must match one + // of the predefined price units. + ITEM_1_UNIT = 103; + + // Data Type: URL_LIST. The final URLs of item 1 of the table when using + // Upgraded URLs. + ITEM_1_FINAL_URLS = 104; + + // Data Type: URL_LIST. The final mobile URLs of item 1 of the table when + // using Upgraded URLs. + ITEM_1_FINAL_MOBILE_URLS = 105; + + // Data Type: STRING. The header of item 2 of the table. + ITEM_2_HEADER = 200; + + // Data Type: STRING. The description of item 2 of the table. + ITEM_2_DESCRIPTION = 201; + + // Data Type: MONEY. The price (money with currency) of item 2 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_2_PRICE = 202; + + // Data Type: STRING. The price unit of item 2 of the table. Must match one + // of the predefined price units. + ITEM_2_UNIT = 203; + + // Data Type: URL_LIST. The final URLs of item 2 of the table when using + // Upgraded URLs. + ITEM_2_FINAL_URLS = 204; + + // Data Type: URL_LIST. The final mobile URLs of item 2 of the table when + // using Upgraded URLs. + ITEM_2_FINAL_MOBILE_URLS = 205; + + // Data Type: STRING. The header of item 3 of the table. + ITEM_3_HEADER = 300; + + // Data Type: STRING. The description of item 3 of the table. + ITEM_3_DESCRIPTION = 301; + + // Data Type: MONEY. The price (money with currency) of item 3 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_3_PRICE = 302; + + // Data Type: STRING. The price unit of item 3 of the table. Must match one + // of the predefined price units. + ITEM_3_UNIT = 303; + + // Data Type: URL_LIST. The final URLs of item 3 of the table when using + // Upgraded URLs. + ITEM_3_FINAL_URLS = 304; + + // Data Type: URL_LIST. The final mobile URLs of item 3 of the table when + // using Upgraded URLs. + ITEM_3_FINAL_MOBILE_URLS = 305; + + // Data Type: STRING. The header of item 4 of the table. + ITEM_4_HEADER = 400; + + // Data Type: STRING. The description of item 4 of the table. + ITEM_4_DESCRIPTION = 401; + + // Data Type: MONEY. The price (money with currency) of item 4 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_4_PRICE = 402; + + // Data Type: STRING. The price unit of item 4 of the table. Must match one + // of the predefined price units. + ITEM_4_UNIT = 403; + + // Data Type: URL_LIST. The final URLs of item 4 of the table when using + // Upgraded URLs. + ITEM_4_FINAL_URLS = 404; + + // Data Type: URL_LIST. The final mobile URLs of item 4 of the table when + // using Upgraded URLs. + ITEM_4_FINAL_MOBILE_URLS = 405; + + // Data Type: STRING. The header of item 5 of the table. + ITEM_5_HEADER = 500; + + // Data Type: STRING. The description of item 5 of the table. + ITEM_5_DESCRIPTION = 501; + + // Data Type: MONEY. The price (money with currency) of item 5 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_5_PRICE = 502; + + // Data Type: STRING. The price unit of item 5 of the table. Must match one + // of the predefined price units. + ITEM_5_UNIT = 503; + + // Data Type: URL_LIST. The final URLs of item 5 of the table when using + // Upgraded URLs. + ITEM_5_FINAL_URLS = 504; + + // Data Type: URL_LIST. The final mobile URLs of item 5 of the table when + // using Upgraded URLs. + ITEM_5_FINAL_MOBILE_URLS = 505; + + // Data Type: STRING. The header of item 6 of the table. + ITEM_6_HEADER = 600; + + // Data Type: STRING. The description of item 6 of the table. + ITEM_6_DESCRIPTION = 601; + + // Data Type: MONEY. The price (money with currency) of item 6 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_6_PRICE = 602; + + // Data Type: STRING. The price unit of item 6 of the table. Must match one + // of the predefined price units. + ITEM_6_UNIT = 603; + + // Data Type: URL_LIST. The final URLs of item 6 of the table when using + // Upgraded URLs. + ITEM_6_FINAL_URLS = 604; + + // Data Type: URL_LIST. The final mobile URLs of item 6 of the table when + // using Upgraded URLs. + ITEM_6_FINAL_MOBILE_URLS = 605; + + // Data Type: STRING. The header of item 7 of the table. + ITEM_7_HEADER = 700; + + // Data Type: STRING. The description of item 7 of the table. + ITEM_7_DESCRIPTION = 701; + + // Data Type: MONEY. The price (money with currency) of item 7 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_7_PRICE = 702; + + // Data Type: STRING. The price unit of item 7 of the table. Must match one + // of the predefined price units. + ITEM_7_UNIT = 703; + + // Data Type: URL_LIST. The final URLs of item 7 of the table when using + // Upgraded URLs. + ITEM_7_FINAL_URLS = 704; + + // Data Type: URL_LIST. The final mobile URLs of item 7 of the table when + // using Upgraded URLs. + ITEM_7_FINAL_MOBILE_URLS = 705; + + // Data Type: STRING. The header of item 8 of the table. + ITEM_8_HEADER = 800; + + // Data Type: STRING. The description of item 8 of the table. + ITEM_8_DESCRIPTION = 801; + + // Data Type: MONEY. The price (money with currency) of item 8 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_8_PRICE = 802; + + // Data Type: STRING. The price unit of item 8 of the table. Must match one + // of the predefined price units. + ITEM_8_UNIT = 803; + + // Data Type: URL_LIST. The final URLs of item 8 of the table when using + // Upgraded URLs. + ITEM_8_FINAL_URLS = 804; + + // Data Type: URL_LIST. The final mobile URLs of item 8 of the table when + // using Upgraded URLs. + ITEM_8_FINAL_MOBILE_URLS = 805; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/product_category_level.proto b/third_party/googleapis/google/ads/googleads/v16/enums/product_category_level.proto new file mode 100644 index 000000000..7c0d2c4c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/product_category_level.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Level of a product category. +message ProductCategoryLevelEnum { + // Enum describing the level of the product category. + enum ProductCategoryLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Level 1. + LEVEL1 = 2; + + // Level 2. + LEVEL2 = 3; + + // Level 3. + LEVEL3 = 4; + + // Level 4. + LEVEL4 = 5; + + // Level 5. + LEVEL5 = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/product_category_state.proto b/third_party/googleapis/google/ads/googleads/v16/enums/product_category_state.proto new file mode 100644 index 000000000..afffaef0c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/product_category_state.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCategoryStateProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// State of the product category. +message ProductCategoryStateEnum { + // Enum describing the state of the product category. + enum ProductCategoryState { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is enabled. + ENABLED = 2; + + // The category is obsolete. Used only for reporting purposes. + OBSOLETE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/product_channel.proto b/third_party/googleapis/google/ads/googleads/v16/enums/product_channel.proto new file mode 100644 index 000000000..d1a458ba9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/product_channel.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing bidding schemes. + +// Locality of a product offer. +message ProductChannelEnum { + // Enum describing the locality of a product offer. + enum ProductChannel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The item is sold online. + ONLINE = 2; + + // The item is sold in local stores. + LOCAL = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/product_channel_exclusivity.proto b/third_party/googleapis/google/ads/googleads/v16/enums/product_channel_exclusivity.proto new file mode 100644 index 000000000..298f05f05 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/product_channel_exclusivity.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing bidding schemes. + +// Availability of a product offer. +message ProductChannelExclusivityEnum { + // Enum describing the availability of a product offer. + enum ProductChannelExclusivity { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The item is sold through one channel only, either local stores or online + // as indicated by its ProductChannel. + SINGLE_CHANNEL = 2; + + // The item is matched to its online or local stores counterpart, indicating + // it is available for purchase in both ShoppingProductChannels. + MULTI_CHANNEL = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/product_condition.proto b/third_party/googleapis/google/ads/googleads/v16/enums/product_condition.proto new file mode 100644 index 000000000..85ec0a0a7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/product_condition.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing bidding schemes. + +// Condition of a product offer. +message ProductConditionEnum { + // Enum describing the condition of a product offer. + enum ProductCondition { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The product condition is new. + NEW = 3; + + // The product condition is refurbished. + REFURBISHED = 4; + + // The product condition is used. + USED = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/product_custom_attribute_index.proto b/third_party/googleapis/google/ads/googleads/v16/enums/product_custom_attribute_index.proto new file mode 100644 index 000000000..7fef19b65 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/product_custom_attribute_index.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing product custom attributes. + +// Container for enum describing the index of the product custom attribute. +message ProductCustomAttributeIndexEnum { + // The index of the product custom attribute. + enum ProductCustomAttributeIndex { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // First product custom attribute. + INDEX0 = 7; + + // Second product custom attribute. + INDEX1 = 8; + + // Third product custom attribute. + INDEX2 = 9; + + // Fourth product custom attribute. + INDEX3 = 10; + + // Fifth product custom attribute. + INDEX4 = 11; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/product_link_invitation_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/product_link_invitation_status.proto new file mode 100644 index 000000000..48b4b9b9c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/product_link_invitation_status.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing possible statuses of a product link +// invitation. +message ProductLinkInvitationStatusEnum { + // Describes the possible statuses for an invitation between a Google Ads + // customer and another account. + enum ProductLinkInvitationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The invitation is accepted. + ACCEPTED = 2; + + // An invitation has been sent to the other account. A user on the other + // account may now accept the invitation by setting the status to ACCEPTED. + REQUESTED = 3; + + // This invitation has been sent by a user on the other account. It may be + // accepted by a user on this account by setting the status to ACCEPTED. + PENDING_APPROVAL = 4; + + // The invitation is revoked by the user who sent the invitation. + REVOKED = 5; + + // The invitation has been rejected by the invitee. + REJECTED = 6; + + // The invitation has timed out before being accepted by the + // invitee. + EXPIRED = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/product_type_level.proto b/third_party/googleapis/google/ads/googleads/v16/enums/product_type_level.proto new file mode 100644 index 000000000..18b547a4c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/product_type_level.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing bidding schemes. + +// Level of the type of a product offer. +message ProductTypeLevelEnum { + // Enum describing the level of the type of a product offer. + enum ProductTypeLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Level 1. + LEVEL1 = 7; + + // Level 2. + LEVEL2 = 8; + + // Level 3. + LEVEL3 = 9; + + // Level 4. + LEVEL4 = 10; + + // Level 5. + LEVEL5 = 11; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/promotion_extension_discount_modifier.proto b/third_party/googleapis/google/ads/googleads/v16/enums/promotion_extension_discount_modifier.proto new file mode 100644 index 000000000..260c3b5b3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/promotion_extension_discount_modifier.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionDiscountModifierProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing promotion extension discount modifier. + +// Container for enum describing possible a promotion extension +// discount modifier. +message PromotionExtensionDiscountModifierEnum { + // A promotion extension discount modifier. + enum PromotionExtensionDiscountModifier { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 'Up to'. + UP_TO = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/promotion_extension_occasion.proto b/third_party/googleapis/google/ads/googleads/v16/enums/promotion_extension_occasion.proto new file mode 100644 index 000000000..d9644dae5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/promotion_extension_occasion.proto @@ -0,0 +1,153 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionOccasionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing promotion extension occasion. + +// Container for enum describing a promotion extension occasion. +// For more information about the occasions check: +// https://support.google.com/google-ads/answer/7367521 +message PromotionExtensionOccasionEnum { + // A promotion extension occasion. + enum PromotionExtensionOccasion { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // New Year's. + NEW_YEARS = 2; + + // Chinese New Year. + CHINESE_NEW_YEAR = 3; + + // Valentine's Day. + VALENTINES_DAY = 4; + + // Easter. + EASTER = 5; + + // Mother's Day. + MOTHERS_DAY = 6; + + // Father's Day. + FATHERS_DAY = 7; + + // Labor Day. + LABOR_DAY = 8; + + // Back To School. + BACK_TO_SCHOOL = 9; + + // Halloween. + HALLOWEEN = 10; + + // Black Friday. + BLACK_FRIDAY = 11; + + // Cyber Monday. + CYBER_MONDAY = 12; + + // Christmas. + CHRISTMAS = 13; + + // Boxing Day. + BOXING_DAY = 14; + + // Independence Day in any country. + INDEPENDENCE_DAY = 15; + + // National Day in any country. + NATIONAL_DAY = 16; + + // End of any season. + END_OF_SEASON = 17; + + // Winter Sale. + WINTER_SALE = 18; + + // Summer sale. + SUMMER_SALE = 19; + + // Fall Sale. + FALL_SALE = 20; + + // Spring Sale. + SPRING_SALE = 21; + + // Ramadan. + RAMADAN = 22; + + // Eid al-Fitr. + EID_AL_FITR = 23; + + // Eid al-Adha. + EID_AL_ADHA = 24; + + // Singles Day. + SINGLES_DAY = 25; + + // Women's Day. + WOMENS_DAY = 26; + + // Holi. + HOLI = 27; + + // Parent's Day. + PARENTS_DAY = 28; + + // St. Nicholas Day. + ST_NICHOLAS_DAY = 29; + + // Carnival. + CARNIVAL = 30; + + // Epiphany, also known as Three Kings' Day. + EPIPHANY = 31; + + // Rosh Hashanah. + ROSH_HASHANAH = 32; + + // Passover. + PASSOVER = 33; + + // Hanukkah. + HANUKKAH = 34; + + // Diwali. + DIWALI = 35; + + // Navratri. + NAVRATRI = 36; + + // Available in Thai: Songkran. + SONGKRAN = 37; + + // Available in Japanese: Year-end Gift. + YEAR_END_GIFT = 38; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/promotion_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/promotion_placeholder_field.proto new file mode 100644 index 000000000..41bc448c8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/promotion_placeholder_field.proto @@ -0,0 +1,91 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Promotion placeholder fields. + +// Values for Promotion placeholder fields. +message PromotionPlaceholderFieldEnum { + // Possible values for Promotion placeholder fields. + enum PromotionPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The text that appears on the ad when the extension is + // shown. + PROMOTION_TARGET = 2; + + // Data Type: STRING. Lets you add "up to" phrase to the promotion, + // in case you have variable promotion rates. + DISCOUNT_MODIFIER = 3; + + // Data Type: INT64. Takes a value in micros, where 1 million micros + // represents 1%, and is shown as a percentage when rendered. + PERCENT_OFF = 4; + + // Data Type: MONEY. Requires a currency and an amount of money. + MONEY_AMOUNT_OFF = 5; + + // Data Type: STRING. A string that the user enters to get the discount. + PROMOTION_CODE = 6; + + // Data Type: MONEY. A minimum spend before the user qualifies for the + // promotion. + ORDERS_OVER_AMOUNT = 7; + + // Data Type: DATE. The start date of the promotion. + PROMOTION_START = 8; + + // Data Type: DATE. The end date of the promotion. + PROMOTION_END = 9; + + // Data Type: STRING. Describes the associated event for the promotion using + // one of the PromotionExtensionOccasion enum values, for example NEW_YEARS. + OCCASION = 10; + + // Data Type: URL_LIST. Final URLs to be used in the ad when using Upgraded + // URLs. + FINAL_URLS = 11; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 12; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 13; + + // Data Type: STRING. A string represented by a language code for the + // promotion. + LANGUAGE = 14; + + // Data Type: STRING. Final URL suffix for the ad when using parallel + // tracking. + FINAL_URL_SUFFIX = 15; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/proximity_radius_units.proto b/third_party/googleapis/google/ads/googleads/v16/enums/proximity_radius_units.proto new file mode 100644 index 000000000..914ecaae4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/proximity_radius_units.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProximityRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing proximity radius units. + +// Container for enum describing unit of radius in proximity. +message ProximityRadiusUnitsEnum { + // The unit of radius distance in proximity (for example, MILES) + enum ProximityRadiusUnits { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Miles + MILES = 2; + + // Kilometers + KILOMETERS = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/quality_score_bucket.proto b/third_party/googleapis/google/ads/googleads/v16/enums/quality_score_bucket.proto new file mode 100644 index 000000000..2502aa0be --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/quality_score_bucket.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "QualityScoreBucketProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing quality score buckets. + +// The relative performance compared to other advertisers. +message QualityScoreBucketEnum { + // Enum listing the possible quality score buckets. + enum QualityScoreBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Quality of the creative is below average. + BELOW_AVERAGE = 2; + + // Quality of the creative is average. + AVERAGE = 3; + + // Quality of the creative is above average. + ABOVE_AVERAGE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_age_range.proto b/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_age_range.proto new file mode 100644 index 000000000..bf96efea1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_age_range.proto @@ -0,0 +1,118 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAgeRangeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing a plannable age range. + +// Message describing plannable age ranges. +message ReachPlanAgeRangeEnum { + // Possible plannable age range values. + enum ReachPlanAgeRange { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Between 18 and 24 years old. + AGE_RANGE_18_24 = 503001; + + // Between 18 and 34 years old. + AGE_RANGE_18_34 = 2; + + // Between 18 and 44 years old. + AGE_RANGE_18_44 = 3; + + // Between 18 and 49 years old. + AGE_RANGE_18_49 = 4; + + // Between 18 and 54 years old. + AGE_RANGE_18_54 = 5; + + // Between 18 and 64 years old. + AGE_RANGE_18_64 = 6; + + // Between 18 and 65+ years old. + AGE_RANGE_18_65_UP = 7; + + // Between 21 and 34 years old. + AGE_RANGE_21_34 = 8; + + // Between 25 and 34 years old. + AGE_RANGE_25_34 = 503002; + + // Between 25 and 44 years old. + AGE_RANGE_25_44 = 9; + + // Between 25 and 49 years old. + AGE_RANGE_25_49 = 10; + + // Between 25 and 54 years old. + AGE_RANGE_25_54 = 11; + + // Between 25 and 64 years old. + AGE_RANGE_25_64 = 12; + + // Between 25 and 65+ years old. + AGE_RANGE_25_65_UP = 13; + + // Between 35 and 44 years old. + AGE_RANGE_35_44 = 503003; + + // Between 35 and 49 years old. + AGE_RANGE_35_49 = 14; + + // Between 35 and 54 years old. + AGE_RANGE_35_54 = 15; + + // Between 35 and 64 years old. + AGE_RANGE_35_64 = 16; + + // Between 35 and 65+ years old. + AGE_RANGE_35_65_UP = 17; + + // Between 45 and 54 years old. + AGE_RANGE_45_54 = 503004; + + // Between 45 and 64 years old. + AGE_RANGE_45_64 = 18; + + // Between 45 and 65+ years old. + AGE_RANGE_45_65_UP = 19; + + // Between 50 and 65+ years old. + AGE_RANGE_50_65_UP = 20; + + // Between 55 and 64 years old. + AGE_RANGE_55_64 = 503005; + + // Between 55 and 65+ years old. + AGE_RANGE_55_65_UP = 21; + + // 65 years old and beyond. + AGE_RANGE_65_UP = 503006; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_network.proto b/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_network.proto new file mode 100644 index 000000000..27f7f034d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_network.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing a plannable network. + +// Container for enum describing plannable networks. +message ReachPlanNetworkEnum { + // Possible plannable network values. + enum ReachPlanNetwork { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // YouTube network. + YOUTUBE = 2; + + // Google Video Partners (GVP) network. + GOOGLE_VIDEO_PARTNERS = 3; + + // A combination of the YouTube network and the Google Video Partners + // network. + YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_surface.proto b/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_surface.proto new file mode 100644 index 000000000..9a5320369 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/reach_plan_surface.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanSurfaceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing surfaces available for targeting in forecasts. +// Surfaces refer to the available types of ad inventories such as In-Feed, +// In-Stream, and Shorts. +message ReachPlanSurfaceEnum { + // Surfaces available to target in reach forecasts. + enum ReachPlanSurface { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // In-Feed ad surface. + IN_FEED = 2; + + // In-Stream bumper ad surface. + IN_STREAM_BUMPER = 3; + + // In-Stream non-skippable ad surface. + IN_STREAM_NON_SKIPPABLE = 4; + + // In-Stream skippable ad surface. + IN_STREAM_SKIPPABLE = 5; + + // Shorts ad surface. + SHORTS = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/real_estate_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/real_estate_placeholder_field.proto new file mode 100644 index 000000000..e27635acb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/real_estate_placeholder_field.proto @@ -0,0 +1,111 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RealEstatePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Real Estate placeholder fields. + +// Values for Real Estate placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message RealEstatePlaceholderFieldEnum { + // Possible values for Real Estate placeholder fields. + enum RealEstatePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Unique ID. + LISTING_ID = 2; + + // Data Type: STRING. Main headline with listing name to be shown in dynamic + // ad. + LISTING_NAME = 3; + + // Data Type: STRING. City name to be shown in dynamic ad. + CITY_NAME = 4; + + // Data Type: STRING. Description of listing to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Complete listing address, including postal code. + ADDRESS = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 9; + + // Data Type: STRING. Type of property (house, condo, apartment, etc.) used + // to group like items together for recommendation engine. + PROPERTY_TYPE = 10; + + // Data Type: STRING. Type of listing (resale, rental, foreclosure, etc.) + // used to group like items together for recommendation engine. + LISTING_TYPE = 11; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 12; + + // Data Type: URL_LIST. Final URLs to be used in ad when using Upgraded + // URLs; the more specific the better (for example, the individual URL of a + // specific listing and its location). + FINAL_URLS = 13; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 14; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 15; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 16; + + // Data Type: STRING_LIST. List of recommended listing IDs to show together + // with this item. + SIMILAR_LISTING_IDS = 17; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 18; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 19; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/recommendation_subscription_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/recommendation_subscription_status.proto new file mode 100644 index 000000000..631ac8b6a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/recommendation_subscription_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationSubscriptionStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Recommendation Subscription status. + +// Container for enum describing recommendation subscription statuses. +message RecommendationSubscriptionStatusEnum { + // Enum describing recommendation subscription statuses. + enum RecommendationSubscriptionStatus { + // Not specified. + UNSPECIFIED = 0; + + // Output-only. Represents a format not yet defined in this enum. + UNKNOWN = 1; + + // A subscription in the enabled state will automatically + // apply any recommendations of that type. + ENABLED = 2; + + // Recommendations of the relevant type will not be + // automatically applied. Subscriptions cannot be deleted. Once + // created, they can only move between enabled and paused states. + PAUSED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/recommendation_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/recommendation_type.proto new file mode 100644 index 000000000..1c4fc3563 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/recommendation_type.proto @@ -0,0 +1,247 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Recommendation types. + +// Container for enum describing types of recommendations. +message RecommendationTypeEnum { + // Types of recommendations. + enum RecommendationType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget recommendation for campaigns that are currently budget-constrained + // (as opposed to the FORECASTING_CAMPAIGN_BUDGET recommendation, which + // applies to campaigns that are expected to become budget-constrained in + // the future). + CAMPAIGN_BUDGET = 2; + + // Keyword recommendation. + KEYWORD = 3; + + // Recommendation to add a new text ad. + TEXT_AD = 4; + + // Recommendation to update a campaign to use a Target CPA bidding strategy. + TARGET_CPA_OPT_IN = 5; + + // Recommendation to update a campaign to use the Maximize Conversions + // bidding strategy. + MAXIMIZE_CONVERSIONS_OPT_IN = 6; + + // Recommendation to enable Enhanced Cost Per Click for a campaign. + ENHANCED_CPC_OPT_IN = 7; + + // Recommendation to start showing your campaign's ads on Google Search + // Partners Websites. + SEARCH_PARTNERS_OPT_IN = 8; + + // Recommendation to update a campaign to use a Maximize Clicks bidding + // strategy. + MAXIMIZE_CLICKS_OPT_IN = 9; + + // Recommendation to start using the "Optimize" ad rotation setting for the + // given ad group. + OPTIMIZE_AD_ROTATION = 10; + + // Recommendation to change an existing keyword from one match type to a + // broader match type. + KEYWORD_MATCH_TYPE = 14; + + // Recommendation to move unused budget from one budget to a constrained + // budget. + MOVE_UNUSED_BUDGET = 15; + + // Budget recommendation for campaigns that are expected to become + // budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET + // recommendation, which applies to campaigns that are currently + // budget-constrained). + FORECASTING_CAMPAIGN_BUDGET = 16; + + // Recommendation to update a campaign to use a Target ROAS bidding + // strategy. + TARGET_ROAS_OPT_IN = 17; + + // Recommendation to add a new responsive search ad. + RESPONSIVE_SEARCH_AD = 18; + + // Budget recommendation for campaigns whose ROI is predicted to increase + // with a budget adjustment. + MARGINAL_ROI_CAMPAIGN_BUDGET = 19; + + // Recommendation to add broad match versions of keywords for fully + // automated conversion-based bidding campaigns. + USE_BROAD_MATCH_KEYWORD = 20; + + // Recommendation to add new responsive search ad assets. + RESPONSIVE_SEARCH_AD_ASSET = 21; + + // Recommendation to upgrade a Smart Shopping campaign to a Performance Max + // campaign. + UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX = 22; + + // Recommendation to improve strength of responsive search ad. + RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH = 23; + + // Recommendation to update a campaign to use Display Expansion. + DISPLAY_EXPANSION_OPT_IN = 24; + + // Recommendation to upgrade a Local campaign to a Performance Max + // campaign. + UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX = 25; + + // Recommendation to raise target CPA when it is too low and there are very + // few or no conversions. + // It is applied asynchronously and can take minutes + // depending on the number of ad groups there are in the related campaign. + RAISE_TARGET_CPA_BID_TOO_LOW = 26; + + // Recommendation to raise the budget in advance of a seasonal event that is + // forecasted to increase traffic, and change bidding strategy from maximize + // conversion value to target ROAS. + FORECASTING_SET_TARGET_ROAS = 27; + + // Recommendation to add callout assets to campaign or customer level. + CALLOUT_ASSET = 28; + + // Recommendation to add sitelink assets to campaign or customer level. + SITELINK_ASSET = 29; + + // Recommendation to add call assets to campaign or customer level. + CALL_ASSET = 30; + + // Recommendation to add the age group attribute to offers that are + // demoted because of a missing age group. + SHOPPING_ADD_AGE_GROUP = 31; + + // Recommendation to add a color to offers that are demoted + // because of a missing color. + SHOPPING_ADD_COLOR = 32; + + // Recommendation to add a gender to offers that are demoted + // because of a missing gender. + SHOPPING_ADD_GENDER = 33; + + // Recommendation to add a GTIN (Global Trade Item Number) to offers + // that are demoted because of a missing GTIN. + SHOPPING_ADD_GTIN = 34; + + // Recommendation to add more identifiers to offers that are demoted because + // of missing identifiers. + SHOPPING_ADD_MORE_IDENTIFIERS = 35; + + // Recommendation to add the size to offers that are demoted + // because of a missing size. + SHOPPING_ADD_SIZE = 36; + + // Recommendation informing a customer about a campaign that cannot serve + // because no products are being targeted. + SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN = 37; + + // The shopping recommendation informing a customer about campaign with a + // high percentage of disapproved products. + SHOPPING_FIX_DISAPPROVED_PRODUCTS = 38; + + // Recommendation to create a catch-all campaign that targets all offers. + SHOPPING_TARGET_ALL_OFFERS = 39; + + // Recommendation to fix Merchant Center account suspension issues. + SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT = 40; + + // Recommendation to fix Merchant Center account suspension warning issues. + SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING = 41; + + // Recommendation to migrate offers targeted by Regular Shopping Campaigns + // to existing Performance Max campaigns. + SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX = 42; + + // Recommendation to enable dynamic image extensions on the account, + // allowing Google to find the best images from ad landing pages and + // complement text ads. + DYNAMIC_IMAGE_EXTENSION_OPT_IN = 43; + + // Recommendation to raise Target CPA based on Google predictions modeled + // from past conversions. It is applied asynchronously and can take minutes + // depending on the number of ad groups there are in the related campaign. + RAISE_TARGET_CPA = 44; + + // Recommendation to lower Target ROAS. + LOWER_TARGET_ROAS = 45; + + // Recommendation to opt into Performance Max campaigns. + PERFORMANCE_MAX_OPT_IN = 46; + + // Recommendation to improve the asset group strength of a Performance Max + // campaign to an "Excellent" rating. + IMPROVE_PERFORMANCE_MAX_AD_STRENGTH = 47; + + // Recommendation to migrate Dynamic Search Ads to Performance Max + // campaigns. + MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX = 48; + + // Recommendation to set a target CPA for campaigns that do not have one + // specified, in advance of a seasonal event that is forecasted to increase + // traffic. + FORECASTING_SET_TARGET_CPA = 49; + + // Recommendation to set a target CPA for campaigns that do not have one + // specified. + SET_TARGET_CPA = 50; + + // Recommendation to set a target ROAS for campaigns that do not have one + // specified. + SET_TARGET_ROAS = 51; + + // Recommendation to update a campaign to use the Maximize Conversion Value + // bidding strategy. + MAXIMIZE_CONVERSION_VALUE_OPT_IN = 52; + + // Recommendation to deploy Google Tag on more pages. + IMPROVE_GOOGLE_TAG_COVERAGE = 53; + + // Recommendation to turn on Final URL expansion for your Performance Max + // campaigns. + PERFORMANCE_MAX_FINAL_URL_OPT_IN = 54; + + // Recommendation to update a customer list that hasn't been updated + // in the last 90 days. + REFRESH_CUSTOMER_MATCH_LIST = 55; + + // Recommendation to create a custom audience. + CUSTOM_AUDIENCE_OPT_IN = 56; + + // Recommendation to add lead form assets to campaign or customer level. + LEAD_FORM_ASSET = 57; + + // Recommendation to improve the strength of ads in + // Demand Gen campaigns. + IMPROVE_DEMAND_GEN_AD_STRENGTH = 58; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/resource_change_operation.proto b/third_party/googleapis/google/ads/googleads/v16/enums/resource_change_operation.proto new file mode 100644 index 000000000..c63cdda90 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/resource_change_operation.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceChangeOperationProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the resource change operations in change event. + +// Container for enum describing resource change operations +// in the ChangeEvent resource. +message ResourceChangeOperationEnum { + // The operation on the changed resource in change_event resource. + enum ResourceChangeOperation { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified operation unknown + // in this version. + UNKNOWN = 1; + + // The resource was created. + CREATE = 2; + + // The resource was modified. + UPDATE = 3; + + // The resource was removed. + REMOVE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/resource_limit_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/resource_limit_type.proto new file mode 100644 index 000000000..432b195a3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/resource_limit_type.proto @@ -0,0 +1,493 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceLimitTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing possible resource limit types. +message ResourceLimitTypeEnum { + // Resource limit type. + enum ResourceLimitType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified operation unknown + // in this version. + UNKNOWN = 1; + + // Number of ENABLED and PAUSED campaigns per customer. + CAMPAIGNS_PER_CUSTOMER = 2; + + // Number of ENABLED and PAUSED base campaigns per customer. + BASE_CAMPAIGNS_PER_CUSTOMER = 3; + + // Number of ENABLED and PAUSED experiment campaigns per customer. + EXPERIMENT_CAMPAIGNS_PER_CUSTOMER = 105; + + // Number of ENABLED and PAUSED Hotel campaigns per customer. + HOTEL_CAMPAIGNS_PER_CUSTOMER = 4; + + // Number of ENABLED and PAUSED Smart Shopping campaigns per customer. + SMART_SHOPPING_CAMPAIGNS_PER_CUSTOMER = 5; + + // Number of ENABLED ad groups per campaign. + AD_GROUPS_PER_CAMPAIGN = 6; + + // Number of ENABLED ad groups per Shopping campaign. + AD_GROUPS_PER_SHOPPING_CAMPAIGN = 8; + + // Number of ENABLED ad groups per Hotel campaign. + AD_GROUPS_PER_HOTEL_CAMPAIGN = 9; + + // Number of ENABLED reporting ad groups per local campaign. + REPORTING_AD_GROUPS_PER_LOCAL_CAMPAIGN = 10; + + // Number of ENABLED reporting ad groups per App campaign. It includes app + // campaign and app campaign for engagement. + REPORTING_AD_GROUPS_PER_APP_CAMPAIGN = 11; + + // Number of ENABLED managed ad groups per smart campaign. + MANAGED_AD_GROUPS_PER_SMART_CAMPAIGN = 52; + + // Number of ENABLED ad group criteria per customer. + // An ad group criterion is considered as ENABLED if: + // 1. it's not REMOVED + // 2. its ad group is not REMOVED + // 3. its campaign is not REMOVED. + AD_GROUP_CRITERIA_PER_CUSTOMER = 12; + + // Number of ad group criteria across all base campaigns for a customer. + BASE_AD_GROUP_CRITERIA_PER_CUSTOMER = 13; + + // Number of ad group criteria across all experiment campaigns for a + // customer. + EXPERIMENT_AD_GROUP_CRITERIA_PER_CUSTOMER = 107; + + // Number of ENABLED ad group criteria per campaign. + // An ad group criterion is considered as ENABLED if: + // 1. it's not REMOVED + // 2. its ad group is not REMOVED. + AD_GROUP_CRITERIA_PER_CAMPAIGN = 14; + + // Number of ENABLED campaign criteria per customer. + CAMPAIGN_CRITERIA_PER_CUSTOMER = 15; + + // Number of ENABLED campaign criteria across all base campaigns for a + // customer. + BASE_CAMPAIGN_CRITERIA_PER_CUSTOMER = 16; + + // Number of ENABLED campaign criteria across all experiment campaigns for a + // customer. + EXPERIMENT_CAMPAIGN_CRITERIA_PER_CUSTOMER = 108; + + // Number of ENABLED webpage criteria per customer, including + // campaign level and ad group level. + WEBPAGE_CRITERIA_PER_CUSTOMER = 17; + + // Number of ENABLED webpage criteria across all base campaigns for + // a customer. + BASE_WEBPAGE_CRITERIA_PER_CUSTOMER = 18; + + // Meximum number of ENABLED webpage criteria across all experiment + // campaigns for a customer. + EXPERIMENT_WEBPAGE_CRITERIA_PER_CUSTOMER = 19; + + // Number of combined audience criteria per ad group. + COMBINED_AUDIENCE_CRITERIA_PER_AD_GROUP = 20; + + // Limit for placement criterion type group in customer negative criterion. + CUSTOMER_NEGATIVE_PLACEMENT_CRITERIA_PER_CUSTOMER = 21; + + // Limit for YouTube TV channels in customer negative criterion. + CUSTOMER_NEGATIVE_YOUTUBE_CHANNEL_CRITERIA_PER_CUSTOMER = 22; + + // Number of ENABLED criteria per ad group. + CRITERIA_PER_AD_GROUP = 23; + + // Number of listing group criteria per ad group. + LISTING_GROUPS_PER_AD_GROUP = 24; + + // Number of ENABLED explicitly shared budgets per customer. + EXPLICITLY_SHARED_BUDGETS_PER_CUSTOMER = 25; + + // Number of ENABLED implicitly shared budgets per customer. + IMPLICITLY_SHARED_BUDGETS_PER_CUSTOMER = 26; + + // Number of combined audience criteria per campaign. + COMBINED_AUDIENCE_CRITERIA_PER_CAMPAIGN = 27; + + // Number of negative keywords per campaign. + NEGATIVE_KEYWORDS_PER_CAMPAIGN = 28; + + // Number of excluded campaign criteria in placement dimension, for example, + // placement, mobile application, YouTube channel, etc. The API criterion + // type is NOT limited to placement only, and this does not include + // exclusions at the ad group or other levels. + NEGATIVE_PLACEMENTS_PER_CAMPAIGN = 29; + + // Number of geo targets per campaign. + GEO_TARGETS_PER_CAMPAIGN = 30; + + // Number of negative IP blocks per campaign. + NEGATIVE_IP_BLOCKS_PER_CAMPAIGN = 32; + + // Number of proximity targets per campaign. + PROXIMITIES_PER_CAMPAIGN = 33; + + // Number of listing scopes per Shopping campaign. + LISTING_SCOPES_PER_SHOPPING_CAMPAIGN = 34; + + // Number of listing scopes per non-Shopping campaign. + LISTING_SCOPES_PER_NON_SHOPPING_CAMPAIGN = 35; + + // Number of criteria per negative keyword shared set. + NEGATIVE_KEYWORDS_PER_SHARED_SET = 36; + + // Number of criteria per negative placement shared set. + NEGATIVE_PLACEMENTS_PER_SHARED_SET = 37; + + // Default number of shared sets allowed per type per customer. + SHARED_SETS_PER_CUSTOMER_FOR_TYPE_DEFAULT = 40; + + // Number of shared sets of negative placement list type for a + // manager customer. + SHARED_SETS_PER_CUSTOMER_FOR_NEGATIVE_PLACEMENT_LIST_LOWER = 41; + + // Number of hotel_advance_booking_window bid modifiers per ad group. + HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUP = 44; + + // Number of ENABLED shared bidding strategies per customer. + BIDDING_STRATEGIES_PER_CUSTOMER = 45; + + // Number of open basic user lists per customer. + BASIC_USER_LISTS_PER_CUSTOMER = 47; + + // Number of open logical user lists per customer. + LOGICAL_USER_LISTS_PER_CUSTOMER = 48; + + // Number of open rule based user lists per customer. + RULE_BASED_USER_LISTS_PER_CUSTOMER = 153; + + // Number of ENABLED and PAUSED ad group ads across all base campaigns for a + // customer. + BASE_AD_GROUP_ADS_PER_CUSTOMER = 53; + + // Number of ENABLED and PAUSED ad group ads across all experiment campaigns + // for a customer. + EXPERIMENT_AD_GROUP_ADS_PER_CUSTOMER = 54; + + // Number of ENABLED and PAUSED ad group ads per campaign. + AD_GROUP_ADS_PER_CAMPAIGN = 55; + + // Number of ENABLED ads per ad group that do not fall in to other buckets. + // Includes text and many other types. + TEXT_AND_OTHER_ADS_PER_AD_GROUP = 56; + + // Number of ENABLED image ads per ad group. + IMAGE_ADS_PER_AD_GROUP = 57; + + // Number of ENABLED shopping smart ads per ad group. + SHOPPING_SMART_ADS_PER_AD_GROUP = 58; + + // Number of ENABLED responsive search ads per ad group. + RESPONSIVE_SEARCH_ADS_PER_AD_GROUP = 59; + + // Number of ENABLED app ads per ad group. + APP_ADS_PER_AD_GROUP = 60; + + // Number of ENABLED app engagement ads per ad group. + APP_ENGAGEMENT_ADS_PER_AD_GROUP = 61; + + // Number of ENABLED local ads per ad group. + LOCAL_ADS_PER_AD_GROUP = 62; + + // Number of ENABLED video ads per ad group. + VIDEO_ADS_PER_AD_GROUP = 63; + + // Number of ENABLED lead form CampaignAssets per campaign. + LEAD_FORM_CAMPAIGN_ASSETS_PER_CAMPAIGN = 143; + + // Number of ENABLED promotion CustomerAssets per customer. + PROMOTION_CUSTOMER_ASSETS_PER_CUSTOMER = 79; + + // Number of ENABLED promotion CampaignAssets per campaign. + PROMOTION_CAMPAIGN_ASSETS_PER_CAMPAIGN = 80; + + // Number of ENABLED promotion AdGroupAssets per ad group. + PROMOTION_AD_GROUP_ASSETS_PER_AD_GROUP = 81; + + // Number of ENABLED callout CustomerAssets per customer. + CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER = 134; + + // Number of ENABLED callout CampaignAssets per campaign. + CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN = 135; + + // Number of ENABLED callout AdGroupAssets per ad group. + CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP = 136; + + // Number of ENABLED sitelink CustomerAssets per customer. + SITELINK_CUSTOMER_ASSETS_PER_CUSTOMER = 137; + + // Number of ENABLED sitelink CampaignAssets per campaign. + SITELINK_CAMPAIGN_ASSETS_PER_CAMPAIGN = 138; + + // Number of ENABLED sitelink AdGroupAssets per ad group. + SITELINK_AD_GROUP_ASSETS_PER_AD_GROUP = 139; + + // Number of ENABLED structured snippet CustomerAssets per customer. + STRUCTURED_SNIPPET_CUSTOMER_ASSETS_PER_CUSTOMER = 140; + + // Number of ENABLED structured snippet CampaignAssets per campaign. + STRUCTURED_SNIPPET_CAMPAIGN_ASSETS_PER_CAMPAIGN = 141; + + // Number of ENABLED structured snippet AdGroupAssets per ad group. + STRUCTURED_SNIPPET_AD_GROUP_ASSETS_PER_AD_GROUP = 142; + + // Number of ENABLED mobile app CustomerAssets per customer. + MOBILE_APP_CUSTOMER_ASSETS_PER_CUSTOMER = 144; + + // Number of ENABLED mobile app CampaignAssets per campaign. + MOBILE_APP_CAMPAIGN_ASSETS_PER_CAMPAIGN = 145; + + // Number of ENABLED mobile app AdGroupAssets per ad group. + MOBILE_APP_AD_GROUP_ASSETS_PER_AD_GROUP = 146; + + // Number of ENABLED hotel callout CustomerAssets per customer. + HOTEL_CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER = 147; + + // Number of ENABLED hotel callout CampaignAssets per campaign. + HOTEL_CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN = 148; + + // Number of ENABLED hotel callout AdGroupAssets per ad group. + HOTEL_CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP = 149; + + // Number of ENABLED call CustomerAssets per customer. + CALL_CUSTOMER_ASSETS_PER_CUSTOMER = 150; + + // Number of ENABLED call CampaignAssets per campaign. + CALL_CAMPAIGN_ASSETS_PER_CAMPAIGN = 151; + + // Number of ENABLED call AdGroupAssets per ad group. + CALL_AD_GROUP_ASSETS_PER_AD_GROUP = 152; + + // Number of ENABLED price CustomerAssets per customer. + PRICE_CUSTOMER_ASSETS_PER_CUSTOMER = 154; + + // Number of ENABLED price CampaignAssets per campaign. + PRICE_CAMPAIGN_ASSETS_PER_CAMPAIGN = 155; + + // Number of ENABLED price AdGroupAssets per ad group. + PRICE_AD_GROUP_ASSETS_PER_AD_GROUP = 156; + + // Number of ENABLED ad image CampaignAssets per campaign. + AD_IMAGE_CAMPAIGN_ASSETS_PER_CAMPAIGN = 175; + + // Number of ENABLED ad image AdGroupAssets per ad group. + AD_IMAGE_AD_GROUP_ASSETS_PER_AD_GROUP = 176; + + // Number of ENABLED page feed asset sets per customer. + PAGE_FEED_ASSET_SETS_PER_CUSTOMER = 157; + + // Number of ENABLED dynamic education feed asset sets per customer. + DYNAMIC_EDUCATION_FEED_ASSET_SETS_PER_CUSTOMER = 158; + + // Number of ENABLED assets per page feed asset set. + ASSETS_PER_PAGE_FEED_ASSET_SET = 159; + + // Number of ENABLED assets per dynamic education asset set. + ASSETS_PER_DYNAMIC_EDUCATION_FEED_ASSET_SET = 160; + + // Number of ENABLED dynamic real estate asset sets per customer. + DYNAMIC_REAL_ESTATE_ASSET_SETS_PER_CUSTOMER = 161; + + // Number of ENABLED assets per dynamic real estate asset set. + ASSETS_PER_DYNAMIC_REAL_ESTATE_ASSET_SET = 162; + + // Number of ENABLED dynamic custom asset sets per customer. + DYNAMIC_CUSTOM_ASSET_SETS_PER_CUSTOMER = 163; + + // Number of ENABLED assets per dynamic custom asset set. + ASSETS_PER_DYNAMIC_CUSTOM_ASSET_SET = 164; + + // Number of ENABLED dynamic hotels and rentals asset sets per + // customer. + DYNAMIC_HOTELS_AND_RENTALS_ASSET_SETS_PER_CUSTOMER = 165; + + // Number of ENABLED assets per dynamic hotels and rentals asset set. + ASSETS_PER_DYNAMIC_HOTELS_AND_RENTALS_ASSET_SET = 166; + + // Number of ENABLED dynamic local asset sets per customer. + DYNAMIC_LOCAL_ASSET_SETS_PER_CUSTOMER = 167; + + // Number of ENABLED assets per dynamic local asset set. + ASSETS_PER_DYNAMIC_LOCAL_ASSET_SET = 168; + + // Number of ENABLED dynamic flights asset sets per customer. + DYNAMIC_FLIGHTS_ASSET_SETS_PER_CUSTOMER = 169; + + // Number of ENABLED assets per dynamic flights asset set. + ASSETS_PER_DYNAMIC_FLIGHTS_ASSET_SET = 170; + + // Number of ENABLED dynamic travel asset sets per customer. + DYNAMIC_TRAVEL_ASSET_SETS_PER_CUSTOMER = 171; + + // Number of ENABLED assets per dynamic travel asset set. + ASSETS_PER_DYNAMIC_TRAVEL_ASSET_SET = 172; + + // Number of ENABLED dynamic jobs asset sets per customer. + DYNAMIC_JOBS_ASSET_SETS_PER_CUSTOMER = 173; + + // Number of ENABLED assets per dynamic jobs asset set. + ASSETS_PER_DYNAMIC_JOBS_ASSET_SET = 174; + + // Number of ENABLED business name CampaignAssets per campaign. + BUSINESS_NAME_CAMPAIGN_ASSETS_PER_CAMPAIGN = 179; + + // Number of ENABLED business logo CampaignAssets per campaign. + BUSINESS_LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN = 180; + + // Number of versions per ad. + VERSIONS_PER_AD = 82; + + // Number of ENABLED user feeds per customer. + USER_FEEDS_PER_CUSTOMER = 90; + + // Number of ENABLED system feeds per customer. + SYSTEM_FEEDS_PER_CUSTOMER = 91; + + // Number of feed attributes per feed. + FEED_ATTRIBUTES_PER_FEED = 92; + + // Number of ENABLED feed items per customer. + FEED_ITEMS_PER_CUSTOMER = 94; + + // Number of ENABLED campaign feeds per customer. + CAMPAIGN_FEEDS_PER_CUSTOMER = 95; + + // Number of ENABLED campaign feeds across all base campaigns for a + // customer. + BASE_CAMPAIGN_FEEDS_PER_CUSTOMER = 96; + + // Number of ENABLED campaign feeds across all experiment campaigns for a + // customer. + EXPERIMENT_CAMPAIGN_FEEDS_PER_CUSTOMER = 109; + + // Number of ENABLED ad group feeds per customer. + AD_GROUP_FEEDS_PER_CUSTOMER = 97; + + // Number of ENABLED ad group feeds across all base campaigns for a + // customer. + BASE_AD_GROUP_FEEDS_PER_CUSTOMER = 98; + + // Number of ENABLED ad group feeds across all experiment campaigns for a + // customer. + EXPERIMENT_AD_GROUP_FEEDS_PER_CUSTOMER = 110; + + // Number of ENABLED ad group feeds per campaign. + AD_GROUP_FEEDS_PER_CAMPAIGN = 99; + + // Number of ENABLED feed items per customer. + FEED_ITEM_SETS_PER_CUSTOMER = 100; + + // Number of feed items per feed item set. + FEED_ITEMS_PER_FEED_ITEM_SET = 101; + + // Number of ENABLED campaign experiments per customer. + CAMPAIGN_EXPERIMENTS_PER_CUSTOMER = 112; + + // Number of video experiment arms per experiment. + EXPERIMENT_ARMS_PER_VIDEO_EXPERIMENT = 113; + + // Number of owned labels per customer. + OWNED_LABELS_PER_CUSTOMER = 115; + + // Number of applied labels per campaign. + LABELS_PER_CAMPAIGN = 117; + + // Number of applied labels per ad group. + LABELS_PER_AD_GROUP = 118; + + // Number of applied labels per ad group ad. + LABELS_PER_AD_GROUP_AD = 119; + + // Number of applied labels per ad group criterion. + LABELS_PER_AD_GROUP_CRITERION = 120; + + // Number of customers with a single label applied. + TARGET_CUSTOMERS_PER_LABEL = 121; + + // Number of ENABLED keyword plans per user per customer. + // The limit is applied per pair because by default a plan + // is private to a user of a customer. Each user of a customer has their own + // independent limit. + KEYWORD_PLANS_PER_USER_PER_CUSTOMER = 122; + + // Number of keyword plan ad group keywords per keyword plan. + KEYWORD_PLAN_AD_GROUP_KEYWORDS_PER_KEYWORD_PLAN = 123; + + // Number of keyword plan ad groups per keyword plan. + KEYWORD_PLAN_AD_GROUPS_PER_KEYWORD_PLAN = 124; + + // Number of keyword plan negative keywords (both campaign and ad group) per + // keyword plan. + KEYWORD_PLAN_NEGATIVE_KEYWORDS_PER_KEYWORD_PLAN = 125; + + // Number of keyword plan campaigns per keyword plan. + KEYWORD_PLAN_CAMPAIGNS_PER_KEYWORD_PLAN = 126; + + // Number of ENABLED conversion actions per customer. + CONVERSION_ACTIONS_PER_CUSTOMER = 128; + + // Number of operations in a single batch job. + BATCH_JOB_OPERATIONS_PER_JOB = 130; + + // Number of PENDING or ENABLED batch jobs per customer. + BATCH_JOBS_PER_CUSTOMER = 131; + + // Number of hotel check-in date range bid modifiers per ad agroup. + HOTEL_CHECK_IN_DATE_RANGE_BID_MODIFIERS_PER_AD_GROUP = 132; + + // Number of shared sets of type ACCOUNT_LEVEL_NEGATIVE_KEYWORDS per + // account. + SHARED_SETS_PER_ACCOUNT_FOR_ACCOUNT_LEVEL_NEGATIVE_KEYWORDS = 177; + + // Number of keywords per ACCOUNT_LEVEL_NEGATIVE_KEYWORDS shared set. + ACCOUNT_LEVEL_NEGATIVE_KEYWORDS_PER_SHARED_SET = 178; + + // Maximum number of asset per hotel property asset set. + ENABLED_ASSET_PER_HOTEL_PROPERTY_ASSET_SET = 181; + + // Maximum number of enabled hotel property assets per asset group. + ENABLED_HOTEL_PROPERTY_ASSET_LINKS_PER_ASSET_GROUP = 182; + + // Number of criteria per brand shared set. + BRANDS_PER_SHARED_SET = 183; + + // Number of active brand list criteria per campaign. + ENABLED_BRAND_LIST_CRITERIA_PER_CAMPAIGN = 184; + + // Maximum number of shared sets of brand type for an account. + SHARED_SETS_PER_ACCOUNT_FOR_BRAND = 185; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/response_content_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/response_content_type.proto new file mode 100644 index 000000000..29b9e924d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/response_content_type.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResponseContentTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the response content types used in mutate operations. + +// Container for possible response content types. +message ResponseContentTypeEnum { + // Possible response content types. + enum ResponseContentType { + // Not specified. Will return the resource name only in the response. + UNSPECIFIED = 0; + + // The mutate response will be the resource name. + RESOURCE_NAME_ONLY = 1; + + // The mutate response will be the resource name and the resource with + // all mutable fields. + MUTABLE_RESOURCE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/search_engine_results_page_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/search_engine_results_page_type.proto new file mode 100644 index 000000000..f980446ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/search_engine_results_page_type.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchEngineResultsPageTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing search engine results page types. + +// The type of the search engine results page. +message SearchEngineResultsPageTypeEnum { + // The type of the search engine results page. + enum SearchEngineResultsPageType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Only ads were contained in the search engine results page. + ADS_ONLY = 2; + + // Only organic results were contained in the search engine results page. + ORGANIC_ONLY = 3; + + // Both ads and organic results were contained in the search engine results + // page. + ADS_AND_ORGANIC = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/search_term_match_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/search_term_match_type.proto new file mode 100644 index 000000000..6bcfa3363 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/search_term_match_type.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermMatchTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing search term match types. + +// Container for enum describing match types for a keyword triggering an ad. +message SearchTermMatchTypeEnum { + // Possible match types for a keyword triggering an ad, including variants. + enum SearchTermMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Broad match. + BROAD = 2; + + // Exact match. + EXACT = 3; + + // Phrase match. + PHRASE = 4; + + // Exact match (close variant). + NEAR_EXACT = 5; + + // Phrase match (close variant). + NEAR_PHRASE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/search_term_targeting_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/search_term_targeting_status.proto new file mode 100644 index 000000000..f743f1fef --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/search_term_targeting_status.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermTargetingStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing search term targeting statuses. + +// Container for enum indicating whether a search term is one of your targeted +// or excluded keywords. +message SearchTermTargetingStatusEnum { + // Indicates whether the search term is one of your targeted or excluded + // keywords. + enum SearchTermTargetingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Search term is added to targeted keywords. + ADDED = 2; + + // Search term matches a negative keyword. + EXCLUDED = 3; + + // Search term has been both added and excluded. + ADDED_EXCLUDED = 4; + + // Search term is neither targeted nor excluded. + NONE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/seasonality_event_scope.proto b/third_party/googleapis/google/ads/googleads/v16/enums/seasonality_event_scope.proto new file mode 100644 index 000000000..2d5a003b8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/seasonality_event_scope.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventScopeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing seasonality event status. + +// Message describing seasonality event scopes. The two types of seasonality +// events are BiddingSeasonalityAdjustments and BiddingDataExclusions. +message SeasonalityEventScopeEnum { + // The possible scopes of a Seasonality Event. + enum SeasonalityEventScope { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The seasonality event is applied to all the customer's traffic for + // supported advertising channel types and device types. The CUSTOMER scope + // cannot be used in mutates. + CUSTOMER = 2; + + // The seasonality event is applied to all specified campaigns. + CAMPAIGN = 4; + + // The seasonality event is applied to all campaigns that belong to + // specified channel types. + CHANNEL = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/seasonality_event_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/seasonality_event_status.proto new file mode 100644 index 000000000..0dc04abed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/seasonality_event_status.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing seasonality event status. + +// Message describing seasonality event statuses. The two types of seasonality +// events are BiddingSeasonalityAdjustments and BiddingDataExclusions. +message SeasonalityEventStatusEnum { + // The possible statuses of a Seasonality Event. + enum SeasonalityEventStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The seasonality event is enabled. + ENABLED = 2; + + // The seasonality event is removed. + REMOVED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/served_asset_field_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/served_asset_field_type.proto new file mode 100644 index 000000000..b497be88d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/served_asset_field_type.proto @@ -0,0 +1,136 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ServedAssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing policy review statuses. + +// Container for enum describing possible asset field types. +message ServedAssetFieldTypeEnum { + // The possible asset field types. + enum ServedAssetFieldType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The asset is used in headline 1. + HEADLINE_1 = 2; + + // The asset is used in headline 2. + HEADLINE_2 = 3; + + // The asset is used in headline 3. + HEADLINE_3 = 4; + + // The asset is used in description 1. + DESCRIPTION_1 = 5; + + // The asset is used in description 2. + DESCRIPTION_2 = 6; + + // The asset was used in a headline. Use this only if there is only one + // headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or + // HEADLINE_3 enums + HEADLINE = 7; + + // The asset was used as a headline in portrait image. + HEADLINE_IN_PORTRAIT = 8; + + // The asset was used in a long headline (used in MultiAssetResponsiveAd). + LONG_HEADLINE = 9; + + // The asset was used in a description. Use this only if there is only one + // description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ + // enums + DESCRIPTION = 10; + + // The asset was used as description in portrait image. + DESCRIPTION_IN_PORTRAIT = 11; + + // The asset was used as business name in portrait image. + BUSINESS_NAME_IN_PORTRAIT = 12; + + // The asset was used as business name. + BUSINESS_NAME = 13; + + // The asset was used as a marketing image. + MARKETING_IMAGE = 14; + + // The asset was used as a marketing image in portrait image. + MARKETING_IMAGE_IN_PORTRAIT = 15; + + // The asset was used as a square marketing image. + SQUARE_MARKETING_IMAGE = 16; + + // The asset was used as a portrait marketing image. + PORTRAIT_MARKETING_IMAGE = 17; + + // The asset was used as a logo. + LOGO = 18; + + // The asset was used as a landscape logo. + LANDSCAPE_LOGO = 19; + + // The asset was used as a call-to-action. + CALL_TO_ACTION = 20; + + // The asset was used as a YouTube video. + YOU_TUBE_VIDEO = 21; + + // This asset is used as a sitelink. + SITELINK = 22; + + // This asset is used as a call. + CALL = 23; + + // This asset is used as a mobile app. + MOBILE_APP = 24; + + // This asset is used as a callout. + CALLOUT = 25; + + // This asset is used as a structured snippet. + STRUCTURED_SNIPPET = 26; + + // This asset is used as a price. + PRICE = 27; + + // This asset is used as a promotion. + PROMOTION = 28; + + // This asset is used as an image. + AD_IMAGE = 29; + + // The asset is used as a lead form. + LEAD_FORM = 30; + + // The asset is used as a business logo. + BUSINESS_LOGO = 31; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/shared_set_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/shared_set_status.proto new file mode 100644 index 000000000..6d355a96a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/shared_set_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing shared set statuses. + +// Container for enum describing types of shared set statuses. +message SharedSetStatusEnum { + // Enum listing the possible shared set statuses. + enum SharedSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The shared set is enabled. + ENABLED = 2; + + // The shared set is removed and can no longer be used. + REMOVED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/shared_set_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/shared_set_type.proto new file mode 100644 index 000000000..14c4c7e27 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/shared_set_type.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing shared set types. + +// Container for enum describing types of shared sets. +message SharedSetTypeEnum { + // Enum listing the possible shared set types. + enum SharedSetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A set of keywords that can be excluded from targeting. + NEGATIVE_KEYWORDS = 2; + + // A set of placements that can be excluded from targeting. + NEGATIVE_PLACEMENTS = 3; + + // An account-level set of keywords that can be excluded from targeting. + ACCOUNT_LEVEL_NEGATIVE_KEYWORDS = 4; + + // A set of brands can be included or excluded from targeting. + BRANDS = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/shopping_add_products_to_campaign_recommendation_enum.proto b/third_party/googleapis/google/ads/googleads/v16/enums/shopping_add_products_to_campaign_recommendation_enum.proto new file mode 100644 index 000000000..0404e1b48 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/shopping_add_products_to_campaign_recommendation_enum.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingAddProductsToCampaignRecommendationEnumProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing ShoppingAddProductsToCampaignRecommendationEnum enum. + +// Indicates the key issue that results in a shopping campaign targeting zero +// products. +message ShoppingAddProductsToCampaignRecommendationEnum { + // Issues that results in a shopping campaign targeting zero products. + enum Reason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The Merchant Center account does not have any submitted products. + MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS = 2; + + // The Merchant Center account does not have any submitted products in the + // feed. + MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS_IN_FEED = 3; + + // The Google Ads account has active campaign filters that prevents + // inclusion of offers in the campaign. + ADS_ACCOUNT_EXCLUDES_OFFERS_FROM_CAMPAIGN = 4; + + // All products available have been explicitly excluded from + // being targeted by the campaign. + ALL_PRODUCTS_ARE_EXCLUDED_FROM_CAMPAIGN = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/simulation_modification_method.proto b/third_party/googleapis/google/ads/googleads/v16/enums/simulation_modification_method.proto new file mode 100644 index 000000000..921d5f158 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/simulation_modification_method.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationModificationMethodProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing simulation modification methods. + +// Container for enum describing the method by which a simulation modifies +// a field. +message SimulationModificationMethodEnum { + // Enum describing the method by which a simulation modifies a field. + enum SimulationModificationMethod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The values in a simulation were applied to all children of a given + // resource uniformly. Overrides on child resources were not respected. + UNIFORM = 2; + + // The values in a simulation were applied to the given resource. + // Overrides on child resources were respected, and traffic estimates + // do not include these resources. + DEFAULT = 3; + + // The values in a simulation were all scaled by the same factor. + // For example, in a simulated TargetCpa campaign, the campaign target and + // all ad group targets were scaled by a factor of X. + SCALING = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/simulation_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/simulation_type.proto new file mode 100644 index 000000000..e816b49bd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/simulation_type.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing simulation types. + +// Container for enum describing the field a simulation modifies. +message SimulationTypeEnum { + // Enum describing the field a simulation modifies. + enum SimulationType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The simulation is for a CPC bid. + CPC_BID = 2; + + // The simulation is for a CPV bid. + CPV_BID = 3; + + // The simulation is for a CPA target. + TARGET_CPA = 4; + + // The simulation is for a bid modifier. + BID_MODIFIER = 5; + + // The simulation is for a ROAS target. + TARGET_ROAS = 6; + + // The simulation is for a percent CPC bid. + PERCENT_CPC_BID = 7; + + // The simulation is for an impression share target. + TARGET_IMPRESSION_SHARE = 8; + + // The simulation is for a budget. + BUDGET = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/sitelink_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/sitelink_placeholder_field.proto new file mode 100644 index 000000000..814dcd9a7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/sitelink_placeholder_field.proto @@ -0,0 +1,65 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SitelinkPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Sitelink placeholder fields. + +// Values for Sitelink placeholder fields. +message SitelinkPlaceholderFieldEnum { + // Possible values for Sitelink placeholder fields. + enum SitelinkPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The link text for your sitelink. + TEXT = 2; + + // Data Type: STRING. First line of the sitelink description. + LINE_1 = 3; + + // Data Type: STRING. Second line of the sitelink description. + LINE_2 = 4; + + // Data Type: URL_LIST. Final URLs for the sitelink when using Upgraded + // URLs. + FINAL_URLS = 5; + + // Data Type: URL_LIST. Final Mobile URLs for the sitelink when using + // Upgraded URLs. + FINAL_MOBILE_URLS = 6; + + // Data Type: URL. Tracking template for the sitelink when using Upgraded + // URLs. + TRACKING_URL = 7; + + // Data Type: STRING. Final URL suffix for sitelink when using parallel + // tracking. + FINAL_URL_SUFFIX = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_ad_event_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_ad_event_type.proto new file mode 100644 index 000000000..ab07eca1b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_ad_event_type.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAdEventTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing SkAdNetwork Ad Event Types. + +// Container for enumeration of SkAdNetwork ad event types. +message SkAdNetworkAdEventTypeEnum { + // Enumerates SkAdNetwork ad event types + enum SkAdNetworkAdEventType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The value was not present in the postback or we do not have this data for + // other reasons. + UNAVAILABLE = 2; + + // The user interacted with the ad. + INTERACTION = 3; + + // The user viewed the ad. + VIEW = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_attribution_credit.proto b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_attribution_credit.proto new file mode 100644 index 000000000..0b9907f77 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_attribution_credit.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAttributionCreditProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing SkAdNetwork attribution credits. + +// Container for enumeration of SkAdNetwork attribution credits. +message SkAdNetworkAttributionCreditEnum { + // Enumerates SkAdNetwork attribution credits. + enum SkAdNetworkAttributionCredit { + // Default value. This value is equivalent to null. + UNSPECIFIED = 0; + + // The value is unknown in this API version. The true enum value cannot be + // returned in this API version or is not supported yet. + UNKNOWN = 1; + + // The value was not present in the postback or we do not have this data for + // other reasons. + UNAVAILABLE = 2; + + // Google was the ad network that won ad attribution. + WON = 3; + + // Google qualified for attribution, but didn't win. + CONTRIBUTED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_coarse_conversion_value.proto b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_coarse_conversion_value.proto new file mode 100644 index 000000000..398c00b42 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_coarse_conversion_value.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkCoarseConversionValueProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing SkAdNetwork coarse conversion values. + +// Container for enumeration of SkAdNetwork coarse conversion values. +message SkAdNetworkCoarseConversionValueEnum { + // Enumerates SkAdNetwork coarse conversion values + enum SkAdNetworkCoarseConversionValue { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The value was not present in the postback or we do not have this data for + // other reasons. + UNAVAILABLE = 2; + + // A low coarse conversion value. + LOW = 3; + + // A medium coarse conversion value. + MEDIUM = 4; + + // A high coarse conversion value. + HIGH = 5; + + // A coarse conversion value was not configured. + NONE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_source_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_source_type.proto new file mode 100644 index 000000000..be3e62fe1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_source_type.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkSourceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing SkAdNetwork source types. + +// Container for enumeration of SkAdNetwork source types. +message SkAdNetworkSourceTypeEnum { + // Enumerates SkAdNetwork source types + enum SkAdNetworkSourceType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The source app ID or source domain was not present in the postback or we + // do not have this data for other reasons. + UNAVAILABLE = 2; + + // The ad was shown on a webpage. + WEBSITE = 3; + + // The ad was shown on an app. + MOBILE_APPLICATION = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_user_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_user_type.proto new file mode 100644 index 000000000..e73954240 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/sk_ad_network_user_type.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkUserTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing SkAdNetwork user types. + +// Container for enumeration of SkAdNetwork user types. +message SkAdNetworkUserTypeEnum { + // Enumerates SkAdNetwork user types + enum SkAdNetworkUserType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The value was not present in the postback or we do not have this data for + // other reasons. + UNAVAILABLE = 2; + + // The user installed the app for the first time. + NEW_INSTALLER = 3; + + // The user has previously installed the app. + REINSTALLER = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/slot.proto b/third_party/googleapis/google/ads/googleads/v16/enums/slot.proto new file mode 100644 index 000000000..493d16c61 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/slot.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing slots. + +// Container for enumeration of possible positions of the Ad. +message SlotEnum { + // Enumerates possible positions of the Ad. + enum Slot { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google search: Side. + SEARCH_SIDE = 2; + + // Google search: Top. + SEARCH_TOP = 3; + + // Google search: Other. + SEARCH_OTHER = 4; + + // Google Display Network. + CONTENT = 5; + + // Search partners: Top. + SEARCH_PARTNER_TOP = 6; + + // Search partners: Other. + SEARCH_PARTNER_OTHER = 7; + + // Cross-network. + MIXED = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/smart_campaign_not_eligible_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/smart_campaign_not_eligible_reason.proto new file mode 100644 index 000000000..05814e35d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/smart_campaign_not_eligible_reason.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignNotEligibleReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing reasons for why a Smart campaign is not eligible to +// serve. + +// A container for an enum that describes reasons for why a Smart campaign +// is not eligible to serve. +message SmartCampaignNotEligibleReasonEnum { + // Reasons for why a Smart campaign is not eligible to serve. + enum SmartCampaignNotEligibleReason { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The campaign is not eligible to serve because of an issue with the + // account. + ACCOUNT_ISSUE = 2; + + // The campaign is not eligible to serve because of a payment issue. + BILLING_ISSUE = 3; + + // The business profile location associated with the campaign has been + // removed. + BUSINESS_PROFILE_LOCATION_REMOVED = 4; + + // All system-generated ads have been disapproved. Consult the + // policy_summary field in the AdGroupAd resource for more details. + ALL_ADS_DISAPPROVED = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/smart_campaign_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/smart_campaign_status.proto new file mode 100644 index 000000000..bc3b6f90e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/smart_campaign_status.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Smart campaign statuses. + +// A container for an enum that describes Smart campaign statuses. +message SmartCampaignStatusEnum { + // Smart campaign statuses. + enum SmartCampaignStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The campaign was paused. + PAUSED = 2; + + // The campaign is not eligible to serve and has issues that may require + // intervention. + NOT_ELIGIBLE = 3; + + // The campaign is pending the approval of at least one ad. + PENDING = 4; + + // The campaign is eligible to serve. + ELIGIBLE = 5; + + // The campaign has been removed. + REMOVED = 6; + + // The campaign has ended. + ENDED = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/spending_limit_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/spending_limit_type.proto new file mode 100644 index 000000000..5b7705912 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/spending_limit_type.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SpendingLimitTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing SpendingLimit types. + +// Message describing spending limit types. +message SpendingLimitTypeEnum { + // The possible spending limit types used by certain resources as an + // alternative to absolute money values in micros. + enum SpendingLimitType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Infinite, indicates unlimited spending power. + INFINITE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/structured_snippet_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/structured_snippet_placeholder_field.proto new file mode 100644 index 000000000..252598961 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/structured_snippet_placeholder_field.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Structured Snippet placeholder fields. + +// Values for Structured Snippet placeholder fields. +message StructuredSnippetPlaceholderFieldEnum { + // Possible values for Structured Snippet placeholder fields. + enum StructuredSnippetPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The category of snippet of your products/services. + // Must match exactly one of the predefined structured snippets headers. + // For a list, visit + // https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers + HEADER = 2; + + // Data Type: STRING_LIST. Text values that describe your products/services. + // All text must be family safe. Special or non-ASCII characters are not + // permitted. A snippet can be at most 25 characters. + SNIPPETS = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/summary_row_setting.proto b/third_party/googleapis/google/ads/googleads/v16/enums/summary_row_setting.proto new file mode 100644 index 000000000..8f8f79dce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/summary_row_setting.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SummaryRowSettingProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing summary row setting. + +// Indicates summary row setting in request parameter. +message SummaryRowSettingEnum { + // Enum describing return summary row settings. + enum SummaryRowSetting { + // Not specified. + UNSPECIFIED = 0; + + // Represent unknown values of return summary row. + UNKNOWN = 1; + + // Do not return summary row. + NO_SUMMARY_ROW = 2; + + // Return summary row along with results. The summary row will be returned + // in the last batch alone (last batch will contain no results). + SUMMARY_ROW_WITH_RESULTS = 3; + + // Return summary row only and return no results. + SUMMARY_ROW_ONLY = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/system_managed_entity_source.proto b/third_party/googleapis/google/ads/googleads/v16/enums/system_managed_entity_source.proto new file mode 100644 index 000000000..e1eb04c46 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/system_managed_entity_source.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SystemManagedEntitySourceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing system managed entity sources. + +// Container for enum describing possible system managed entity sources. +message SystemManagedResourceSourceEnum { + // Enum listing the possible system managed entity sources. + enum SystemManagedResourceSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Generated ad variations experiment ad. + AD_VARIATIONS = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/target_cpa_opt_in_recommendation_goal.proto b/third_party/googleapis/google/ads/googleads/v16/enums/target_cpa_opt_in_recommendation_goal.proto new file mode 100644 index 000000000..ebec04ca9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/target_cpa_opt_in_recommendation_goal.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing TargetCpaOptIn recommendation goals. + +// Container for enum describing goals for TargetCpaOptIn recommendation. +message TargetCpaOptInRecommendationGoalEnum { + // Goal of TargetCpaOptIn recommendation. + enum TargetCpaOptInRecommendationGoal { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Recommendation to set Target CPA to maintain the same cost. + SAME_COST = 2; + + // Recommendation to set Target CPA to maintain the same conversions. + SAME_CONVERSIONS = 3; + + // Recommendation to set Target CPA to maintain the same CPA. + SAME_CPA = 4; + + // Recommendation to set Target CPA to a value that is as close as possible + // to, yet lower than, the actual CPA (computed for past 28 days). + CLOSEST_CPA = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/target_frequency_time_unit.proto b/third_party/googleapis/google/ads/googleads/v16/enums/target_frequency_time_unit.proto new file mode 100644 index 000000000..00a1aaff3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/target_frequency_time_unit.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetFrequencyTimeUnitProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing bidding goal Target Frequency time units. + +// Container for enum describing bidding goal Target Frequency time units. +message TargetFrequencyTimeUnitEnum { + // Enum describing time window over which we want to reach Target Frequency. + enum TargetFrequencyTimeUnit { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Optimize bidding to reach Target Frequency in a week. + WEEKLY = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/target_impression_share_location.proto b/third_party/googleapis/google/ads/googleads/v16/enums/target_impression_share_location.proto new file mode 100644 index 000000000..6d05c99a5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/target_impression_share_location.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetImpressionShareLocationProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing target impression share goal. + +// Container for enum describing where on the first search results page the +// automated bidding system should target impressions for the +// TargetImpressionShare bidding strategy. +message TargetImpressionShareLocationEnum { + // Enum describing possible goals. + enum TargetImpressionShareLocation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Any location on the web page. + ANYWHERE_ON_PAGE = 2; + + // Top box of ads. + TOP_OF_PAGE = 3; + + // Top slot in the top box of ads. + ABSOLUTE_TOP_OF_PAGE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/targeting_dimension.proto b/third_party/googleapis/google/ads/googleads/v16/enums/targeting_dimension.proto new file mode 100644 index 000000000..ac3eafeaf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/targeting_dimension.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing criteria types. + +// The dimensions that can be targeted. +message TargetingDimensionEnum { + // Enum describing possible targeting dimensions. + enum TargetingDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Keyword criteria, for example, 'mars cruise'. KEYWORD may be used as a + // custom bid dimension. Keywords are always a targeting dimension, so may + // not be set as a target "ALL" dimension with TargetRestriction. + KEYWORD = 2; + + // Audience criteria, which include user list, user interest, custom + // affinity, and custom in market. + AUDIENCE = 3; + + // Topic criteria for targeting categories of content, for example, + // 'category::Animals>Pets' Used for Display and Video targeting. + TOPIC = 4; + + // Criteria for targeting gender. + GENDER = 5; + + // Criteria for targeting age ranges. + AGE_RANGE = 6; + + // Placement criteria, which include websites like 'www.flowers4sale.com', + // as well as mobile applications, mobile app categories, YouTube videos, + // and YouTube channels. + PLACEMENT = 7; + + // Criteria for parental status targeting. + PARENTAL_STATUS = 8; + + // Criteria for income range targeting. + INCOME_RANGE = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/time_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/time_type.proto new file mode 100644 index 000000000..7fa1b092b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/time_type.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TimeTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing TimeType types. + +// Message describing time types. +message TimeTypeEnum { + // The possible time types used by certain resources as an alternative to + // absolute timestamps. + enum TimeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // As soon as possible. + NOW = 2; + + // An infinite point in the future. + FOREVER = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/tracking_code_page_format.proto b/third_party/googleapis/google/ads/googleads/v16/enums/tracking_code_page_format.proto new file mode 100644 index 000000000..c72a2a3da --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/tracking_code_page_format.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodePageFormatProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the format of the web page where the tracking +// tag and snippet will be installed. +message TrackingCodePageFormatEnum { + // The format of the web page where the tracking tag and snippet will be + // installed. + enum TrackingCodePageFormat { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Standard HTML page format. + HTML = 2; + + // Google AMP page format. + AMP = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/tracking_code_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/tracking_code_type.proto new file mode 100644 index 000000000..aaeeb2367 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/tracking_code_type.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodeTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Container for enum describing the type of the generated tag snippets for +// tracking conversions. +message TrackingCodeTypeEnum { + // The type of the generated tag snippets for tracking conversions. + enum TrackingCodeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The snippet that is fired as a result of a website page loading. + WEBPAGE = 2; + + // The snippet contains a JavaScript function which fires the tag. This + // function is typically called from an onClick handler added to a link or + // button element on the page. + WEBPAGE_ONCLICK = 3; + + // For embedding on a mobile webpage. The snippet contains a JavaScript + // function which fires the tag. + CLICK_TO_CALL = 4; + + // The snippet that is used to replace the phone number on your website with + // a Google forwarding number for call tracking purposes. + WEBSITE_CALL = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/travel_placeholder_field.proto b/third_party/googleapis/google/ads/googleads/v16/enums/travel_placeholder_field.proto new file mode 100644 index 000000000..6049156be --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/travel_placeholder_field.proto @@ -0,0 +1,124 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TravelPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing Travel placeholder fields. + +// Values for Travel placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message TravelPlaceholderFieldEnum { + // Possible values for Travel placeholder fields. + enum TravelPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Destination id. Example: PAR, LON. + // For feed items that only have destination id, destination id must be a + // unique key. For feed items that have both destination id and origin id, + // then the combination must be a unique key. + DESTINATION_ID = 2; + + // Data Type: STRING. Origin id. Example: PAR, LON. + // Combination of DESTINATION_ID and ORIGIN_ID must be + // unique per offer. + ORIGIN_ID = 3; + + // Data Type: STRING. Required. Main headline with name to be shown in + // dynamic ad. + TITLE = 4; + + // Data Type: STRING. The destination name. Shorter names are recommended. + DESTINATION_NAME = 5; + + // Data Type: STRING. Origin name. Shorter names are recommended. + ORIGIN_NAME = 6; + + // Data Type: STRING. Price to be shown in the ad. Highly recommended for + // dynamic ads. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: STRING. Category of travel offer used to group like items + // together for recommendation engine. + CATEGORY = 12; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 13; + + // Data Type: STRING. Address of travel offer, including postal code. + DESTINATION_ADDRESS = 14; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad, when using + // Upgraded URLs; the more specific the better (for example, the individual + // URL of a specific travel offer and its location). + FINAL_URL = 15; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 16; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended destination IDs to show + // together with this item. + SIMILAR_DESTINATION_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_identifier_source.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_identifier_source.proto new file mode 100644 index 000000000..24c8dcea5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_identifier_source.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserIdentifierSourceProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing user identifier source + +// Container for enum describing the source of the user identifier for offline +// Store Sales, click conversion, and conversion adjustment uploads. +message UserIdentifierSourceEnum { + // The type of user identifier source for offline Store Sales, click + // conversion, and conversion adjustment uploads. + enum UserIdentifierSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version + UNKNOWN = 1; + + // Indicates that the user identifier was provided by the first party + // (advertiser). + FIRST_PARTY = 2; + + // Indicates that the user identifier was provided by the third party + // (partner). + THIRD_PARTY = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_interest_taxonomy_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_interest_taxonomy_type.proto new file mode 100644 index 000000000..c4d1c53c8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_interest_taxonomy_type.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestTaxonomyTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing the UserInterest taxonomy type + +// Message describing a UserInterestTaxonomyType. +message UserInterestTaxonomyTypeEnum { + // Enum containing the possible UserInterestTaxonomyTypes. + enum UserInterestTaxonomyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The affinity for this user interest. + AFFINITY = 2; + + // The market for this user interest. + IN_MARKET = 3; + + // Users known to have installed applications in the specified categories. + MOBILE_APP_INSTALL_USER = 4; + + // The geographical location of the interest-based vertical. + VERTICAL_GEO = 5; + + // User interest criteria for new smart phone users. + NEW_SMART_PHONE_USER = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_access_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_access_status.proto new file mode 100644 index 000000000..063f62141 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_access_status.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListAccessStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing user list access status. + +// Indicates if this client still has access to the list. +message UserListAccessStatusEnum { + // Enum containing possible user list access statuses. + enum UserListAccessStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The access is enabled. + ENABLED = 2; + + // The access is disabled. + DISABLED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_closing_reason.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_closing_reason.proto new file mode 100644 index 000000000..2d509545a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_closing_reason.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListClosingReasonProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing user list closing reason. + +// Indicates the reason why the userlist was closed. +// This enum is only used when a list is auto-closed by the system. +message UserListClosingReasonEnum { + // Enum describing possible user list closing reasons. + enum UserListClosingReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The userlist was closed because of not being used for over one year. + UNUSED = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_crm_data_source_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_crm_data_source_type.proto new file mode 100644 index 000000000..e79190bcc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_crm_data_source_type.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCrmDataSourceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Indicates source of Crm upload data. +message UserListCrmDataSourceTypeEnum { + // Enum describing possible user list crm data source type. + enum UserListCrmDataSourceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The uploaded data is first-party data. + FIRST_PARTY = 2; + + // The uploaded data is from a third-party credit bureau. + THIRD_PARTY_CREDIT_BUREAU = 3; + + // The uploaded data is from a third-party voter file. + THIRD_PARTY_VOTER_FILE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_date_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_date_rule_item_operator.proto new file mode 100644 index 000000000..b0c9a994e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_date_rule_item_operator.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListDateRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Supported rule operator for date type. +message UserListDateRuleItemOperatorEnum { + // Enum describing possible user list date rule item operators. + enum UserListDateRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Equals. + EQUALS = 2; + + // Not Equals. + NOT_EQUALS = 3; + + // Before. + BEFORE = 4; + + // After. + AFTER = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_flexible_rule_operator.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_flexible_rule_operator.proto new file mode 100644 index 000000000..b9c5c9cc4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_flexible_rule_operator.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListFlexibleRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Logical operator connecting two rules. +message UserListFlexibleRuleOperatorEnum { + // Enum describing possible user list combined rule operators. + enum UserListFlexibleRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A AND B. + AND = 2; + + // A OR B. + OR = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_logical_rule_operator.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_logical_rule_operator.proto new file mode 100644 index 000000000..1ed9ae9f3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_logical_rule_operator.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListLogicalRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// The logical operator of the rule. +message UserListLogicalRuleOperatorEnum { + // Enum describing possible user list logical rule operators. + enum UserListLogicalRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // And - all of the operands. + ALL = 2; + + // Or - at least one of the operands. + ANY = 3; + + // Not - none of the operands. + NONE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_membership_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_membership_status.proto new file mode 100644 index 000000000..67f9f5f4c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_membership_status.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListMembershipStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing user list membership status. + +// Membership status of this user list. Indicates whether a user list is open +// or active. Only open user lists can accumulate more users and can be used for +// targeting. +message UserListMembershipStatusEnum { + // Enum containing possible user list membership statuses. + enum UserListMembershipStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Open status - List is accruing members and can be targeted to. + OPEN = 2; + + // Closed status - No new members being added. Cannot be used for targeting. + CLOSED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_number_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_number_rule_item_operator.proto new file mode 100644 index 000000000..c2b02b359 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_number_rule_item_operator.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListNumberRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Supported rule operator for number type. +message UserListNumberRuleItemOperatorEnum { + // Enum describing possible user list number rule item operators. + enum UserListNumberRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Greater than. + GREATER_THAN = 2; + + // Greater than or equal. + GREATER_THAN_OR_EQUAL = 3; + + // Equals. + EQUALS = 4; + + // Not equals. + NOT_EQUALS = 5; + + // Less than. + LESS_THAN = 6; + + // Less than or equal. + LESS_THAN_OR_EQUAL = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_prepopulation_status.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_prepopulation_status.proto new file mode 100644 index 000000000..b512072c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_prepopulation_status.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListPrepopulationStatusProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Indicates status of prepopulation based on the rule. +message UserListPrepopulationStatusEnum { + // Enum describing possible user list prepopulation status. + enum UserListPrepopulationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Prepopoulation is being requested. + REQUESTED = 2; + + // Prepopulation is finished. + FINISHED = 3; + + // Prepopulation failed. + FAILED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_rule_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_rule_type.proto new file mode 100644 index 000000000..b1f2c2d85 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_rule_type.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListRuleTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Rule based user list rule type. +message UserListRuleTypeEnum { + // Enum describing possible user list rule types. + enum UserListRuleType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conjunctive normal form. + AND_OF_ORS = 2; + + // Disjunctive normal form. + OR_OF_ANDS = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_size_range.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_size_range.proto new file mode 100644 index 000000000..d666c49e5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_size_range.proto @@ -0,0 +1,88 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListSizeRangeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing user list size range. + +// Size range in terms of number of users of a UserList. +message UserListSizeRangeEnum { + // Enum containing possible user list size ranges. + enum UserListSizeRange { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // User list has less than 500 users. + LESS_THAN_FIVE_HUNDRED = 2; + + // User list has number of users in range of 500 to 1000. + LESS_THAN_ONE_THOUSAND = 3; + + // User list has number of users in range of 1000 to 10000. + ONE_THOUSAND_TO_TEN_THOUSAND = 4; + + // User list has number of users in range of 10000 to 50000. + TEN_THOUSAND_TO_FIFTY_THOUSAND = 5; + + // User list has number of users in range of 50000 to 100000. + FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6; + + // User list has number of users in range of 100000 to 300000. + ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7; + + // User list has number of users in range of 300000 to 500000. + THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8; + + // User list has number of users in range of 500000 to 1 million. + FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9; + + // User list has number of users in range of 1 to 2 millions. + ONE_MILLION_TO_TWO_MILLION = 10; + + // User list has number of users in range of 2 to 3 millions. + TWO_MILLION_TO_THREE_MILLION = 11; + + // User list has number of users in range of 3 to 5 millions. + THREE_MILLION_TO_FIVE_MILLION = 12; + + // User list has number of users in range of 5 to 10 millions. + FIVE_MILLION_TO_TEN_MILLION = 13; + + // User list has number of users in range of 10 to 20 millions. + TEN_MILLION_TO_TWENTY_MILLION = 14; + + // User list has number of users in range of 20 to 30 millions. + TWENTY_MILLION_TO_THIRTY_MILLION = 15; + + // User list has number of users in range of 30 to 50 millions. + THIRTY_MILLION_TO_FIFTY_MILLION = 16; + + // User list has over 50 million users. + OVER_FIFTY_MILLION = 17; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_string_rule_item_operator.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_string_rule_item_operator.proto new file mode 100644 index 000000000..dbe09a5c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_string_rule_item_operator.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListStringRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Supported rule operator for string type. +message UserListStringRuleItemOperatorEnum { + // Enum describing possible user list string rule item operators. + enum UserListStringRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Contains. + CONTAINS = 2; + + // Equals. + EQUALS = 3; + + // Starts with. + STARTS_WITH = 4; + + // Ends with. + ENDS_WITH = 5; + + // Not equals. + NOT_EQUALS = 6; + + // Not contains. + NOT_CONTAINS = 7; + + // Not starts with. + NOT_STARTS_WITH = 8; + + // Not ends with. + NOT_ENDS_WITH = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/user_list_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_type.proto new file mode 100644 index 000000000..88e0f6b5a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/user_list_type.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing user list type. + +// The user list types. +message UserListTypeEnum { + // Enum containing possible user list types. + enum UserListType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // UserList represented as a collection of conversion types. + REMARKETING = 2; + + // UserList represented as a combination of other user lists/interests. + LOGICAL = 3; + + // UserList created in the Google Ad Manager platform. + EXTERNAL_REMARKETING = 4; + + // UserList associated with a rule. + RULE_BASED = 5; + + // UserList with users similar to users of another UserList. + SIMILAR = 6; + + // UserList of first-party CRM data provided by advertiser in the form of + // emails or other formats. + CRM_BASED = 7; + + // LookalikeUserlist, composed of users similar to those + // of a configurable seed (set of UserLists) + LOOKALIKE = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_device_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_device_type.proto new file mode 100644 index 000000000..89fe70fe5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_device_type.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion value rule device type. + +// Container for enum describing possible device types used in a conversion +// value rule. +message ValueRuleDeviceTypeEnum { + // Possible device types used in conversion value rule. + enum ValueRuleDeviceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile device. + MOBILE = 2; + + // Desktop device. + DESKTOP = 3; + + // Tablet device. + TABLET = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_geo_location_match_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_geo_location_match_type.proto new file mode 100644 index 000000000..abe9af0c7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_geo_location_match_type.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleGeoLocationMatchTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion value rule geo location match type. + +// Container for enum describing possible geographic location matching types +// used in a conversion value rule. +message ValueRuleGeoLocationMatchTypeEnum { + // Possible geographic location matching types. + enum ValueRuleGeoLocationMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Either Area of Interest or Location of Presence can be used to match. + ANY = 2; + + // Only Location of Presence can be used to match. + LOCATION_OF_PRESENCE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_operation.proto b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_operation.proto new file mode 100644 index 000000000..9279f54ff --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_operation.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleOperationProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion value rule operation. + +// Container for enum describing possible operations for value rules which are +// executed when rules are triggered. +message ValueRuleOperationEnum { + // Possible operations of the action of a conversion value rule. + enum ValueRuleOperation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add provided value to conversion value. + ADD = 2; + + // Multiply conversion value by provided value. + MULTIPLY = 3; + + // Set conversion value to provided value. + SET = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_set_attachment_type.proto b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_set_attachment_type.proto new file mode 100644 index 000000000..6f7aed3ca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_set_attachment_type.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetAttachmentTypeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing where the conversion value rule is attached. + +// Container for enum describing where a value rule set is attached. +message ValueRuleSetAttachmentTypeEnum { + // Possible level where a value rule set is attached. + enum ValueRuleSetAttachmentType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Attached to the customer. + CUSTOMER = 2; + + // Attached to a campaign. + CAMPAIGN = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_set_dimension.proto b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_set_dimension.proto new file mode 100644 index 000000000..95034aed5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/value_rule_set_dimension.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetDimensionProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing conversion value rule set dimension. + +// Container for enum describing possible dimensions of a conversion value rule +// set. +message ValueRuleSetDimensionEnum { + // Possible dimensions of a conversion value rule set. + enum ValueRuleSetDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dimension for geo location. + GEO_LOCATION = 2; + + // Dimension for device type. + DEVICE = 3; + + // Dimension for audience. + AUDIENCE = 4; + + // This dimension implies the rule will always apply. + NO_CONDITION = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/vanity_pharma_display_url_mode.proto b/third_party/googleapis/google/ads/googleads/v16/enums/vanity_pharma_display_url_mode.proto new file mode 100644 index 000000000..2c76b87c3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/vanity_pharma_display_url_mode.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing vanity pharma display url modes. + +// The display mode for vanity pharma URLs. +message VanityPharmaDisplayUrlModeEnum { + // Enum describing possible display modes for vanity pharma URLs. + enum VanityPharmaDisplayUrlMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Replace vanity pharma URL with manufacturer website url. + MANUFACTURER_WEBSITE_URL = 2; + + // Replace vanity pharma URL with description of the website. + WEBSITE_DESCRIPTION = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/vanity_pharma_text.proto b/third_party/googleapis/google/ads/googleads/v16/enums/vanity_pharma_text.proto new file mode 100644 index 000000000..0cc3ee0b6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/vanity_pharma_text.proto @@ -0,0 +1,83 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaTextProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing vanity pharma texts. + +// The text that will be displayed in display URL of the text ad when website +// description is the selected display mode for vanity pharma URLs. +message VanityPharmaTextEnum { + // Enum describing possible text. + enum VanityPharmaText { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Prescription treatment website with website content in English. + PRESCRIPTION_TREATMENT_WEBSITE_EN = 2; + + // Prescription treatment website with website content in Spanish + // (Sitio de tratamientos con receta). + PRESCRIPTION_TREATMENT_WEBSITE_ES = 3; + + // Prescription device website with website content in English. + PRESCRIPTION_DEVICE_WEBSITE_EN = 4; + + // Prescription device website with website content in Spanish (Sitio de + // dispositivos con receta). + PRESCRIPTION_DEVICE_WEBSITE_ES = 5; + + // Medical device website with website content in English. + MEDICAL_DEVICE_WEBSITE_EN = 6; + + // Medical device website with website content in Spanish (Sitio de + // dispositivos médicos). + MEDICAL_DEVICE_WEBSITE_ES = 7; + + // Preventative treatment website with website content in English. + PREVENTATIVE_TREATMENT_WEBSITE_EN = 8; + + // Preventative treatment website with website content in Spanish (Sitio de + // tratamientos preventivos). + PREVENTATIVE_TREATMENT_WEBSITE_ES = 9; + + // Prescription contraception website with website content in English. + PRESCRIPTION_CONTRACEPTION_WEBSITE_EN = 10; + + // Prescription contraception website with website content in Spanish (Sitio + // de anticonceptivos con receta). + PRESCRIPTION_CONTRACEPTION_WEBSITE_ES = 11; + + // Prescription vaccine website with website content in English. + PRESCRIPTION_VACCINE_WEBSITE_EN = 12; + + // Prescription vaccine website with website content in Spanish (Sitio de + // vacunas con receta). + PRESCRIPTION_VACCINE_WEBSITE_ES = 13; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/video_thumbnail.proto b/third_party/googleapis/google/ads/googleads/v16/enums/video_thumbnail.proto new file mode 100644 index 000000000..1123f9dde --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/video_thumbnail.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VideoThumbnailProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing video thumbnails. + +// Defines the thumbnail to use for In-Display video ads. Note that +// DEFAULT_THUMBNAIL may have been uploaded by the user while thumbnails 1-3 are +// auto-generated from the video. +message VideoThumbnailEnum { + // Enum listing the possible types of a video thumbnail. + enum VideoThumbnail { + // The type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The default thumbnail. Can be auto-generated or user-uploaded. + DEFAULT_THUMBNAIL = 2; + + // Thumbnail 1, generated from the video. + THUMBNAIL_1 = 3; + + // Thumbnail 2, generated from the video. + THUMBNAIL_2 = 4; + + // Thumbnail 3, generated from the video. + THUMBNAIL_3 = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/webpage_condition_operand.proto b/third_party/googleapis/google/ads/googleads/v16/enums/webpage_condition_operand.proto new file mode 100644 index 000000000..c5d9e76ec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/webpage_condition_operand.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperandProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing webpage condition operand. + +// Container for enum describing webpage condition operand in webpage criterion. +message WebpageConditionOperandEnum { + // The webpage condition operand in webpage criterion. + enum WebpageConditionOperand { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Operand denoting a webpage URL targeting condition. + URL = 2; + + // Operand denoting a webpage category targeting condition. + CATEGORY = 3; + + // Operand denoting a webpage title targeting condition. + PAGE_TITLE = 4; + + // Operand denoting a webpage content targeting condition. + PAGE_CONTENT = 5; + + // Operand denoting a webpage custom label targeting condition. + CUSTOM_LABEL = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/enums/webpage_condition_operator.proto b/third_party/googleapis/google/ads/googleads/v16/enums/webpage_condition_operator.proto new file mode 100644 index 000000000..86c6c0763 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/enums/webpage_condition_operator.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperatorProto"; +option java_package = "com.google.ads.googleads.v16.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V16::Enums"; + +// Proto file describing webpage condition operator. + +// Container for enum describing webpage condition operator in webpage +// criterion. +message WebpageConditionOperatorEnum { + // The webpage condition operator in webpage criterion. + enum WebpageConditionOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The argument web condition is equal to the compared web condition. + EQUALS = 2; + + // The argument web condition is part of the compared web condition. + CONTAINS = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v16/errors/BUILD.bazel new file mode 100644 index 000000000..692df6a79 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/BUILD.bazel @@ -0,0 +1,94 @@ +# 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 +# +# https://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. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "errors_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v16/common:common_proto", + "//google/ads/googleads/v16/enums:enums_proto", + "//google/api:annotations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "errors_java_proto", + deps = [":errors_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "errors_csharp_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "errors_ruby_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "errors_py_proto", + deps = [":errors_proto"], +) diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/access_invitation_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/access_invitation_error.proto new file mode 100644 index 000000000..4ee2a9ff5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/access_invitation_error.proto @@ -0,0 +1,65 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing AccessInvitation errors. + +// Container for enum describing possible AccessInvitation errors. +message AccessInvitationErrorEnum { + // Enum describing possible AccessInvitation errors. + enum AccessInvitationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The email address is invalid for sending an invitation. + INVALID_EMAIL_ADDRESS = 2; + + // Email address already has access to this customer. + EMAIL_ADDRESS_ALREADY_HAS_ACCESS = 3; + + // Invalid invitation status for the operation. + INVALID_INVITATION_STATUS = 4; + + // Email address cannot be like abc+foo@google.com. + GOOGLE_CONSUMER_ACCOUNT_NOT_ALLOWED = 5; + + // Invalid invitation ID. + INVALID_INVITATION_ID = 6; + + // Email address already has a pending invitation. + EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION = 7; + + // Pending invitation limit exceeded for the customer. + PENDING_INVITATIONS_LIMIT_EXCEEDED = 8; + + // Email address doesn't conform to the email domain policy. See + // https://support.google.com/google-ads/answer/2375456 + EMAIL_DOMAIN_POLICY_VIOLATED = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/account_budget_proposal_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/account_budget_proposal_error.proto new file mode 100644 index 000000000..e8bfb23c0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/account_budget_proposal_error.proto @@ -0,0 +1,126 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing account budget proposal errors. + +// Container for enum describing possible account budget proposal errors. +message AccountBudgetProposalErrorEnum { + // Enum describing possible account budget proposal errors. + enum AccountBudgetProposalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The field mask must be empty for create/end/remove proposals. + FIELD_MASK_NOT_ALLOWED = 2; + + // The field cannot be set because of the proposal type. + IMMUTABLE_FIELD = 3; + + // The field is required because of the proposal type. + REQUIRED_FIELD_MISSING = 4; + + // Proposals that have been approved cannot be cancelled. + CANNOT_CANCEL_APPROVED_PROPOSAL = 5; + + // Budgets that haven't been approved cannot be removed. + CANNOT_REMOVE_UNAPPROVED_BUDGET = 6; + + // Budgets that are currently running cannot be removed. + CANNOT_REMOVE_RUNNING_BUDGET = 7; + + // Budgets that haven't been approved cannot be truncated. + CANNOT_END_UNAPPROVED_BUDGET = 8; + + // Only budgets that are currently running can be truncated. + CANNOT_END_INACTIVE_BUDGET = 9; + + // All budgets must have names. + BUDGET_NAME_REQUIRED = 10; + + // Expired budgets cannot be edited after a sufficient amount of time has + // passed. + CANNOT_UPDATE_OLD_BUDGET = 11; + + // It is not permissible a propose a new budget that ends in the past. + CANNOT_END_IN_PAST = 12; + + // An expired budget cannot be extended to overlap with the running budget. + CANNOT_EXTEND_END_TIME = 13; + + // A purchase order number is required. + PURCHASE_ORDER_NUMBER_REQUIRED = 14; + + // Budgets that have a pending update cannot be updated. + PENDING_UPDATE_PROPOSAL_EXISTS = 15; + + // Cannot propose more than one budget when the corresponding billing setup + // hasn't been approved. + MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16; + + // Cannot update the start time of a budget that has already started. + CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17; + + // Cannot update the spending limit of a budget with an amount lower than + // what has already been spent. + SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18; + + // Cannot propose a budget update without actually changing any fields. + UPDATE_IS_NO_OP = 19; + + // The end time must come after the start time. + END_TIME_MUST_FOLLOW_START_TIME = 20; + + // The budget's date range must fall within the date range of its billing + // setup. + BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21; + + // The user is not authorized to mutate budgets for the given billing setup. + NOT_AUTHORIZED = 22; + + // Mutates are not allowed for the given billing setup. + INVALID_BILLING_SETUP = 23; + + // Budget creation failed as it overlaps with a pending budget proposal + // or an approved budget. + OVERLAPS_EXISTING_BUDGET = 24; + + // The control setting in user's payments profile doesn't allow budget + // creation through API. Log in to Google Ads to create budget. + CANNOT_CREATE_BUDGET_THROUGH_API = 25; + + // Master service agreement has not been signed yet for the Payments + // Profile. + INVALID_MASTER_SERVICE_AGREEMENT = 26; + + // Budget mutates are not allowed because the given billing setup is + // canceled. + CANCELED_BILLING_SETUP = 27; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/account_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/account_link_error.proto new file mode 100644 index 000000000..e3becfbc0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/account_link_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing AccountLink errors. + +// Container for enum describing possible account link errors. +message AccountLinkErrorEnum { + // Enum describing possible account link errors. + enum AccountLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The new link status is invalid. + INVALID_STATUS = 2; + + // The authenticated user doesn't have the permission to do the change. + PERMISSION_DENIED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_customizer_error.proto new file mode 100644 index 000000000..b8db75110 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_customizer_error.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad customizer errors. + +// Container for enum describing possible ad customizer errors. +message AdCustomizerErrorEnum { + // Enum describing possible ad customizer errors. + enum AdCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid date argument in countdown function. + COUNTDOWN_INVALID_DATE_FORMAT = 2; + + // Countdown end date is in the past. + COUNTDOWN_DATE_IN_PAST = 3; + + // Invalid locale string in countdown function. + COUNTDOWN_INVALID_LOCALE = 4; + + // Days-before argument to countdown function is not positive. + COUNTDOWN_INVALID_START_DAYS_BEFORE = 5; + + // A user list referenced in an IF function does not exist. + UNKNOWN_USER_LIST = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_error.proto new file mode 100644 index 000000000..789c833ff --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_error.proto @@ -0,0 +1,526 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad errors. + +// Container for enum describing possible ad errors. +message AdErrorEnum { + // Enum describing possible ad errors. + enum AdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Ad customizers are not supported for ad type. + AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2; + + // Estimating character sizes the string is too long. + APPROXIMATELY_TOO_LONG = 3; + + // Estimating character sizes the string is too short. + APPROXIMATELY_TOO_SHORT = 4; + + // There is a problem with the snippet. + BAD_SNIPPET = 5; + + // Cannot modify an ad. + CANNOT_MODIFY_AD = 6; + + // business name and url cannot be set at the same time + CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7; + + // The specified field is incompatible with this ad's type or settings. + CANNOT_SET_FIELD = 8; + + // Cannot set field when originAdId is set. + CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9; + + // Cannot set field when an existing ad id is set for sharing. + CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10; + + // Cannot set allowFlexibleColor false if no color is provided by user. + CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11; + + // When user select native, no color control is allowed because we will + // always respect publisher color for native format serving. + CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12; + + // Cannot specify a url for the ad type + CANNOT_SET_URL = 13; + + // Cannot specify a tracking or mobile url without also setting final urls + CANNOT_SET_WITHOUT_FINAL_URLS = 14; + + // Cannot specify a legacy url and a final url simultaneously + CANNOT_SET_WITH_FINAL_URLS = 15; + + // Cannot specify a urls in UrlData and in template fields simultaneously. + CANNOT_SET_WITH_URL_DATA = 17; + + // This operator cannot be used with a subclass of Ad. + CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18; + + // Customer is not approved for mobile ads. + CUSTOMER_NOT_APPROVED_MOBILEADS = 19; + + // Customer is not approved for 3PAS richmedia ads. + CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20; + + // Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads. + CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21; + + // Not an eligible customer + CUSTOMER_NOT_ELIGIBLE = 22; + + // Customer is not eligible for updating beacon url + CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23; + + // There already exists an ad with the same dimensions in the union. + DIMENSION_ALREADY_IN_UNION = 24; + + // Ad's dimension must be set before setting union dimension. + DIMENSION_MUST_BE_SET = 25; + + // Ad's dimension must be included in the union dimensions. + DIMENSION_NOT_IN_UNION = 26; + + // Display Url cannot be specified (applies to Ad Exchange Ads) + DISPLAY_URL_CANNOT_BE_SPECIFIED = 27; + + // Telephone number contains invalid characters or invalid format. + // Re-enter your number using digits (0-9), dashes (-), and parentheses + // only. + DOMESTIC_PHONE_NUMBER_FORMAT = 28; + + // Emergency telephone numbers are not allowed. Enter a valid + // domestic phone number to connect customers to your business. + EMERGENCY_PHONE_NUMBER = 29; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 30; + + // A feed attribute referenced in an ad customizer tag is not in the ad + // customizer mapping for the feed. + FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID = 31; + + // The ad customizer field mapping for the feed attribute does not match the + // expected field type. + FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH = 32; + + // The use of ad customizer tags in the ad text is disallowed. Details in + // trigger. + ILLEGAL_AD_CUSTOMIZER_TAG_USE = 33; + + // Tags of the form {PH_x}, where x is a number, are disallowed in ad text. + ILLEGAL_TAG_USE = 34; + + // The dimensions of the ad are specified or derived in multiple ways and + // are not consistent. + INCONSISTENT_DIMENSIONS = 35; + + // The status cannot differ among template ads of the same union. + INCONSISTENT_STATUS_IN_TEMPLATE_UNION = 36; + + // The length of the string is not valid. + INCORRECT_LENGTH = 37; + + // The ad is ineligible for upgrade. + INELIGIBLE_FOR_UPGRADE = 38; + + // User cannot create mobile ad for countries targeted in specified + // campaign. + INVALID_AD_ADDRESS_CAMPAIGN_TARGET = 39; + + // Invalid Ad type. A specific type of Ad is required. + INVALID_AD_TYPE = 40; + + // Headline, description or phone cannot be present when creating mobile + // image ad. + INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE = 41; + + // Image cannot be present when creating mobile text ad. + INVALID_ATTRIBUTES_FOR_MOBILE_TEXT = 42; + + // Invalid call to action text. + INVALID_CALL_TO_ACTION_TEXT = 43; + + // Invalid character in URL. + INVALID_CHARACTER_FOR_URL = 44; + + // Creative's country code is not valid. + INVALID_COUNTRY_CODE = 45; + + // Invalid use of Expanded Dynamic Search Ads tags ({lpurl} etc.) + INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 47; + + // An input error whose real reason was not properly mapped (should not + // happen). + INVALID_INPUT = 48; + + // An invalid markup language was entered. + INVALID_MARKUP_LANGUAGE = 49; + + // An invalid mobile carrier was entered. + INVALID_MOBILE_CARRIER = 50; + + // Specified mobile carriers target a country not targeted by the campaign. + INVALID_MOBILE_CARRIER_TARGET = 51; + + // Wrong number of elements for given element type + INVALID_NUMBER_OF_ELEMENTS = 52; + + // The format of the telephone number is incorrect. Re-enter the + // number using the correct format. + INVALID_PHONE_NUMBER_FORMAT = 53; + + // The certified vendor format id is incorrect. + INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID = 54; + + // The template ad data contains validation errors. + INVALID_TEMPLATE_DATA = 55; + + // The template field doesn't have have the correct type. + INVALID_TEMPLATE_ELEMENT_FIELD_TYPE = 56; + + // Invalid template id. + INVALID_TEMPLATE_ID = 57; + + // After substituting replacement strings, the line is too wide. + LINE_TOO_WIDE = 58; + + // The feed referenced must have ad customizer mapping to be used in a + // customizer tag. + MISSING_AD_CUSTOMIZER_MAPPING = 59; + + // Missing address component in template element address field. + MISSING_ADDRESS_COMPONENT = 60; + + // An ad name must be entered. + MISSING_ADVERTISEMENT_NAME = 61; + + // Business name must be entered. + MISSING_BUSINESS_NAME = 62; + + // Description (line 2) must be entered. + MISSING_DESCRIPTION1 = 63; + + // Description (line 3) must be entered. + MISSING_DESCRIPTION2 = 64; + + // The destination url must contain at least one tag (for example, {lpurl}) + MISSING_DESTINATION_URL_TAG = 65; + + // The tracking url template of ExpandedDynamicSearchAd must contain at + // least one tag. (for example, {lpurl}) + MISSING_LANDING_PAGE_URL_TAG = 66; + + // A valid dimension must be specified for this ad. + MISSING_DIMENSION = 67; + + // A display URL must be entered. + MISSING_DISPLAY_URL = 68; + + // Headline must be entered. + MISSING_HEADLINE = 69; + + // A height must be entered. + MISSING_HEIGHT = 70; + + // An image must be entered. + MISSING_IMAGE = 71; + + // Marketing image or product videos are required. + MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS = 72; + + // The markup language in which your site is written must be entered. + MISSING_MARKUP_LANGUAGES = 73; + + // A mobile carrier must be entered. + MISSING_MOBILE_CARRIER = 74; + + // Phone number must be entered. + MISSING_PHONE = 75; + + // Missing required template fields + MISSING_REQUIRED_TEMPLATE_FIELDS = 76; + + // Missing a required field value + MISSING_TEMPLATE_FIELD_VALUE = 77; + + // The ad must have text. + MISSING_TEXT = 78; + + // A visible URL must be entered. + MISSING_VISIBLE_URL = 79; + + // A width must be entered. + MISSING_WIDTH = 80; + + // Only 1 feed can be used as the source of ad customizer substitutions in a + // single ad. + MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED = 81; + + // TempAdUnionId must be use when adding template ads. + MUST_USE_TEMP_AD_UNION_ID_ON_ADD = 82; + + // The string has too many characters. + TOO_LONG = 83; + + // The string has too few characters. + TOO_SHORT = 84; + + // Ad union dimensions cannot change for saved ads. + UNION_DIMENSIONS_CANNOT_CHANGE = 85; + + // Address component is not {country, lat, lng}. + UNKNOWN_ADDRESS_COMPONENT = 86; + + // Unknown unique field name + UNKNOWN_FIELD_NAME = 87; + + // Unknown unique name (template element type specifier) + UNKNOWN_UNIQUE_NAME = 88; + + // Unsupported ad dimension + UNSUPPORTED_DIMENSIONS = 89; + + // URL starts with an invalid scheme. + URL_INVALID_SCHEME = 90; + + // URL ends with an invalid top-level domain name. + URL_INVALID_TOP_LEVEL_DOMAIN = 91; + + // URL contains illegal characters. + URL_MALFORMED = 92; + + // URL must contain a host name. + URL_NO_HOST = 93; + + // URL not equivalent during upgrade. + URL_NOT_EQUIVALENT = 94; + + // URL host name too long to be stored as visible URL (applies to Ad + // Exchange ads) + URL_HOST_NAME_TOO_LONG = 95; + + // URL must start with a scheme. + URL_NO_SCHEME = 96; + + // URL should end in a valid domain extension, such as .com or .net. + URL_NO_TOP_LEVEL_DOMAIN = 97; + + // URL must not end with a path. + URL_PATH_NOT_ALLOWED = 98; + + // URL must not specify a port. + URL_PORT_NOT_ALLOWED = 99; + + // URL must not contain a query. + URL_QUERY_NOT_ALLOWED = 100; + + // A url scheme is not allowed in front of tag in tracking url template + // (for example, http://{lpurl}) + URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 102; + + // The user does not have permissions to create a template ad for the given + // template. + USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE = 103; + + // Expandable setting is inconsistent/wrong. For example, an AdX ad is + // invalid if it has a expandable vendor format but no expanding directions + // specified, or expanding directions is specified, but the vendor format is + // not expandable. + INCONSISTENT_EXPANDABLE_SETTINGS = 104; + + // Format is invalid + INVALID_FORMAT = 105; + + // The text of this field did not match a pattern of allowed values. + INVALID_FIELD_TEXT = 106; + + // Template element is mising + ELEMENT_NOT_PRESENT = 107; + + // Error occurred during image processing + IMAGE_ERROR = 108; + + // The value is not within the valid range + VALUE_NOT_IN_RANGE = 109; + + // Template element field is not present + FIELD_NOT_PRESENT = 110; + + // Address is incomplete + ADDRESS_NOT_COMPLETE = 111; + + // Invalid address + ADDRESS_INVALID = 112; + + // Error retrieving specified video + VIDEO_RETRIEVAL_ERROR = 113; + + // Error processing audio + AUDIO_ERROR = 114; + + // Display URL is incorrect for YouTube PYV ads + INVALID_YOUTUBE_DISPLAY_URL = 115; + + // Too many product Images in GmailAd + TOO_MANY_PRODUCT_IMAGES = 116; + + // Too many product Videos in GmailAd + TOO_MANY_PRODUCT_VIDEOS = 117; + + // The device preference is not compatible with the ad type + INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE = 118; + + // Call tracking is not supported for specified country. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 119; + + // Carrier specific short number is not allowed. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 120; + + // Specified phone number type is disallowed. + DISALLOWED_NUMBER_TYPE = 121; + + // Phone number not supported for country. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 122; + + // Phone number not supported with call tracking enabled for country. + PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 123; + + // Premium rate phone number is not allowed. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 124; + + // Vanity phone number is not allowed. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 125; + + // Invalid call conversion type id. + INVALID_CALL_CONVERSION_TYPE_ID = 126; + + // Cannot disable call conversion and set conversion type id. + CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID = 127; + + // Cannot set path2 without path1. + CANNOT_SET_PATH2_WITHOUT_PATH1 = 128; + + // Missing domain name in campaign setting when adding expanded dynamic + // search ad. + MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME = 129; + + // The associated ad is not compatible with restriction type. + INCOMPATIBLE_WITH_RESTRICTION_TYPE = 130; + + // Consent for call recording is required for creating/updating call only + // ads. See https://support.google.com/google-ads/answer/7412639. + CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 131; + + // Either an image or a media bundle is required in a display upload ad. + MISSING_IMAGE_OR_MEDIA_BUNDLE = 132; + + // The display upload product type is not supported in this campaign. + PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN = 133; + + // The default value of an ad placeholder can not be the empty string. + PLACEHOLDER_CANNOT_HAVE_EMPTY_DEFAULT_VALUE = 134; + + // Ad placeholders with countdown functions must not have a default value. + PLACEHOLDER_COUNTDOWN_FUNCTION_CANNOT_HAVE_DEFAULT_VALUE = 135; + + // A previous ad placeholder that had a default value was found which means + // that all (non-countdown) placeholders must have a default value. This + // ad placeholder does not have a default value. + PLACEHOLDER_DEFAULT_VALUE_MISSING = 136; + + // A previous ad placeholder that did not have a default value was found + // which means that no placeholders may have a default value. This + // ad placeholder does have a default value. + UNEXPECTED_PLACEHOLDER_DEFAULT_VALUE = 137; + + // Two ad customizers may not be directly adjacent in an ad text. They must + // be separated by at least one character. + AD_CUSTOMIZERS_MAY_NOT_BE_ADJACENT = 138; + + // The ad is not associated with any enabled AdGroupAd, and cannot be + // updated. + UPDATING_AD_WITH_NO_ENABLED_ASSOCIATION = 139; + + // Call Ad verification url and final url don't have same domain. + CALL_AD_VERIFICATION_URL_FINAL_URL_DOES_NOT_HAVE_SAME_DOMAIN = 140; + + // Final url and verification url cannot both be empty for call ads. + CALL_AD_FINAL_URL_AND_VERIFICATION_URL_CANNOT_BOTH_BE_EMPTY = 154; + + // Too many ad customizers in one asset. + TOO_MANY_AD_CUSTOMIZERS = 141; + + // The ad customizer tag is recognized, but the format is invalid. + INVALID_AD_CUSTOMIZER_FORMAT = 142; + + // Customizer tags cannot be nested. + NESTED_AD_CUSTOMIZER_SYNTAX = 143; + + // The ad customizer syntax used in the ad is not supported. + UNSUPPORTED_AD_CUSTOMIZER_SYNTAX = 144; + + // There exists unpaired brace in the ad customizer tag. + UNPAIRED_BRACE_IN_AD_CUSTOMIZER_TAG = 145; + + // More than one type of countdown tag exists among all text lines. + MORE_THAN_ONE_COUNTDOWN_TAG_TYPE_EXISTS = 146; + + // Date time in the countdown tag is invalid. + DATE_TIME_IN_COUNTDOWN_TAG_IS_INVALID = 147; + + // Date time in the countdown tag is in the past. + DATE_TIME_IN_COUNTDOWN_TAG_IS_PAST = 148; + + // Cannot recognize the ad customizer tag. + UNRECOGNIZED_AD_CUSTOMIZER_TAG_FOUND = 149; + + // Customizer type forbidden for this field. + CUSTOMIZER_TYPE_FORBIDDEN_FOR_FIELD = 150; + + // Customizer attribute name is invalid. + INVALID_CUSTOMIZER_ATTRIBUTE_NAME = 151; + + // App store value does not match the value of the app store in the app + // specified in the campaign. + STORE_MISMATCH = 152; + + // Missing required image aspect ratio. + MISSING_REQUIRED_IMAGE_ASPECT_RATIO = 153; + + // Aspect ratios mismatch between different assets. + MISMATCHED_ASPECT_RATIOS = 155; + + // Images must be unique between different carousel card assets. + DUPLICATE_IMAGE_ACROSS_CAROUSEL_CARDS = 156; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_ad_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_ad_error.proto new file mode 100644 index 000000000..18fbbcc33 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_ad_error.proto @@ -0,0 +1,76 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad group ad errors. + +// Container for enum describing possible ad group ad errors. +message AdGroupAdErrorEnum { + // Enum describing possible ad group ad errors. + enum AdGroupAdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No link found between the adgroup ad and the label. + AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2; + + // The label has already been attached to the adgroup ad. + AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3; + + // The specified ad was not found in the adgroup + AD_NOT_UNDER_ADGROUP = 4; + + // Removed ads may not be modified + CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5; + + // An ad of this type is deprecated and cannot be created. Only deletions + // are permitted. + CANNOT_CREATE_DEPRECATED_ADS = 6; + + // Text ads are deprecated and cannot be created. Use expanded text ads + // instead. + CANNOT_CREATE_TEXT_ADS = 7; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 8; + + // An ad may only be modified once per call + RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9; + + // AdGroupAds with the given ad type cannot be paused. + AD_TYPE_CANNOT_BE_PAUSED = 10; + + // AdGroupAds with the given ad type cannot be removed. + AD_TYPE_CANNOT_BE_REMOVED = 11; + + // An ad of this type is deprecated and cannot be updated. Only removals + // are permitted. + CANNOT_UPDATE_DEPRECATED_ADS = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_bid_modifier_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_bid_modifier_error.proto new file mode 100644 index 000000000..7583df5e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_bid_modifier_error.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad group bid modifier errors. + +// Container for enum describing possible ad group bid modifier errors. +message AdGroupBidModifierErrorEnum { + // Enum describing possible ad group bid modifier errors. + enum AdGroupBidModifierError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The criterion ID does not support bid modification. + CRITERION_ID_NOT_SUPPORTED = 2; + + // Cannot override the bid modifier for the given criterion ID if the parent + // campaign is opted out of the same criterion. + CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_criterion_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_criterion_customizer_error.proto new file mode 100644 index 000000000..8d2a568ee --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_criterion_customizer_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad group criterion customizer errors. + +// Container for enum describing possible ad group criterion customizer errors. +message AdGroupCriterionCustomizerErrorEnum { + // Enum describing possible ad group criterion customizer errors. + enum AdGroupCriterionCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Only keyword type criterion is allowed to link customizer attribute. + CRITERION_IS_NOT_KEYWORD = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_criterion_error.proto new file mode 100644 index 000000000..ea3bcb1f6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_criterion_error.proto @@ -0,0 +1,133 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad group criterion errors. + +// Container for enum describing possible ad group criterion errors. +message AdGroupCriterionErrorEnum { + // Enum describing possible ad group criterion errors. + enum AdGroupCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No link found between the AdGroupCriterion and the label. + AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2; + + // The label has already been attached to the AdGroupCriterion. + AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3; + + // Negative AdGroupCriterion cannot have labels. + CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4; + + // Too many operations for a single call. + TOO_MANY_OPERATIONS = 5; + + // Negative ad group criteria are not updateable. + CANT_UPDATE_NEGATIVE = 6; + + // Concrete type of criterion (keyword v.s. placement) is required for ADD + // and SET operations. + CONCRETE_TYPE_REQUIRED = 7; + + // Bid is incompatible with ad group's bidding settings. + BID_INCOMPATIBLE_WITH_ADGROUP = 8; + + // Cannot target and exclude the same criterion at once. + CANNOT_TARGET_AND_EXCLUDE = 9; + + // The URL of a placement is invalid. + ILLEGAL_URL = 10; + + // Keyword text was invalid. + INVALID_KEYWORD_TEXT = 11; + + // Destination URL was invalid. + INVALID_DESTINATION_URL = 12; + + // The destination url must contain at least one tag (for example, {lpurl}) + MISSING_DESTINATION_URL_TAG = 13; + + // Keyword-level cpm bid is not supported + KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM = 14; + + // For example, cannot add a biddable ad group criterion that had been + // removed. + INVALID_USER_STATUS = 15; + + // Criteria type cannot be targeted for the ad group. Either the account is + // restricted to keywords only, the criteria type is incompatible with the + // campaign's bidding strategy, or the criteria type can only be applied to + // campaigns. + CANNOT_ADD_CRITERIA_TYPE = 16; + + // Criteria type cannot be excluded for the ad group. Refer to the + // documentation for a specific criterion to check if it is excludable. + CANNOT_EXCLUDE_CRITERIA_TYPE = 17; + + // Partial failure is not supported for shopping campaign mutate operations. + CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE = 27; + + // Operations in the mutate request changes too many shopping ad groups. + // Split requests for multiple shopping ad groups across multiple + // requests. + OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS = 28; + + // Not allowed to modify url fields of an ad group criterion if there are + // duplicate elements for that ad group criterion in the request. + CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS = 29; + + // Cannot set url fields without also setting final urls. + CANNOT_SET_WITHOUT_FINAL_URLS = 30; + + // Cannot clear final urls if final mobile urls exist. + CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST = 31; + + // Cannot clear final urls if final app urls exist. + CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST = 32; + + // Cannot clear final urls if tracking url template exists. + CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS = 33; + + // Cannot clear final urls if url custom parameters exist. + CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST = 34; + + // Cannot set both destination url and final urls. + CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS = 35; + + // Cannot set both destination url and tracking url template. + CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE = 36; + + // Final urls are not supported for this criterion type. + FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 37; + + // Final mobile urls are not supported for this criterion type. + FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 38; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_customizer_error.proto new file mode 100644 index 000000000..7e6d36e8a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_customizer_error.proto @@ -0,0 +1,40 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad group customizer errors. + +// Container for enum describing possible ad group customizer errors. +message AdGroupCustomizerErrorEnum { + // Enum describing possible ad group customizer errors. + enum AdGroupCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_error.proto new file mode 100644 index 000000000..69084a6b2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_error.proto @@ -0,0 +1,97 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad group errors. + +// Container for enum describing possible ad group errors. +message AdGroupErrorEnum { + // Enum describing possible ad group errors. + enum AdGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // AdGroup with the same name already exists for the campaign. + DUPLICATE_ADGROUP_NAME = 2; + + // AdGroup name is not valid. + INVALID_ADGROUP_NAME = 3; + + // Advertiser is not allowed to target sites or set site bids that are not + // on the Google Search Network. + ADVERTISER_NOT_ON_CONTENT_NETWORK = 5; + + // Bid amount is too big. + BID_TOO_BIG = 6; + + // AdGroup bid does not match the campaign's bidding strategy. + BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7; + + // AdGroup name is required for Add. + MISSING_ADGROUP_NAME = 8; + + // No link found between the ad group and the label. + ADGROUP_LABEL_DOES_NOT_EXIST = 9; + + // The label has already been attached to the ad group. + ADGROUP_LABEL_ALREADY_EXISTS = 10; + + // The CriterionTypeGroup is not supported for the content bid dimension. + INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11; + + // The ad group type is not compatible with the campaign channel type. + AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12; + + // The ad group type is not supported in the country of sale of the + // campaign. + ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13; + + // Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to + // campaigns that have DynamicSearchAdsSetting attached. + CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14; + + // Promoted hotels ad groups are only available to customers on the + // allow-list. + PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER = 15; + + // The field type cannot be excluded because an active ad group-asset link + // of this type exists. + INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE = 16; + + // The asset set type is invalid for setting the + // excluded_parent_asset_set_types field. + INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE = 17; + + // Cannot add ad groups for the campaign type. + CANNOT_ADD_AD_GROUP_FOR_CAMPAIGN_TYPE = 18; + + // Invalid status for the ad group. + INVALID_STATUS = 19; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_feed_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_feed_error.proto new file mode 100644 index 000000000..9d97c21f0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_group_feed_error.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad group feed errors. + +// Container for enum describing possible ad group feed errors. +message AdGroupFeedErrorEnum { + // Enum describing possible ad group feed errors. + enum AdGroupFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this ad group and place holder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 3; + + // The AdGroupFeed already exists. UPDATE operation should be used to modify + // the existing AdGroupFeed. + ADGROUP_FEED_ALREADY_EXISTS = 4; + + // Cannot operate on removed AdGroupFeed. + CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 6; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; + + // Location AdGroupFeeds cannot be created unless there is a location + // CustomerFeed for the specified feed. + NO_EXISTING_LOCATION_CUSTOMER_FEED = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_parameter_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_parameter_error.proto new file mode 100644 index 000000000..cd8183217 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_parameter_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad parameter errors. + +// Container for enum describing possible ad parameter errors. +message AdParameterErrorEnum { + // Enum describing possible ad parameter errors. + enum AdParameterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The ad group criterion must be a keyword criterion. + AD_GROUP_CRITERION_MUST_BE_KEYWORD = 2; + + // The insertion text is invalid. + INVALID_INSERTION_TEXT_FORMAT = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/ad_sharing_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/ad_sharing_error.proto new file mode 100644 index 000000000..a734110ce --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/ad_sharing_error.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdSharingErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ad sharing errors. + +// Container for enum describing possible ad sharing errors. +message AdSharingErrorEnum { + // Enum describing possible ad sharing errors. + enum AdSharingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Error resulting in attempting to add an Ad to an AdGroup that already + // contains the Ad. + AD_GROUP_ALREADY_CONTAINS_AD = 2; + + // Ad is not compatible with the AdGroup it is being shared with. + INCOMPATIBLE_AD_UNDER_AD_GROUP = 3; + + // Cannot add AdGroupAd on inactive Ad. + CANNOT_SHARE_INACTIVE_AD = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/adx_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/adx_error.proto new file mode 100644 index 000000000..b02063b35 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/adx_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdxErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing adx errors. + +// Container for enum describing possible adx errors. +message AdxErrorEnum { + // Enum describing possible adx errors. + enum AdxError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Attempt to use non-AdX feature by AdX customer. + UNSUPPORTED_FEATURE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_error.proto new file mode 100644 index 000000000..4a92dbd25 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_error.proto @@ -0,0 +1,158 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset errors. + +// Container for enum describing possible asset errors. +message AssetErrorEnum { + // Enum describing possible asset errors. + enum AssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer is not is not on the allow-list for this asset type. + CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE = 13; + + // Assets are duplicated across operations. + DUPLICATE_ASSET = 3; + + // The asset name is duplicated, either across operations or with an + // existing asset. + DUPLICATE_ASSET_NAME = 4; + + // The Asset.asset_data oneof is empty. + ASSET_DATA_IS_MISSING = 5; + + // The asset has a name which is different from an existing duplicate that + // represents the same content. + CANNOT_MODIFY_ASSET_NAME = 6; + + // The field cannot be set for this asset type. + FIELD_INCOMPATIBLE_WITH_ASSET_TYPE = 7; + + // Call to action must come from the list of supported values. + INVALID_CALL_TO_ACTION_TEXT = 8; + + // A lead form asset is created with an invalid combination of input fields. + LEAD_FORM_INVALID_FIELDS_COMBINATION = 9; + + // Lead forms require that the Terms of Service have been agreed to before + // mutates can be executed. + LEAD_FORM_MISSING_AGREEMENT = 10; + + // Asset status is invalid in this operation. + INVALID_ASSET_STATUS = 11; + + // The field cannot be modified by this asset type. + FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE = 12; + + // Ad schedules for the same asset cannot overlap. + SCHEDULES_CANNOT_OVERLAP = 14; + + // Cannot set both percent off and money amount off fields of promotion + // asset. + PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 15; + + // Cannot set both promotion code and orders over amount fields of promotion + // asset. + PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 16; + + // The field has too many decimal places specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 17; + + // Duplicate assets across operations, which have identical Asset.asset_data + // oneof, cannot have different asset level fields for asset types which are + // deduped. + DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE = 18; + + // Carrier specific short number is not allowed. + CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 19; + + // Customer consent required for call recording Terms of Service. + CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 20; + + // The type of the specified phone number is not allowed. + CALL_DISALLOWED_NUMBER_TYPE = 21; + + // If the default call_conversion_action is not used, the customer must have + // a ConversionAction with the same id and the ConversionAction must be call + // conversion type. + CALL_INVALID_CONVERSION_ACTION = 22; + + // The country code of the phone number is invalid. + CALL_INVALID_COUNTRY_CODE = 23; + + // The format of the phone number is incorrect. + CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 24; + + // The input phone number is not a valid phone number. + CALL_INVALID_PHONE_NUMBER = 25; + + // The phone number is not supported for country. + CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 26; + + // Premium rate phone number is not allowed. + CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED = 27; + + // Vanity phone number is not allowed. + CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED = 28; + + // PriceOffering cannot have the same value for header and description. + PRICE_HEADER_SAME_AS_DESCRIPTION = 29; + + // AppId is invalid. + MOBILE_APP_INVALID_APP_ID = 30; + + // Invalid App download URL in final URLs. + MOBILE_APP_INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL = 31; + + // Asset name is required for the asset type. + NAME_REQUIRED_FOR_ASSET_TYPE = 32; + + // Legacy qualifying questions cannot be in the same Lead Form as + // custom questions. + LEAD_FORM_LEGACY_QUALIFYING_QUESTIONS_DISALLOWED = 33; + + // Unique name is required for this asset type. + NAME_CONFLICT_FOR_ASSET_TYPE = 34; + + // Cannot modify asset source. + CANNOT_MODIFY_ASSET_SOURCE = 35; + + // User can not modify the automatically created asset. + CANNOT_MODIFY_AUTOMATICALLY_CREATED_ASSET = 36; + + // Lead Form is disallowed to use "LOCATION" answer type. + LEAD_FORM_LOCATION_ANSWER_TYPE_DISALLOWED = 37; + + // Page Feed label text contains invalid characters. + PAGE_FEED_INVALID_LABEL_TEXT = 38; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_asset_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_asset_error.proto new file mode 100644 index 000000000..a4435c62b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_asset_error.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset group asset errors. + +// Container for enum describing possible asset group asset errors. +message AssetGroupAssetErrorEnum { + // Enum describing possible asset group asset errors. + enum AssetGroupAssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot add duplicated asset group asset. + DUPLICATE_RESOURCE = 2; + + // Expandable tags are not allowed in description assets. + EXPANDABLE_TAGS_NOT_ALLOWED_IN_DESCRIPTION = 3; + + // Ad customizers are not supported in assetgroup's text assets. + AD_CUSTOMIZER_NOT_SUPPORTED = 4; + + // Cannot add a HotelPropertyAsset to an AssetGroup that isn't linked + // to the parent campaign's hotel_property_asset_set field. + HOTEL_PROPERTY_ASSET_NOT_LINKED_TO_CAMPAIGN = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_error.proto new file mode 100644 index 000000000..97400cab8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_error.proto @@ -0,0 +1,88 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset group errors. + +// Container for enum describing possible asset group errors. +message AssetGroupErrorEnum { + // Enum describing possible asset group errors. + enum AssetGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Each asset group in a single campaign must have a unique name. + DUPLICATE_NAME = 2; + + // Cannot add asset group for the campaign type. + CANNOT_ADD_ASSET_GROUP_FOR_CAMPAIGN_TYPE = 3; + + // Not enough headline asset for a valid asset group. + NOT_ENOUGH_HEADLINE_ASSET = 4; + + // Not enough long headline asset for a valid asset group. + NOT_ENOUGH_LONG_HEADLINE_ASSET = 5; + + // Not enough description headline asset for a valid asset group. + NOT_ENOUGH_DESCRIPTION_ASSET = 6; + + // Not enough business name asset for a valid asset group. + NOT_ENOUGH_BUSINESS_NAME_ASSET = 7; + + // Not enough marketing image asset for a valid asset group. + NOT_ENOUGH_MARKETING_IMAGE_ASSET = 8; + + // Not enough square marketing image asset for a valid asset group. + NOT_ENOUGH_SQUARE_MARKETING_IMAGE_ASSET = 9; + + // Not enough logo asset for a valid asset group. + NOT_ENOUGH_LOGO_ASSET = 10; + + // Final url and shopping merchant url does not have the same domain. + FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER = 11; + + // Path1 required when path2 is set. + PATH1_REQUIRED_WHEN_PATH2_IS_SET = 12; + + // At least one short description asset is required for a valid asset group. + SHORT_DESCRIPTION_REQUIRED = 13; + + // Final url field is required for asset group. + FINAL_URL_REQUIRED = 14; + + // Final url contains invalid domain name. + FINAL_URL_CONTAINS_INVALID_DOMAIN_NAME = 15; + + // Ad customizers are not supported in asset group's text field. + AD_CUSTOMIZER_NOT_SUPPORTED = 16; + + // Cannot mutate asset group for campaign with removed status. + CANNOT_MUTATE_ASSET_GROUP_FOR_REMOVED_CAMPAIGN = 17; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_listing_group_filter_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_listing_group_filter_error.proto new file mode 100644 index 000000000..19c593cae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_listing_group_filter_error.proto @@ -0,0 +1,111 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset group asset errors. + +// Container for enum describing possible asset group listing group filter +// errors. +message AssetGroupListingGroupFilterErrorEnum { + // Enum describing possible asset group listing group filter errors. + enum AssetGroupListingGroupFilterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Listing group tree is too deep. + TREE_TOO_DEEP = 2; + + // Listing Group UNIT node cannot have children. + UNIT_CANNOT_HAVE_CHILDREN = 3; + + // Listing Group SUBDIVISION node must have everything else child. + SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD = 4; + + // Dimension type of Listing Group must be the same as that of its siblings. + DIFFERENT_DIMENSION_TYPE_BETWEEN_SIBLINGS = 5; + + // The sibling Listing Groups target exactly the same dimension value. + SAME_DIMENSION_VALUE_BETWEEN_SIBLINGS = 6; + + // The dimension type is the same as one of the ancestor Listing Groups. + SAME_DIMENSION_TYPE_BETWEEN_ANCESTORS = 7; + + // Each Listing Group tree must have a single root. + MULTIPLE_ROOTS = 8; + + // Invalid Listing Group dimension value. + INVALID_DIMENSION_VALUE = 9; + + // Hierarchical dimension must refine a dimension of the same type. + MUST_REFINE_HIERARCHICAL_PARENT_TYPE = 10; + + // Invalid Product Bidding Category. + INVALID_PRODUCT_BIDDING_CATEGORY = 11; + + // Modifying case value is allowed only while updating the entire subtree at + // the same time. + CHANGING_CASE_VALUE_WITH_CHILDREN = 12; + + // Subdivision node has children which must be removed first. + SUBDIVISION_HAS_CHILDREN = 13; + + // Dimension can't subdivide everything-else node in its own hierarchy. + CANNOT_REFINE_HIERARCHICAL_EVERYTHING_ELSE = 14; + + // This dimension type is not allowed in this context. + DIMENSION_TYPE_NOT_ALLOWED = 15; + + // All the webpage filters under an AssetGroup should be distinct. + DUPLICATE_WEBPAGE_FILTER_UNDER_ASSET_GROUP = 16; + + // Filter of the listing source type is not allowed in the context. + LISTING_SOURCE_NOT_ALLOWED = 17; + + // Exclusion filters are not allowed in the context. + FILTER_EXCLUSION_NOT_ALLOWED = 18; + + // All the filters under an AssetGroup should have the same listing source. + MULTIPLE_LISTING_SOURCES = 19; + + // All the conditions in a webpage needs to be of same type. + MULTIPLE_WEBPAGE_CONDITION_TYPES_NOT_ALLOWED = 20; + + // All the webpage types of the filters under an AssetGroup should be of + // same type. Example: All the webpage types can be of type custom_label or + // url_contains but not both. + MULTIPLE_WEBPAGE_TYPES_PER_ASSET_GROUP = 21; + + // All page feed filter nodes are root nodes and they can't have a parent. + PAGE_FEED_FILTER_HAS_PARENT = 22; + + // There cannot be more than one mutate operation per request that targets a + // single asset group listing group filter. + MULTIPLE_OPERATIONS_ON_ONE_NODE = 23; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_signal_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_signal_error.proto new file mode 100644 index 000000000..029ead53d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_group_signal_error.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset group signal errors. + +// Container for enum describing possible asset group signal errors. +message AssetGroupSignalErrorEnum { + // Enum describing possible asset group signal errors. + enum AssetGroupSignalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The number of words in the Search Theme signal exceed the allowed + // maximum. You can add up to 10 words in a keyword. See + // https://support.google.com/google-ads/answer/7476658 for details. + TOO_MANY_WORDS = 2; + + // The search theme requested to be added violates certain policy. + // See https://support.google.com/adspolicy/answer/6008942. + SEARCH_THEME_POLICY_VIOLATION = 3; + + // The asset group referenced by the asset group signal does not match the + // asset group referenced by the audience being used in the asset group + // signal. + AUDIENCE_WITH_WRONG_ASSET_GROUP_ID = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_link_error.proto new file mode 100644 index 000000000..e8ba01c9c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_link_error.proto @@ -0,0 +1,127 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset link errors. + +// Container for enum describing possible asset link errors. +message AssetLinkErrorEnum { + // Enum describing possible asset link errors. + enum AssetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Pinning is not supported for the given asset link field. + PINNING_UNSUPPORTED = 2; + + // The given field type is not supported to be added directly through asset + // links. + UNSUPPORTED_FIELD_TYPE = 3; + + // The given asset's type and the specified field type are incompatible. + FIELD_TYPE_INCOMPATIBLE_WITH_ASSET_TYPE = 4; + + // The specified field type is incompatible with the given campaign type. + FIELD_TYPE_INCOMPATIBLE_WITH_CAMPAIGN_TYPE = 5; + + // The campaign advertising channel type cannot be associated with the given + // asset due to channel-based restrictions on the asset's fields. + INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE = 6; + + // The image asset provided is not within the dimension constraints + // specified for the submitted asset field. + IMAGE_NOT_WITHIN_SPECIFIED_DIMENSION_RANGE = 7; + + // The pinned field is not valid for the submitted asset field. + INVALID_PINNED_FIELD = 8; + + // The media bundle asset provided is too large for the submitted asset + // field. + MEDIA_BUNDLE_ASSET_FILE_SIZE_TOO_LARGE = 9; + + // Not enough assets are available for use with other fields since other + // assets are pinned to specific fields. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION = 10; + + // Not enough assets with fallback are available. When validating the + // minimum number of assets, assets without fallback (for example, assets + // that contain location tag without default value "{LOCATION(City)}") will + // not be counted. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK = 11; + + // This is a combination of the + // NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION and + // NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK errors. Not enough assets + // with fallback are available since some assets are pinned. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK_FOR_VALID_COMBINATION = 12; + + // The YouTube video referenced in the provided asset has been removed. + YOUTUBE_VIDEO_REMOVED = 13; + + // The YouTube video referenced in the provided asset is too long for the + // field submitted. + YOUTUBE_VIDEO_TOO_LONG = 14; + + // The YouTube video referenced in the provided asset is too short for the + // field submitted. + YOUTUBE_VIDEO_TOO_SHORT = 15; + + // The specified field type is excluded for given campaign or ad group. + EXCLUDED_PARENT_FIELD_TYPE = 16; + + // The status is invalid for the operation specified. + INVALID_STATUS = 17; + + // The YouTube video referenced in the provided asset has unknown duration. + // This might be the case for a livestream video or a video being currently + // uploaded to YouTube. In both cases, the video duration should eventually + // get resolved. + YOUTUBE_VIDEO_DURATION_NOT_DEFINED = 18; + + // User cannot create automatically created links. + CANNOT_CREATE_AUTOMATICALLY_CREATED_LINKS = 19; + + // Advertiser links cannot link to automatically created asset. + CANNOT_LINK_TO_AUTOMATICALLY_CREATED_ASSET = 20; + + // Automatically created links cannot be changed into advertiser links or + // the reverse. + CANNOT_MODIFY_ASSET_LINK_SOURCE = 21; + + // Lead Form asset with Location answer type can't be linked to the + // Customer/Campaign because there are no Location assets. + CANNOT_LINK_LOCATION_LEAD_FORM_WITHOUT_LOCATION_ASSET = 22; + + // Customer is not verified. + CUSTOMER_NOT_VERIFIED = 23; + + // Call to action value is not supported. + UNSUPPORTED_CALL_TO_ACTION = 24; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_asset_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_asset_error.proto new file mode 100644 index 000000000..c447b8481 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_asset_error.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset set asset errors. + +// Container for enum describing possible asset set asset errors. +message AssetSetAssetErrorEnum { + // Enum describing possible asset set asset errors. + enum AssetSetAssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The asset type is not eligible to be linked to the specific type of asset + // set. + INVALID_ASSET_TYPE = 2; + + // The asset set type is not eligible to contain the specified type of + // assets. + INVALID_ASSET_SET_TYPE = 3; + + // The asset contains duplicate external key with another asset in the asset + // set. + DUPLICATE_EXTERNAL_KEY = 4; + + // When attaching a Location typed Asset to a LocationGroup typed AssetSet, + // the AssetSetAsset linkage between the parent LocationSync AssetSet and + // the Asset doesn't exist. + PARENT_LINKAGE_DOES_NOT_EXIST = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_error.proto new file mode 100644 index 000000000..86f4a93b8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_error.proto @@ -0,0 +1,79 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset set errors. + +// Container for enum describing possible asset set errors. +message AssetSetErrorEnum { + // Enum describing possible asset set errors. + enum AssetSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The asset set name matches that of another enabled asset set. + DUPLICATE_ASSET_SET_NAME = 2; + + // The type of AssetSet.asset_set_source does not match the type of + // AssetSet.location_set.source in its parent AssetSet. + INVALID_PARENT_ASSET_SET_TYPE = 3; + + // The asset set source doesn't match its parent AssetSet's data. + ASSET_SET_SOURCE_INCOMPATIBLE_WITH_PARENT_ASSET_SET = 4; + + // This AssetSet type cannot be linked to CustomerAssetSet. + ASSET_SET_TYPE_CANNOT_BE_LINKED_TO_CUSTOMER = 5; + + // The chain id(s) in ChainSet of a LOCATION_SYNC typed AssetSet is invalid. + INVALID_CHAIN_IDS = 6; + + // The relationship type in ChainSet of a LOCATION_SYNC typed AssetSet is + // not supported. + LOCATION_SYNC_ASSET_SET_DOES_NOT_SUPPORT_RELATIONSHIP_TYPE = 7; + + // There is more than one enabled LocationSync typed AssetSet under one + // customer. + NOT_UNIQUE_ENABLED_LOCATION_SYNC_TYPED_ASSET_SET = 8; + + // The place id(s) in a LocationSync typed AssetSet is invalid and can't be + // decoded. + INVALID_PLACE_IDS = 9; + + // The Google Business Profile OAuth info is invalid. + OAUTH_INFO_INVALID = 11; + + // The Google Business Profile OAuth info is missing. + OAUTH_INFO_MISSING = 12; + + // Can't delete an AssetSet if it has any enabled linkages (e.g. + // CustomerAssetSet), or AssetSet is a parent AssetSet and has enabled child + // AssetSet associated. + CANNOT_DELETE_AS_ENABLED_LINKAGES_EXIST = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_link_error.proto new file mode 100644 index 000000000..fba499a5e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/asset_set_link_error.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing asset set link errors. + +// Container for enum describing possible asset set link errors. +message AssetSetLinkErrorEnum { + // Enum describing possible asset set link errors. + enum AssetSetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Advertising channel type cannot be attached to the asset set due to + // channel-based restrictions. + INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE = 2; + + // For this asset set type, only one campaign to feed linkage is allowed. + DUPLICATE_FEED_LINK = 3; + + // The asset set type and campaign type are incompatible. + INCOMPATIBLE_ASSET_SET_TYPE_WITH_CAMPAIGN_TYPE = 4; + + // Cannot link duplicate asset sets to the same campaign. + DUPLICATE_ASSET_SET_LINK = 5; + + // Cannot remove the asset set link. If a campaign is linked with only one + // asset set and you attempt to unlink them, this error will be triggered. + ASSET_SET_LINK_CANNOT_BE_REMOVED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/audience_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/audience_error.proto new file mode 100644 index 000000000..fc6f12a9f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/audience_error.proto @@ -0,0 +1,72 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing audience errors. + +// Container for enum describing possible audience errors. +message AudienceErrorEnum { + // Enum describing possible audience errors. + enum AudienceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An audience with this name already exists. + NAME_ALREADY_IN_USE = 2; + + // A dimension within the audience definition is not valid. + DIMENSION_INVALID = 3; + + // One of the audience segment added is not found. + AUDIENCE_SEGMENT_NOT_FOUND = 4; + + // One of the audience segment type is not supported. + AUDIENCE_SEGMENT_TYPE_NOT_SUPPORTED = 5; + + // The same segment already exists in this audience. + DUPLICATE_AUDIENCE_SEGMENT = 6; + + // Audience can't have more than allowed number segments. + TOO_MANY_SEGMENTS = 7; + + // Audience can't have multiple dimensions of same type. + TOO_MANY_DIMENSIONS_OF_SAME_TYPE = 8; + + // The audience cannot be removed, because it is currently used in an + // ad group criterion or asset group signal in an (enabled or paused) + // ad group or campaign. + IN_USE = 9; + + // Asset Group scoped audience requires an asset group ID. + MISSING_ASSET_GROUP_ID = 10; + + // Audience scope may not be changed from Customer to AssetGroup. + CANNOT_CHANGE_FROM_CUSTOMER_TO_ASSET_GROUP_SCOPE = 11; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/audience_insights_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/audience_insights_error.proto new file mode 100644 index 000000000..cd4f41c8b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/audience_insights_error.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors generated from AudienceInsightsService. + +// Container for enum describing possible errors returned from +// the AudienceInsightsService. +message AudienceInsightsErrorEnum { + // Enum describing possible errors from AudienceInsightsService. + enum AudienceInsightsError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The dimensions cannot be used with topic audience combinations. + DIMENSION_INCOMPATIBLE_WITH_TOPIC_AUDIENCE_COMBINATIONS = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/authentication_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/authentication_error.proto new file mode 100644 index 000000000..2f65a5ea5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/authentication_error.proto @@ -0,0 +1,112 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthenticationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing authentication errors. + +// Container for enum describing possible authentication errors. +message AuthenticationErrorEnum { + // Enum describing possible authentication errors. + enum AuthenticationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Authentication of the request failed. + AUTHENTICATION_ERROR = 2; + + // Client customer ID is not a number. + CLIENT_CUSTOMER_ID_INVALID = 5; + + // No customer found for the provided customer ID. + CUSTOMER_NOT_FOUND = 8; + + // Client's Google account is deleted. + GOOGLE_ACCOUNT_DELETED = 9; + + // Google account login token in the cookie is invalid. + GOOGLE_ACCOUNT_COOKIE_INVALID = 10; + + // A problem occurred during Google account authentication. + GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25; + + // The user in the Google account login token does not match the user ID in + // the cookie. + GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH = 12; + + // Login cookie is required for authentication. + LOGIN_COOKIE_REQUIRED = 13; + + // The Google account that generated the OAuth access + // token is not associated with a Google Ads account. Create a new + // account, or add the Google account to an existing Google Ads account. + NOT_ADS_USER = 14; + + // OAuth token in the header is not valid. + OAUTH_TOKEN_INVALID = 15; + + // OAuth token in the header has expired. + OAUTH_TOKEN_EXPIRED = 16; + + // OAuth token in the header has been disabled. + OAUTH_TOKEN_DISABLED = 17; + + // OAuth token in the header has been revoked. + OAUTH_TOKEN_REVOKED = 18; + + // OAuth token HTTP header is malformed. + OAUTH_TOKEN_HEADER_INVALID = 19; + + // Login cookie is not valid. + LOGIN_COOKIE_INVALID = 20; + + // User ID in the header is not a valid ID. + USER_ID_INVALID = 22; + + // An account administrator changed this account's authentication settings. + // To access this Google Ads account, enable 2-Step Verification in your + // Google account at https://www.google.com/landing/2step. + TWO_STEP_VERIFICATION_NOT_ENROLLED = 23; + + // An account administrator changed this account's authentication settings. + // To access this Google Ads account, enable Advanced Protection in your + // Google account at https://landing.google.com/advancedprotection. + ADVANCED_PROTECTION_NOT_ENROLLED = 24; + + // The Cloud organization associated with the project is not recognized. + ORGANIZATION_NOT_RECOGNIZED = 26; + + // The Cloud organization associated with the project is not approved for + // prod access. + ORGANIZATION_NOT_APPROVED = 27; + + // The Cloud organization associated with the project is not associated with + // the developer token. + ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN = 28; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/authorization_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/authorization_error.proto new file mode 100644 index 000000000..a81501b2c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/authorization_error.proto @@ -0,0 +1,99 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing authorization errors. + +// Container for enum describing possible authorization errors. +message AuthorizationErrorEnum { + // Enum describing possible authorization errors. + enum AuthorizationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // User doesn't have permission to access customer. Note: If you're + // accessing a client customer, the manager's customer ID must be set in the + // `login-customer-id` header. Learn more at + // https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid + USER_PERMISSION_DENIED = 2; + + // The developer token is not on the allow-list. + DEVELOPER_TOKEN_NOT_ON_ALLOWLIST = 13; + + // The developer token is not allowed with the project sent in the request. + DEVELOPER_TOKEN_PROHIBITED = 4; + + // The Google Cloud project sent in the request does not have permission to + // access the api. + PROJECT_DISABLED = 5; + + // Authorization of the client failed. + AUTHORIZATION_ERROR = 6; + + // The user does not have permission to perform this action + // (for example, ADD, UPDATE, REMOVE) on the resource or call a method. + ACTION_NOT_PERMITTED = 7; + + // Signup not complete. + INCOMPLETE_SIGNUP = 8; + + // The customer account can't be accessed because it is not yet enabled or + // has been deactivated. + CUSTOMER_NOT_ENABLED = 24; + + // The developer must sign the terms of service. They can be found here: + // ads.google.com/aw/apicenter + MISSING_TOS = 9; + + // The developer token is only approved for use with test accounts. To + // access non-test accounts, apply for Basic or Standard access. + DEVELOPER_TOKEN_NOT_APPROVED = 10; + + // The login customer specified does not have access to the account + // specified, so the request is invalid. + INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION = 11; + + // The developer specified does not have access to the service. + SERVICE_ACCESS_DENIED = 12; + + // The customer (or login customer) isn't in Google Ads. It belongs to + // another ads system. + ACCESS_DENIED_FOR_ACCOUNT_TYPE = 25; + + // The developer does not have access to the metrics queried. + METRIC_ACCESS_DENIED = 26; + + // The Google Cloud project is not under the required organization. + CLOUD_PROJECT_NOT_UNDER_ORGANIZATION = 27; + + // The user does not have permission to perform this action on the resource + // or method because the Google Ads account is suspended. + ACTION_NOT_PERMITTED_FOR_SUSPENDED_ACCOUNT = 28; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/batch_job_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/batch_job_error.proto new file mode 100644 index 000000000..0a4dd64f0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/batch_job_error.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing batch job errors. + +// Container for enum describing possible batch job errors. +message BatchJobErrorEnum { + // Enum describing possible request errors. + enum BatchJobError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The batch job cannot add more operations or run after it has started + // running. + CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING = 2; + + // The operations for an AddBatchJobOperations request were empty. + EMPTY_OPERATIONS = 3; + + // The sequence token for an AddBatchJobOperations request was invalid. + INVALID_SEQUENCE_TOKEN = 4; + + // Batch job results can only be retrieved once the job is finished. + RESULTS_NOT_READY = 5; + + // The page size for ListBatchJobResults was invalid. + INVALID_PAGE_SIZE = 6; + + // The batch job cannot be removed because it has started running. + CAN_ONLY_REMOVE_PENDING_JOB = 7; + + // The batch job cannot be listed due to unexpected errors such as duplicate + // checkpoints. + CANNOT_LIST_RESULTS = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/bidding_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/bidding_error.proto new file mode 100644 index 000000000..bcf08a8d0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/bidding_error.proto @@ -0,0 +1,121 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing bidding errors. + +// Container for enum describing possible bidding errors. +message BiddingErrorEnum { + // Enum describing possible bidding errors. + enum BiddingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot transition to new bidding strategy. + BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2; + + // Cannot attach bidding strategy to campaign. + CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7; + + // Bidding strategy is not supported or cannot be used as anonymous. + INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10; + + // The type does not match the named strategy's type. + INVALID_BIDDING_STRATEGY_TYPE = 14; + + // The bid is invalid. + INVALID_BID = 17; + + // Bidding strategy is not available for the account type. + BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; + + // Campaign can not be created with given bidding strategy. It can be + // transitioned to the strategy, once eligible. + CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY = 21; + + // Cannot target content network only as campaign uses Page One Promoted + // bidding strategy. + CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY = + 23; + + // Budget Optimizer and Target Spend bidding strategies are not supported + // for campaigns with AdSchedule targeting. + BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE = 24; + + // Pay per conversion is not available to all the customer, only few + // customers on the allow-list can use this. + PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER = 25; + + // Pay per conversion is not allowed with Target CPA. + PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA = 26; + + // Cannot set bidding strategy to Manual CPM for search network only + // campaigns. + BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS = 27; + + // The bidding strategy is not supported for use in drafts or experiments. + BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS = 28; + + // Bidding strategy type does not support product type ad group criterion. + BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION = 29; + + // Bid amount is too small. + BID_TOO_SMALL = 30; + + // Bid amount is too big. + BID_TOO_BIG = 31; + + // Bid has too many fractional digit precision. + BID_TOO_MANY_FRACTIONAL_DIGITS = 32; + + // Invalid domain name specified. + INVALID_DOMAIN_NAME = 33; + + // The field is not compatible with the payment mode. + NOT_COMPATIBLE_WITH_PAYMENT_MODE = 34; + + // Bidding strategy type is incompatible with shared budget. + BIDDING_STRATEGY_TYPE_INCOMPATIBLE_WITH_SHARED_BUDGET = 37; + + // The attached bidding strategy and budget must be aligned with each other + // if alignment is specified on either entity. + BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ALIGNED = 38; + + // The attached bidding strategy and budget must be attached to the same + // campaigns to become aligned. + BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ATTACHED_TO_THE_SAME_CAMPAIGNS_TO_ALIGN = + 39; + + // The aligned bidding strategy and budget must be removed at the same time. + BIDDING_STRATEGY_AND_BUDGET_MUST_BE_REMOVED_TOGETHER = 40; + + // cpc_bid_floor_micros is greater than cpc_bid_ceiling_micros. + CPC_BID_FLOOR_MICROS_GREATER_THAN_CPC_BID_CEILING_MICROS = 41; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/bidding_strategy_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/bidding_strategy_error.proto new file mode 100644 index 000000000..d35ff2e50 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/bidding_strategy_error.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing bidding strategy errors. + +// Container for enum describing possible bidding strategy errors. +message BiddingStrategyErrorEnum { + // Enum describing possible bidding strategy errors. + enum BiddingStrategyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Each bidding strategy must have a unique name. + DUPLICATE_NAME = 2; + + // Bidding strategy type is immutable. + CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3; + + // Only bidding strategies not linked to campaigns, adgroups or adgroup + // criteria can be removed. + CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4; + + // The specified bidding strategy is not supported. + BIDDING_STRATEGY_NOT_SUPPORTED = 5; + + // The bidding strategy is incompatible with the campaign's bidding + // strategy goal type. + INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/billing_setup_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/billing_setup_error.proto new file mode 100644 index 000000000..eb6f3de33 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/billing_setup_error.proto @@ -0,0 +1,112 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing billing setup errors. + +// Container for enum describing possible billing setup errors. +message BillingSetupErrorEnum { + // Enum describing possible billing setup errors. + enum BillingSetupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot specify both an existing payments account and a new payments + // account when setting up billing. + CANNOT_USE_EXISTING_AND_NEW_ACCOUNT = 2; + + // Cannot cancel an approved billing setup whose start time has passed. + CANNOT_REMOVE_STARTED_BILLING_SETUP = 3; + + // Cannot perform a Change of Bill-To (CBT) to the same payments account. + CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT = 4; + + // Billing setups can only be used by customers with ENABLED or DRAFT + // status. + BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS = 5; + + // Billing setups must either include a correctly formatted existing + // payments account id, or a non-empty new payments account name. + INVALID_PAYMENTS_ACCOUNT = 6; + + // Only billable and third-party customers can create billing setups. + BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY = 7; + + // Billing setup creations can only use NOW for start time type. + INVALID_START_TIME_TYPE = 8; + + // Billing setups can only be created for a third-party customer if they do + // not already have a setup. + THIRD_PARTY_ALREADY_HAS_BILLING = 9; + + // Billing setups cannot be created if there is already a pending billing in + // progress. + BILLING_SETUP_IN_PROGRESS = 10; + + // Billing setups can only be created by customers who have permission to + // setup billings. Users can contact a representative for help setting up + // permissions. + NO_SIGNUP_PERMISSION = 11; + + // Billing setups cannot be created if there is already a future-approved + // billing. + CHANGE_OF_BILL_TO_IN_PROGRESS = 12; + + // Requested payments profile not found. + PAYMENTS_PROFILE_NOT_FOUND = 13; + + // Requested payments account not found. + PAYMENTS_ACCOUNT_NOT_FOUND = 14; + + // Billing setup creation failed because the payments profile is ineligible. + PAYMENTS_PROFILE_INELIGIBLE = 15; + + // Billing setup creation failed because the payments account is ineligible. + PAYMENTS_ACCOUNT_INELIGIBLE = 16; + + // Billing setup creation failed because the payments profile needs internal + // approval. + CUSTOMER_NEEDS_INTERNAL_APPROVAL = 17; + + // Billing setup creation failed because the user needs to accept master + // service agreement on the payments profile. + PAYMENTS_PROFILE_NEEDS_SERVICE_AGREEMENT_ACCEPTANCE = 18; + + // Payments account has different currency code than the current customer + // and hence cannot be used to setup billing. + PAYMENTS_ACCOUNT_INELIGIBLE_CURRENCY_CODE_MISMATCH = 19; + + // A start time in the future cannot be used because there is currently no + // active billing setup for this customer. + FUTURE_START_TIME_PROHIBITED = 20; + + // The payments account has maximum number of billing setups. + TOO_MANY_BILLING_SETUPS_FOR_PAYMENTS_ACCOUNT = 21; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_budget_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_budget_error.proto new file mode 100644 index 000000000..adc845226 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_budget_error.proto @@ -0,0 +1,102 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign budget errors. + +// Container for enum describing possible campaign budget errors. +message CampaignBudgetErrorEnum { + // Enum describing possible campaign budget errors. + enum CampaignBudgetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The campaign budget cannot be shared. + CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17; + + // The requested campaign budget no longer exists. + CAMPAIGN_BUDGET_REMOVED = 2; + + // The campaign budget is associated with at least one campaign, and so the + // campaign budget cannot be removed. + CAMPAIGN_BUDGET_IN_USE = 3; + + // Customer is not on the allow-list for this campaign budget period. + CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4; + + // This field is not mutable on implicitly shared campaign budgets + CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = 6; + + // Cannot change explicitly shared campaign budgets back to implicitly + // shared ones. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = 7; + + // An implicit campaign budget without a name cannot be changed to + // explicitly shared campaign budget. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = 8; + + // Cannot change an implicitly shared campaign budget to an explicitly + // shared one. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = 9; + + // Only explicitly shared campaign budgets can be used with multiple + // campaigns. + CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = 10; + + // A campaign budget with this name already exists. + DUPLICATE_NAME = 11; + + // A money amount was not in the expected currency. + MONEY_AMOUNT_IN_WRONG_CURRENCY = 12; + + // A money amount was less than the minimum CPC for currency. + MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = 13; + + // A money amount was greater than the maximum allowed. + MONEY_AMOUNT_TOO_LARGE = 14; + + // A money amount was negative. + NEGATIVE_MONEY_AMOUNT = 15; + + // A money amount was not a multiple of a minimum unit. + NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = 16; + + // Total budget amount must be unset when BudgetPeriod is DAILY. + TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY = 18; + + // The period of the budget is not allowed. + INVALID_PERIOD = 19; + + // Cannot use accelerated delivery method on this budget. + CANNOT_USE_ACCELERATED_DELIVERY_MODE = 20; + + // Budget amount must be unset when BudgetPeriod is CUSTOM. + BUDGET_AMOUNT_MUST_BE_UNSET_FOR_CUSTOM_BUDGET_PERIOD = 21; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_conversion_goal_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_conversion_goal_error.proto new file mode 100644 index 000000000..91fa34948 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_conversion_goal_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign conversion goal errors. + +// Container for enum describing possible campaign conversion goal errors. +message CampaignConversionGoalErrorEnum { + // Enum describing possible campaign conversion goal errors. + enum CampaignConversionGoalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Campaign is managed by Search Ads 360 but uses Unified Goal. + CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN = 2; + + // Performance Max campaign cannot use an included store sale campaign goal. + CANNOT_USE_STORE_SALE_GOAL_FOR_PERFORMANCE_MAX_CAMPAIGN = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_criterion_error.proto new file mode 100644 index 000000000..be0a9e880 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_criterion_error.proto @@ -0,0 +1,128 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign criterion errors. + +// Container for enum describing possible campaign criterion errors. +message CampaignCriterionErrorEnum { + // Enum describing possible campaign criterion errors. + enum CampaignCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Concrete type of criterion (keyword v.s. placement) is required for + // CREATE and UPDATE operations. + CONCRETE_TYPE_REQUIRED = 2; + + // Invalid placement URL. + INVALID_PLACEMENT_URL = 3; + + // Criteria type can not be excluded for the campaign by the customer. like + // AOL account type cannot target site type criteria + CANNOT_EXCLUDE_CRITERIA_TYPE = 4; + + // Cannot set the campaign criterion status for this criteria type. + CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5; + + // Cannot set the campaign criterion status for an excluded criteria. + CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6; + + // Cannot target and exclude the same criterion. + CANNOT_TARGET_AND_EXCLUDE = 7; + + // The mutate contained too many operations. + TOO_MANY_OPERATIONS = 8; + + // This operator cannot be applied to a criterion of this type. + OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9; + + // The Shopping campaign sales country is not supported for + // ProductSalesChannel targeting. + SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10; + + // The existing field can't be updated with CREATE operation. It can be + // updated with UPDATE operation only. + CANNOT_ADD_EXISTING_FIELD = 11; + + // Negative criteria are immutable, so updates are not allowed. + CANNOT_UPDATE_NEGATIVE_CRITERION = 12; + + // Only free form names are allowed for negative Smart campaign keyword + // theme. + CANNOT_SET_NEGATIVE_KEYWORD_THEME_CONSTANT_CRITERION = 13; + + // Invalid Smart campaign keyword theme constant criterion. + INVALID_KEYWORD_THEME_CONSTANT = 14; + + // A Smart campaign keyword theme constant or free-form Smart campaign + // keyword theme is required. + MISSING_KEYWORD_THEME_CONSTANT_OR_FREE_FORM_KEYWORD_THEME = 15; + + // A Smart campaign may not target proximity and location criteria + // simultaneously. + CANNOT_TARGET_BOTH_PROXIMITY_AND_LOCATION_CRITERIA_FOR_SMART_CAMPAIGN = 16; + + // A Smart campaign may not target multiple proximity criteria. + CANNOT_TARGET_MULTIPLE_PROXIMITY_CRITERIA_FOR_SMART_CAMPAIGN = 17; + + // Location is not launched for Local Services Campaigns. + LOCATION_NOT_LAUNCHED_FOR_LOCAL_SERVICES_CAMPAIGN = 18; + + // A Local Services campaign may not target certain criteria types. + LOCATION_INVALID_FOR_LOCAL_SERVICES_CAMPAIGN = 19; + + // Country locations are not supported for Local Services campaign. + CANNOT_TARGET_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN = 20; + + // Location is not within the home country of Local Services campaign. + LOCATION_NOT_IN_HOME_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN = 21; + + // Local Services profile does not exist for a particular Local Services + // campaign. + CANNOT_ADD_OR_REMOVE_LOCATION_FOR_LOCAL_SERVICES_CAMPAIGN = 22; + + // Local Services campaign must have at least one target location. + AT_LEAST_ONE_POSITIVE_LOCATION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN = 23; + + // At least one positive local service ID criterion is required for a Local + // Services campaign. + AT_LEAST_ONE_LOCAL_SERVICE_ID_CRITERION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN = + 24; + + // Local service ID is not found under selected categories in local + // services campaign setting. + LOCAL_SERVICE_ID_NOT_FOUND_FOR_CATEGORY = 25; + + // For search advertising channel, brand lists can only be applied to + // exclusive targeting, broad match campaigns for inclusive targeting or + // PMax generated campaigns. + CANNOT_ATTACH_BRAND_LIST_TO_NON_QUALIFIED_SEARCH_CAMPAIGN = 26; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_customizer_error.proto new file mode 100644 index 000000000..4837868f8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_customizer_error.proto @@ -0,0 +1,40 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign customizer errors. + +// Container for enum describing possible campaign customizer errors. +message CampaignCustomizerErrorEnum { + // Enum describing possible campaign customizer errors. + enum CampaignCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_draft_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_draft_error.proto new file mode 100644 index 000000000..3fb6df859 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_draft_error.proto @@ -0,0 +1,75 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign draft errors. + +// Container for enum describing possible campaign draft errors. +message CampaignDraftErrorEnum { + // Enum describing possible campaign draft errors. + enum CampaignDraftError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A draft with this name already exists for this campaign. + DUPLICATE_DRAFT_NAME = 2; + + // The draft is removed and cannot be transitioned to another status. + INVALID_STATUS_TRANSITION_FROM_REMOVED = 3; + + // The draft has been promoted and cannot be transitioned to the specified + // status. + INVALID_STATUS_TRANSITION_FROM_PROMOTED = 4; + + // The draft has failed to be promoted and cannot be transitioned to the + // specified status. + INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED = 5; + + // This customer is not allowed to create drafts. + CUSTOMER_CANNOT_CREATE_DRAFT = 6; + + // This campaign is not allowed to create drafts. + CAMPAIGN_CANNOT_CREATE_DRAFT = 7; + + // This modification cannot be made on a draft. + INVALID_DRAFT_CHANGE = 8; + + // The draft cannot be transitioned to the specified status from its + // current status. + INVALID_STATUS_TRANSITION = 9; + + // The campaign has reached the maximum number of drafts that can be created + // for a campaign throughout its lifetime. No additional drafts can be + // created for this campaign. Removed drafts also count towards this limit. + MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED = 10; + + // ListAsyncErrors was called without first promoting the draft. + LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY = 11; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_error.proto new file mode 100644 index 000000000..aa60cde22 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_error.proto @@ -0,0 +1,303 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign errors. + +// Container for enum describing possible campaign errors. +message CampaignErrorEnum { + // Enum describing possible campaign errors. + enum CampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot target content network. + CANNOT_TARGET_CONTENT_NETWORK = 3; + + // Cannot target search network. + CANNOT_TARGET_SEARCH_NETWORK = 4; + + // Cannot cover search network without google search network. + CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5; + + // Cannot target Google Search network for a CPM campaign. + CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6; + + // Must target at least one network. + CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7; + + // Only some Google partners are allowed to target partner search network. + CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8; + + // Cannot target content network only as campaign has criteria-level bidding + // strategy. + CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9; + + // Cannot modify the start or end date such that the campaign duration would + // not contain the durations of all runnable trials. + CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10; + + // Cannot modify dates, budget or status of a trial campaign. + CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11; + + // Trying to modify the name of an active or paused campaign, where the name + // is already assigned to another active or paused campaign. + DUPLICATE_CAMPAIGN_NAME = 12; + + // Two fields are in conflicting modes. + INCOMPATIBLE_CAMPAIGN_FIELD = 13; + + // Campaign name cannot be used. + INVALID_CAMPAIGN_NAME = 14; + + // Given status is invalid. + INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15; + + // Error in the campaign level tracking URL. + INVALID_TRACKING_URL = 16; + + // Cannot set both tracking URL template and tracking setting. A user has + // to clear legacy tracking setting in order to add tracking URL template. + CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17; + + // The maximum number of impressions for Frequency Cap should be an integer + // greater than 0. + MAX_IMPRESSIONS_NOT_IN_RANGE = 18; + + // Only the Day, Week and Month time units are supported. + TIME_UNIT_NOT_SUPPORTED = 19; + + // Operation not allowed on a campaign whose serving status has ended + INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20; + + // This budget is exclusively linked to a Campaign that is using experiments + // so it cannot be shared. + BUDGET_CANNOT_BE_SHARED = 21; + + // Campaigns using experiments cannot use a shared budget. + CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22; + + // A different budget cannot be assigned to a campaign when there are + // running or scheduled trials. + CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23; + + // No link found between the campaign and the label. + CAMPAIGN_LABEL_DOES_NOT_EXIST = 24; + + // The label has already been attached to the campaign. + CAMPAIGN_LABEL_ALREADY_EXISTS = 25; + + // A ShoppingSetting was not found when creating a shopping campaign. + MISSING_SHOPPING_SETTING = 26; + + // The country in shopping setting is not an allowed country. + INVALID_SHOPPING_SALES_COUNTRY = 27; + + // The requested channel type is not available according to the customer's + // account setting. + ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31; + + // The AdvertisingChannelSubType is not a valid subtype of the primary + // channel type. + INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32; + + // At least one conversion must be selected. + AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33; + + // Setting ad rotation mode for a campaign is not allowed. Ad rotation mode + // at campaign is deprecated. + CANNOT_SET_AD_ROTATION_MODE = 34; + + // Trying to change start date on a campaign that has started. + CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35; + + // Trying to modify a date into the past. + CANNOT_SET_DATE_TO_PAST = 36; + + // Hotel center id in the hotel setting does not match any customer links. + MISSING_HOTEL_CUSTOMER_LINK = 37; + + // Hotel center id in the hotel setting must match an active customer link. + INVALID_HOTEL_CUSTOMER_LINK = 38; + + // Hotel setting was not found when creating a hotel ads campaign. + MISSING_HOTEL_SETTING = 39; + + // A Campaign cannot use shared campaign budgets and be part of a campaign + // group. + CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP = 40; + + // The app ID was not found. + APP_NOT_FOUND = 41; + + // Campaign.shopping_setting.enable_local is not supported for the specified + // campaign type. + SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 42; + + // The merchant does not support the creation of campaigns for Shopping + // Comparison Listing Ads. + MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS = 43; + + // The App campaign for engagement cannot be created because there aren't + // enough installs. + INSUFFICIENT_APP_INSTALLS_COUNT = 44; + + // The App campaign for engagement cannot be created because the app is + // sensitive. + SENSITIVE_CATEGORY_APP = 45; + + // Customers with Housing, Employment, or Credit ads must accept updated + // personalized ads policy to continue creating campaigns. + HEC_AGREEMENT_REQUIRED = 46; + + // The field is not compatible with view through conversion optimization. + NOT_COMPATIBLE_WITH_VIEW_THROUGH_CONVERSION_OPTIMIZATION = 49; + + // The field type cannot be excluded because an active campaign-asset link + // of this type exists. + INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE = 48; + + // The app pre-registration campaign cannot be created for non-Android + // applications. + CANNOT_CREATE_APP_PRE_REGISTRATION_FOR_NON_ANDROID_APP = 50; + + // The campaign cannot be created since the app is not available for + // pre-registration in any country. + APP_NOT_AVAILABLE_TO_CREATE_APP_PRE_REGISTRATION_CAMPAIGN = 51; + + // The type of the Budget is not compatible with this Campaign. + INCOMPATIBLE_BUDGET_TYPE = 52; + + // Category bid list in the local services campaign setting contains + // multiple bids for the same category ID. + LOCAL_SERVICES_DUPLICATE_CATEGORY_BID = 53; + + // Category bid list in the local services campaign setting contains + // a bid for an invalid category ID. + LOCAL_SERVICES_INVALID_CATEGORY_BID = 54; + + // Category bid list in the local services campaign setting is missing a + // bid for a category ID that must be present. + LOCAL_SERVICES_MISSING_CATEGORY_BID = 55; + + // The requested change in status is not supported. + INVALID_STATUS_CHANGE = 57; + + // Travel Campaign's travel_account_id does not match any customer links. + MISSING_TRAVEL_CUSTOMER_LINK = 58; + + // Travel Campaign's travel_account_id matches an existing customer link + // but the customer link is not active. + INVALID_TRAVEL_CUSTOMER_LINK = 59; + + // The asset set type is invalid to be set in + // excluded_parent_asset_set_types field. + INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE = 62; + + // Campaign.hotel_property_asset_set must point to an asset set of type + // HOTEL_PROPERTY. + ASSET_SET_NOT_A_HOTEL_PROPERTY_ASSET_SET = 63; + + // The hotel property asset set can only be set on Performance Max for + // travel goals campaigns. + HOTEL_PROPERTY_ASSET_SET_ONLY_FOR_PERFORMANCE_MAX_FOR_TRAVEL_GOALS = 64; + + // Customer's average daily spend is too high to enable this feature. + AVERAGE_DAILY_SPEND_TOO_HIGH = 65; + + // Cannot attach the campaign to a deleted campaign group. + CANNOT_ATTACH_TO_REMOVED_CAMPAIGN_GROUP = 66; + + // Cannot attach the campaign to this bidding strategy. + CANNOT_ATTACH_TO_BIDDING_STRATEGY = 67; + + // A budget with a different period cannot be assigned to the campaign. + CANNOT_CHANGE_BUDGET_PERIOD = 68; + + // Customer does not have enough conversions to enable this feature. + NOT_ENOUGH_CONVERSIONS = 71; + + // This campaign type can only have one conversion action. + CANNOT_SET_MORE_THAN_ONE_CONVERSION_ACTION = 72; + + // The field is not compatible with the budget type. + NOT_COMPATIBLE_WITH_BUDGET_TYPE = 73; + + // The feature is incompatible with ConversionActionType.UPLOAD_CLICKS. + NOT_COMPATIBLE_WITH_UPLOAD_CLICKS_CONVERSION = 74; + + // App campaign setting app ID must match selective optimization conversion + // action app ID. + APP_ID_MUST_MATCH_CONVERSION_ACTION_APP_ID = 76; + + // Selective optimization conversion action with Download category is not + // allowed. + CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_NOT_ALLOWED = 77; + + // One software download for selective optimization conversion action is + // required for this campaign conversion action. + CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_REQUIRED = 78; + + // Conversion tracking is not enabled and is required for this feature. + CONVERSION_TRACKING_NOT_ENABLED = 79; + + // The field is not compatible with the bidding strategy type. + NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 80; + + // Campaign is not compatible with a conversion tracker that has Google + // attribution enabled. + NOT_COMPATIBLE_WITH_GOOGLE_ATTRIBUTION_CONVERSIONS = 81; + + // Customer level conversion lag is too high. + CONVERSION_LAG_TOO_HIGH = 82; + + // The advertiser set as an advertising partner is not an actively linked + // advertiser to this customer. + NOT_LINKED_ADVERTISING_PARTNER = 83; + + // Invalid number of advertising partner IDs. + INVALID_NUMBER_OF_ADVERTISING_PARTNER_IDS = 84; + + // Cannot target the display network without also targeting YouTube. + CANNOT_TARGET_DISPLAY_NETWORK_WITHOUT_YOUTUBE = 85; + + // This campaign type cannot be linked to a Comparison Shopping Service + // account. + CANNOT_LINK_TO_COMPARISON_SHOPPING_SERVICE_ACCOUNT = 86; + + // Standard Shopping campaigns that are linked to a Comparison Shopping + // Service account cannot target this network. + CANNOT_TARGET_NETWORK_FOR_COMPARISON_SHOPPING_SERVICE_LINKED_ACCOUNTS = 87; + + // Text asset automation settings can not be modified when there is an + // active Performance Max optimization automatically created assets + // experiment. End the experiment to modify these settings. + CANNOT_MODIFY_TEXT_ASSET_AUTOMATION_WITH_ENABLED_TRIAL = 88; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_experiment_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_experiment_error.proto new file mode 100644 index 000000000..4c0040525 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_experiment_error.proto @@ -0,0 +1,77 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign experiment errors. + +// Container for enum describing possible campaign experiment errors. +message CampaignExperimentErrorEnum { + // Enum describing possible campaign experiment errors. + enum CampaignExperimentError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active campaign or experiment with this name already exists. + DUPLICATE_NAME = 2; + + // Experiment cannot be updated from the current state to the + // requested target state. For example, an experiment can only graduate + // if its status is ENABLED. + INVALID_TRANSITION = 3; + + // Cannot create an experiment from a campaign using an explicitly shared + // budget. + CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET = 4; + + // Cannot create an experiment for a removed base campaign. + CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN = 5; + + // Cannot create an experiment from a draft, which has a status other than + // proposed. + CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT = 6; + + // This customer is not allowed to create an experiment. + CUSTOMER_CANNOT_CREATE_EXPERIMENT = 7; + + // This campaign is not allowed to create an experiment. + CAMPAIGN_CANNOT_CREATE_EXPERIMENT = 8; + + // Trying to set an experiment duration which overlaps with another + // experiment. + EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP = 9; + + // All non-removed experiments must start and end within their campaign's + // duration. + EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION = 10; + + // The experiment cannot be modified because its status is in a terminal + // state, such as REMOVED. + CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS = 11; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_feed_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_feed_error.proto new file mode 100644 index 000000000..6cd17ce36 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_feed_error.proto @@ -0,0 +1,66 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign feed errors. + +// Container for enum describing possible campaign feed errors. +message CampaignFeedErrorEnum { + // Enum describing possible campaign feed errors. + enum CampaignFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this campaign and placeholder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 4; + + // The CampaignFeed already exists. UPDATE should be used to modify the + // existing CampaignFeed. + CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5; + + // Cannot update removed campaign feed. + CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 7; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8; + + // Location CampaignFeeds cannot be created unless there is a location + // CustomerFeed for the specified feed. + NO_EXISTING_LOCATION_CUSTOMER_FEED = 9; + + // Feed is read only. + LEGACY_FEED_TYPE_READ_ONLY = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_lifecycle_goal_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_lifecycle_goal_error.proto new file mode 100644 index 000000000..67598bcbd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_lifecycle_goal_error.proto @@ -0,0 +1,106 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLifecycleGoalErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing CampaignLifecycleGoal errors. + +// Container for enum describing possible campaign lifecycle goal errors. +message CampaignLifecycleGoalErrorEnum { + // Enum describing possible campaign lifecycle goal errors. + enum CampaignLifecycleGoalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Campaign is not specified. + CAMPAIGN_MISSING = 2; + + // Cannot find the specified campaign. + INVALID_CAMPAIGN = 3; + + // Optimization mode is unspecified or invalid. + CUSTOMER_ACQUISITION_INVALID_OPTIMIZATION_MODE = 4; + + // The configured lifecycle goal setting is not compatible with the bidding + // strategy the campaign is using. Specifically, BID_HIGHER_FOR_NEW_CUSTOMER + // requires conversion-value based bidding strategy type such as + // MAXIMIZE_CONVERSION_VALUE. + INCOMPATIBLE_BIDDING_STRATEGY = 5; + + // Lifecycle goals require the campaign to optimize towards purchase + // conversion goal. + MISSING_PURCHASE_GOAL = 6; + + // CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.high_lifetime_value + // is invalid or not allowed, such as when the specified value is smaller + // than 0.01, when the optimization mode is not BID_HIGHER_FOR_NEW_CUSTOMER, + // or when + // CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.high_lifetime_value + // is specified smaller than/without + // CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value. + CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE = 7; + + // Customer acquisition goal is not supported on this campaign type. + CUSTOMER_ACQUISITION_UNSUPPORTED_CAMPAIGN_TYPE = 8; + + // CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value + // is invalid or not allowed, such as when the specified value is smaller + // than 0.01, or when the optimization mode is not + // BID_HIGHER_FOR_NEW_CUSTOMER. + CUSTOMER_ACQUISITION_INVALID_VALUE = 9; + + // To use BID_HIGHER_FOR_NEW_CUSTOMER mode, either + // CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value + // or CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value + // must have been specified. If a manager account is managing your account's + // conversion tracking, then only the CustomerLifecycleGoal of that manager + // account is used. + CUSTOMER_ACQUISITION_VALUE_MISSING = 10; + + // In order for a campaign to adopt the customer acquisition goal, + // CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.existing_user_lists + // must include active and accessible userlist with more than 1000 members + // in the Search/Youtube network. If a manager account is managing your + // account's conversion tracking, then only the CustomerLifecycleGoal of + // that manager account is used. Also make sure that the manager account + // shares audience segments with sub-accounts with continuous audience + // sharing. + CUSTOMER_ACQUISITION_MISSING_EXISTING_CUSTOMER_DEFINITION = 11; + + // In order for a campaign to adopt the customer acquisition goal with high + // lifetime value optimization, + // CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.high_lifetime_value_user_lists + // must include active and accessible userlist with more than 1000 members + // in the Search/Youtube network. If a manager account is managing your + // account's conversion tracking, then only the CustomerLifecycleGoal of + // that manager account is used. Also make sure that the manager account + // shares audience segments with sub-accounts using continuous audience + // sharing. + CUSTOMER_ACQUISITION_MISSING_HIGH_VALUE_CUSTOMER_DEFINITION = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/campaign_shared_set_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_shared_set_error.proto new file mode 100644 index 000000000..38bbd4c34 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/campaign_shared_set_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing campaign shared set errors. + +// Container for enum describing possible campaign shared set errors. +message CampaignSharedSetErrorEnum { + // Enum describing possible campaign shared set errors. + enum CampaignSharedSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The shared set belongs to another customer and permission isn't granted. + SHARED_SET_ACCESS_DENIED = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/change_event_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/change_event_error.proto new file mode 100644 index 000000000..11c2a1984 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/change_event_error.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing change event errors. + +// Container for enum describing possible change event errors. +message ChangeEventErrorEnum { + // Enum describing possible change event errors. + enum ChangeEventError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested start date is too old. It cannot be older than 30 days. + START_DATE_TOO_OLD = 2; + + // The change_event search request must specify a finite range filter + // on change_date_time. + CHANGE_DATE_RANGE_INFINITE = 3; + + // The change event search request has specified invalid date time filters + // that can never logically produce any valid results (for example, start + // time after end time). + CHANGE_DATE_RANGE_NEGATIVE = 4; + + // The change_event search request must specify a LIMIT. + LIMIT_NOT_SPECIFIED = 5; + + // The LIMIT specified by change_event request should be less than or equal + // to 10K. + INVALID_LIMIT_CLAUSE = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/change_status_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/change_status_error.proto new file mode 100644 index 000000000..5262b6ef1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/change_status_error.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing change status errors. + +// Container for enum describing possible change status errors. +message ChangeStatusErrorEnum { + // Enum describing possible change status errors. + enum ChangeStatusError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested start date is too old. + START_DATE_TOO_OLD = 3; + + // The change_status search request must specify a finite range filter + // on last_change_date_time. + CHANGE_DATE_RANGE_INFINITE = 4; + + // The change status search request has specified invalid date time filters + // that can never logically produce any valid results (for example, start + // time after end time). + CHANGE_DATE_RANGE_NEGATIVE = 5; + + // The change_status search request must specify a LIMIT. + LIMIT_NOT_SPECIFIED = 6; + + // The LIMIT specified by change_status request should be less than or equal + // to 10K. + INVALID_LIMIT_CLAUSE = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/collection_size_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/collection_size_error.proto new file mode 100644 index 000000000..8d6494cbc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/collection_size_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CollectionSizeErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing collection size errors. + +// Container for enum describing possible collection size errors. +message CollectionSizeErrorEnum { + // Enum describing possible collection size errors. + enum CollectionSizeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too few. + TOO_FEW = 2; + + // Too many. + TOO_MANY = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/context_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/context_error.proto new file mode 100644 index 000000000..776c9932a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/context_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ContextErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing context errors. + +// Container for enum describing possible context errors. +message ContextErrorEnum { + // Enum describing possible context errors. + enum ContextError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The operation is not allowed for the given context. + OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2; + + // The operation is not allowed for removed resources. + OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/conversion_action_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_action_error.proto new file mode 100644 index 000000000..7123f81df --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_action_error.proto @@ -0,0 +1,82 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing conversion action errors. + +// Container for enum describing possible conversion action errors. +message ConversionActionErrorEnum { + // Enum describing possible conversion action errors. + enum ConversionActionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified conversion action name already exists. + DUPLICATE_NAME = 2; + + // Another conversion action with the specified app id already exists. + DUPLICATE_APP_ID = 3; + + // Android first open action conflicts with Google play codeless download + // action tracking the same app. + TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4; + + // Android first open action conflicts with Google play codeless download + // action tracking the same app. + BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5; + + // The attribution model cannot be set to DATA_DRIVEN because a data-driven + // model has never been generated. + DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is expired. + DATA_DRIVEN_MODEL_EXPIRED = 7; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is stale. + DATA_DRIVEN_MODEL_STALE = 8; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is unavailable or the conversion action was newly + // added. + DATA_DRIVEN_MODEL_UNKNOWN = 9; + + // Creation of this conversion action type isn't supported by Google + // Ads API. + CREATION_NOT_SUPPORTED = 10; + + // Update of this conversion action isn't supported by Google Ads API. + UPDATE_NOT_SUPPORTED = 11; + + // Rule-based attribution models are deprecated and not allowed to be set + // by conversion action. + CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/conversion_adjustment_upload_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_adjustment_upload_error.proto new file mode 100644 index 000000000..0321571b4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_adjustment_upload_error.proto @@ -0,0 +1,148 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing conversion adjustment upload errors. + +// Container for enum describing possible conversion adjustment upload errors. +message ConversionAdjustmentUploadErrorEnum { + // Enum describing possible conversion adjustment upload errors. + enum ConversionAdjustmentUploadError { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Can't import events to a conversion action that was just created. Try + // importing again in 6 hours. + TOO_RECENT_CONVERSION_ACTION = 2; + + // The conversion was already retracted. This adjustment was not processed. + CONVERSION_ALREADY_RETRACTED = 4; + + // The conversion for this conversion action and conversion identifier can't + // be found. Make sure your conversion identifiers are associated with the + // correct conversion action and try again. + CONVERSION_NOT_FOUND = 5; + + // Adjustment can't be made to a conversion that occurred more than 54 days + // ago. + CONVERSION_EXPIRED = 6; + + // Adjustment has an `adjustment_date_time` that occurred before the + // associated conversion. Make sure your `adjustment_date_time` is correct + // and try again. + ADJUSTMENT_PRECEDES_CONVERSION = 7; + + // More recent adjustment `adjustment_date_time` has already been reported + // for the associated conversion. Make sure your adjustment + // `adjustment_date_time` is correct and try again. + MORE_RECENT_RESTATEMENT_FOUND = 8; + + // Adjustment can't be recorded because the conversion occurred too + // recently. Try adjusting a conversion that occurred at least 24 hours ago. + TOO_RECENT_CONVERSION = 9; + + // Can't make an adjustment to a conversion that is set up to use the + // default value. Check your conversion action value setting and try again. + CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = + 10; + + // Try uploading fewer than 2001 adjustments in a single API request. + TOO_MANY_ADJUSTMENTS_IN_REQUEST = 11; + + // The conversion has already been adjusted the maximum number of times. + // Make sure you're only making necessary adjustment to existing conversion. + TOO_MANY_ADJUSTMENTS = 12; + + // The conversion has prior a restatement with the same + // `adjustment_date_time`. Make sure your adjustment has the correct and + // unique `adjustment_date_time` and try again. + RESTATEMENT_ALREADY_EXISTS = 13; + + // Imported adjustment has a duplicate conversion adjustment with same + // `adjustment_date_time`. Make sure your adjustment has the correct + // `adjustment_date_time` and try again. + DUPLICATE_ADJUSTMENT_IN_REQUEST = 14; + + // Make sure you agree to the customer data processing terms in conversion + // settings and try again. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 15; + + // Can't use enhanced conversions with the specified conversion action. + CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT = 16; + + // Make sure you hash user provided data using SHA-256 and ensure you are + // normalizing according to the guidelines. + INVALID_USER_IDENTIFIER = 17; + + // Use user provided data such as emails or phone numbers hashed using + // SHA-256 and try again. + UNSUPPORTED_USER_IDENTIFIER = 18; + + // Cannot set both gclid_date_time_pair and order_id. Use only 1 type and + // try again. + GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET = 20; + + // Conversion already has enhancements with the same Order ID and conversion + // action. Make sure your data is correctly configured and try again. + CONVERSION_ALREADY_ENHANCED = 21; + + // Multiple enhancements have the same conversion action and Order ID. Make + // sure your data is correctly configured and try again. + DUPLICATE_ENHANCEMENT_IN_REQUEST = 22; + + // Enhanced conversions can't be used for this account because of Google + // customer data policies. Contact your Google representative. + CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT = 23; + + // Adjustment for website conversion requires Order ID (ie, transaction ID). + // Make sure your website tags capture Order IDs and you send the same Order + // IDs with your adjustment. + MISSING_ORDER_ID_FOR_WEBPAGE = 24; + + // Can't use adjustment with Order IDs containing personally-identifiable + // information (PII). + ORDER_ID_CONTAINS_PII = 25; + + // The provided job id in the request is not within the allowed range. A job + // ID must be a positive integer in the range [1, 2^31). + INVALID_JOB_ID = 26; + + // The conversion action specified in the adjustment request cannot be + // found. Make sure it's available in this account. + NO_CONVERSION_ACTION_FOUND = 27; + + // The type of the conversion action specified in the adjustment request + // isn't supported for uploading adjustments. A conversion adjustment of + // type `RETRACTION` or `RESTATEMENT` is only permitted for conversion + // actions of type `SALESFORCE`, `UPLOAD_CLICK` or `WEBPAGE`. A conversion + // adjustment of type `ENHANCEMENT` is only permitted for conversion + // actions of type `WEBPAGE`. + INVALID_CONVERSION_ACTION_TYPE = 28; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/conversion_custom_variable_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_custom_variable_error.proto new file mode 100644 index 000000000..0f9a28262 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_custom_variable_error.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing conversion custom variable errors. + +// Container for enum describing possible conversion custom variable errors. +message ConversionCustomVariableErrorEnum { + // Enum describing possible conversion custom variable errors. + enum ConversionCustomVariableError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A conversion custom variable with the specified name already exists. + DUPLICATE_NAME = 2; + + // A conversion custom variable with the specified tag already exists. + DUPLICATE_TAG = 3; + + // A conversion custom variable with the specified tag is reserved for other + // uses. + RESERVED_TAG = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/conversion_goal_campaign_config_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_goal_campaign_config_error.proto new file mode 100644 index 000000000..b665f11b1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_goal_campaign_config_error.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing conversion goal campaign config errors. + +// Container for enum describing possible conversion goal campaign config +// errors. +message ConversionGoalCampaignConfigErrorEnum { + // Enum describing possible conversion goal campaign config errors. + enum ConversionGoalCampaignConfigError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Campaign is managed by Search Ads 360 but uses Unified Goal. + CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN = 2; + + // The campaign is using a custom goal that does not belong to its Google + // Ads conversion customer (conversion tracking customer). + CUSTOM_GOAL_DOES_NOT_BELONG_TO_GOOGLE_ADS_CONVERSION_CUSTOMER = 3; + + // The campaign is not allowed to use unified goals. + CAMPAIGN_CANNOT_USE_UNIFIED_GOALS = 4; + + // The campaign is using campaign override goals but has no goals + // configured. + EMPTY_CONVERSION_GOALS = 5; + + // STORE_SALE and STORE_VISIT conversion types cannot be both included in + // campaign level goal. + STORE_SALE_STORE_VISIT_CANNOT_BE_BOTH_INCLUDED = 6; + + // Performance Max campaign is not allowed to use custom goal with store + // sales conversion type. + PERFORMANCE_MAX_CAMPAIGN_CANNOT_USE_CUSTOM_GOAL_WITH_STORE_SALES = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/conversion_upload_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_upload_error.proto new file mode 100644 index 000000000..f66952cb5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_upload_error.proto @@ -0,0 +1,233 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing conversion upload errors. + +// Container for enum describing possible conversion upload errors. +message ConversionUploadErrorEnum { + // Enum describing possible conversion upload errors. + enum ConversionUploadError { + // Enum unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Upload fewer than 2001 events in a single request. + TOO_MANY_CONVERSIONS_IN_REQUEST = 2; + + // The imported gclid could not be decoded. Make sure you have not modified + // the click IDs. + UNPARSEABLE_GCLID = 3; + + // The imported event has a `conversion_date_time` that precedes the click. + // Make sure your `conversion_date_time` is correct and try again. + CONVERSION_PRECEDES_EVENT = 42; + + // The imported event can't be recorded because its click occurred before + // this conversion's click-through window. Make sure you import the most + // recent data. + EXPIRED_EVENT = 43; + + // The click associated with the given identifier or iOS URL parameter + // occurred less than 6 hours ago. Retry after 6 hours have passed. + TOO_RECENT_EVENT = 44; + + // The imported event could not be attributed to a click. This may be + // because the event did not come from a Google Ads campaign. + EVENT_NOT_FOUND = 45; + + // The click ID or call is associated with an Ads account you don't have + // access to. Make sure you import conversions for accounts managed by your + // manager account. + UNAUTHORIZED_CUSTOMER = 8; + + // Can't import events to a conversion action that was just created. Try + // importing again in 6 hours. + TOO_RECENT_CONVERSION_ACTION = 10; + + // At the time of the click, conversion tracking was not enabled in the + // effective conversion account of the click's Google Ads account. + CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11; + + // The imported event includes external attribution data, but the conversion + // action isn't set up to use an external attribution model. Make sure the + // conversion action is correctly configured and try again. + EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = + 12; + + // The conversion action is set up to use an external attribution model, but + // the imported event is missing data. Make sure imported events include the + // external attribution credit and all necessary fields. + EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = + 13; + + // Order IDs can't be used for a conversion measured with an external + // attribution model. Make sure the conversion is correctly configured and + // imported events include only necessary data and try again. + ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14; + + // The imported event includes an order ID that was previously recorded, so + // the event was not processed. + ORDER_ID_ALREADY_IN_USE = 15; + + // Imported events include multiple conversions with the same order ID and + // were not processed. Make sure order IDs are unique and try again. + DUPLICATE_ORDER_ID = 16; + + // Can't import calls that occurred less than 6 hours ago. Try uploading + // again in 6 hours. + TOO_RECENT_CALL = 17; + + // The call can't be recorded because it occurred before this conversion + // action's lookback window. Make sure your import is configured to get the + // most recent data. + EXPIRED_CALL = 18; + + // The call or click leading to the imported event can't be found. Make sure + // your data source is set up to include correct identifiers. + CALL_NOT_FOUND = 19; + + // The call has a `conversion_date_time` that precedes the associated click. + // Make sure your `conversion_date_time` is correct. + CONVERSION_PRECEDES_CALL = 20; + + // At the time of the imported call, conversion tracking was not enabled in + // the effective conversion account of the click's Google Ads account. + CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21; + + // Make sure phone numbers are formatted as E.164 (+16502531234), + // International (+64 3-331 6005), or US national number (6502531234). + UNPARSEABLE_CALLERS_PHONE_NUMBER = 22; + + // The imported event has the same click and `conversion_date_time` as an + // existing conversion. Use a unique `conversion_date_time` or order ID for + // each unique event and try again. + CLICK_CONVERSION_ALREADY_EXISTS = 23; + + // The imported call has the same `conversion_date_time` as an existing + // conversion. Make sure your `conversion_date_time` correctly configured + // and try again. + CALL_CONVERSION_ALREADY_EXISTS = 24; + + // Multiple events have the same click and `conversion_date_time`. Make sure + // your `conversion_date_time` is correctly configured and try again. + DUPLICATE_CLICK_CONVERSION_IN_REQUEST = 25; + + // Multiple events have the same call and `conversion_date_time`. Make sure + // your `conversion_date_time` is correctly configured and try again. + DUPLICATE_CALL_CONVERSION_IN_REQUEST = 26; + + // Enable the custom variable in your conversion settings and try again. + CUSTOM_VARIABLE_NOT_ENABLED = 28; + + // Can't import events with custom variables containing + // personally-identifiable information (PII). Remove these variables and try + // again. + CUSTOM_VARIABLE_VALUE_CONTAINS_PII = 29; + + // The click from the imported event is associated with a different Google + // Ads account. Make sure you're importing to the correct account. + INVALID_CUSTOMER_FOR_CLICK = 30; + + // The click from the call is associated with a different Google Ads + // account. Make sure you're importing to the correct account. Query + // conversion_tracking_setting.google_ads_conversion_customer on Customer to + // identify the correct account. + INVALID_CUSTOMER_FOR_CALL = 31; + + // The connversion can't be imported because the conversion source didn't + // comply with Apple App Transparency Tracking (ATT) policies or because the + // customer didn't consent to tracking. + CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY = 32; + + // The email address or phone number for this event can't be matched to a + // click. This may be because it didn't come from a Google Ads campaign, and + // you can safely ignore this warning. If this includes more imported events + // than is expected, you may need to check your setup. + CLICK_NOT_FOUND = 33; + + // Make sure you hash user provided data using SHA-256 and ensure you are + // normalizing according to the guidelines. + INVALID_USER_IDENTIFIER = 34; + + // User provided data can't be used with external attribution models. Use a + // different attribution model or omit user identifiers and try again. + EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER = + 35; + + // The provided user identifiers are not supported. Use only hashed email + // or phone number and try again. + UNSUPPORTED_USER_IDENTIFIER = 36; + + // Can't use both gbraid and wbraid parameters. Use only 1 and try again. + GBRAID_WBRAID_BOTH_SET = 38; + + // Can't parse event import data. Check if your wbraid parameter was + // not modified and try again. + UNPARSEABLE_WBRAID = 39; + + // Can't parse event import data. Check if your gbraid parameter was + // not modified and try again. + UNPARSEABLE_GBRAID = 40; + + // Conversion actions that use one-per-click counting can't be used with + // gbraid or wbraid parameters. + ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID = 46; + + // Enhanced conversions can't be used for this account because of Google + // customer data policies. Contact your Google representative. + CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS = 47; + + // Make sure you agree to the customer data processing terms in conversion + // settings and try again. You can check your setting by querying + // conversion_tracking_setting.accepted_customer_data_terms on Customer. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 48; + + // Can't import events with order IDs containing personally-identifiable + // information (PII). + ORDER_ID_CONTAINS_PII = 49; + + // Make sure you've turned on enhanced conversions for leads in conversion + // settings and try again. You can check your setting by querying + // conversion_tracking_setting.enhanced_conversions_for_leads_enabled on + // Customer. + CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS = 50; + + // The provided job id in the request is not within the allowed range. A job + // ID must be a positive integer in the range [1, 2^31). + INVALID_JOB_ID = 52; + + // The conversion action specified in the upload request cannot be found. + // Make sure it's available in this account. + NO_CONVERSION_ACTION_FOUND = 53; + + // The conversion action specified in the upload request isn't set up for + // uploading conversions. + INVALID_CONVERSION_ACTION_TYPE = 54; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/conversion_value_rule_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_value_rule_error.proto new file mode 100644 index 000000000..db6693509 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_value_rule_error.proto @@ -0,0 +1,88 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing conversion value rule errors. + +// Container for enum describing possible conversion value rule errors. +message ConversionValueRuleErrorEnum { + // Enum describing possible conversion value rule errors. + enum ConversionValueRuleError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The value rule's geo location condition contains invalid geo target + // constant(s), for example, there's no matching geo target. + INVALID_GEO_TARGET_CONSTANT = 2; + + // The value rule's geo location condition contains conflicting included and + // excluded geo targets. Specifically, some of the excluded geo target(s) + // are the same as or contain some of the included geo target(s). For + // example, the geo location condition includes California but excludes U.S. + CONFLICTING_INCLUDED_AND_EXCLUDED_GEO_TARGET = 3; + + // User specified conflicting conditions for two value rules in the same + // value rule set. + CONFLICTING_CONDITIONS = 4; + + // The value rule cannot be removed because it's still included in some + // value rule set. + CANNOT_REMOVE_IF_INCLUDED_IN_VALUE_RULE_SET = 5; + + // The value rule contains a condition that's not allowed by the value rule + // set including this value rule. + CONDITION_NOT_ALLOWED = 6; + + // The value rule contains a field that should be unset. + FIELD_MUST_BE_UNSET = 7; + + // Pausing the value rule requires pausing the value rule set because the + // value rule is (one of) the last enabled in the value rule set. + CANNOT_PAUSE_UNLESS_VALUE_RULE_SET_IS_PAUSED = 8; + + // The value rule's geo location condition contains untargetable geo target + // constant(s). + UNTARGETABLE_GEO_TARGET = 9; + + // The value rule's audience condition contains invalid user list(s). In + // another word, there's no matching user list. + INVALID_AUDIENCE_USER_LIST = 10; + + // The value rule's audience condition contains inaccessible user list(s). + INACCESSIBLE_USER_LIST = 11; + + // The value rule's audience condition contains invalid user_interest(s). + // This might be because there is no matching user interest, or the user + // interest is not visible. + INVALID_AUDIENCE_USER_INTEREST = 12; + + // When a value rule is created, it shouldn't have REMOVED status. + CANNOT_ADD_RULE_WITH_STATUS_REMOVED = 13; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/conversion_value_rule_set_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_value_rule_set_error.proto new file mode 100644 index 000000000..53241e317 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/conversion_value_rule_set_error.proto @@ -0,0 +1,98 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing conversion value rule set errors. + +// Container for enum describing possible conversion value rule set errors. +message ConversionValueRuleSetErrorEnum { + // Enum describing possible conversion value rule set errors. + enum ConversionValueRuleSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Two value rules in this value rule set contain conflicting conditions. + CONFLICTING_VALUE_RULE_CONDITIONS = 2; + + // This value rule set includes a value rule that cannot be found, has been + // permanently removed or belongs to a different customer. + INVALID_VALUE_RULE = 3; + + // An error that's thrown when a mutate operation is trying to + // replace/remove some existing elements in the dimensions field. In other + // words, ADD op is always fine and UPDATE op is fine if it's only appending + // new elements into dimensions list. + DIMENSIONS_UPDATE_ONLY_ALLOW_APPEND = 4; + + // An error that's thrown when a mutate is adding new value rule(s) into a + // value rule set and the added value rule(s) include conditions that are + // not specified in the dimensions of the value rule set. + CONDITION_TYPE_NOT_ALLOWED = 5; + + // The dimensions field contains duplicate elements. + DUPLICATE_DIMENSIONS = 6; + + // This value rule set is attached to an invalid campaign id. Either a + // campaign with this campaign id doesn't exist or it belongs to a different + // customer. + INVALID_CAMPAIGN_ID = 7; + + // When a mutate request tries to pause a value rule set, the enabled + // value rules in this set must be paused in the same command, or this error + // will be thrown. + CANNOT_PAUSE_UNLESS_ALL_VALUE_RULES_ARE_PAUSED = 8; + + // When a mutate request tries to pause all the value rules in a value rule + // set, the value rule set must be paused, or this error will be thrown. + SHOULD_PAUSE_WHEN_ALL_VALUE_RULES_ARE_PAUSED = 9; + + // This value rule set is attached to a campaign that does not support value + // rules. Currently, campaign level value rule sets can only be created on + // Search, or Display campaigns. + VALUE_RULES_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 10; + + // To add a value rule set that applies on Store Visits/Store Sales + // conversion action categories, the customer must have valid Store Visits/ + // Store Sales conversion actions. + INELIGIBLE_CONVERSION_ACTION_CATEGORIES = 11; + + // If NO_CONDITION is used as a dimension of a value rule set, it must be + // the only dimension. + DIMENSION_NO_CONDITION_USED_WITH_OTHER_DIMENSIONS = 12; + + // Dimension NO_CONDITION can only be used by Store Visits/Store Sales value + // rule set. + DIMENSION_NO_CONDITION_NOT_ALLOWED = 13; + + // Value rule sets defined on the specified conversion action categories are + // not supported. The list of conversion action categories must be an empty + // list, only STORE_VISIT, or only STORE_SALE. + UNSUPPORTED_CONVERSION_ACTION_CATEGORIES = 14; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/country_code_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/country_code_error.proto new file mode 100644 index 000000000..26b851f79 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/country_code_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CountryCodeErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing country code errors. + +// Container for enum describing country code errors. +message CountryCodeErrorEnum { + // Enum describing country code errors. + enum CountryCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/criterion_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/criterion_error.proto new file mode 100644 index 000000000..395a23b20 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/criterion_error.proto @@ -0,0 +1,528 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CriterionErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing criterion errors. + +// Container for enum describing possible criterion errors. +message CriterionErrorEnum { + // Enum describing possible criterion errors. + enum CriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Concrete type of criterion is required for CREATE and UPDATE operations. + CONCRETE_TYPE_REQUIRED = 2; + + // The category requested for exclusion is invalid. + INVALID_EXCLUDED_CATEGORY = 3; + + // Invalid keyword criteria text. + INVALID_KEYWORD_TEXT = 4; + + // Keyword text should be less than 80 chars. + KEYWORD_TEXT_TOO_LONG = 5; + + // Keyword text has too many words. + KEYWORD_HAS_TOO_MANY_WORDS = 6; + + // Keyword text has invalid characters or symbols. + KEYWORD_HAS_INVALID_CHARS = 7; + + // Invalid placement URL. + INVALID_PLACEMENT_URL = 8; + + // Invalid user list criterion. + INVALID_USER_LIST = 9; + + // Invalid user interest criterion. + INVALID_USER_INTEREST = 10; + + // Placement URL has wrong format. + INVALID_FORMAT_FOR_PLACEMENT_URL = 11; + + // Placement URL is too long. + PLACEMENT_URL_IS_TOO_LONG = 12; + + // Indicates the URL contains an illegal character. + PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13; + + // Indicates the URL contains multiple comma separated URLs. + PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; + + // Indicates the domain is blocked. + PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15; + + // Invalid topic path. + INVALID_TOPIC_PATH = 16; + + // The YouTube Channel Id is invalid. + INVALID_YOUTUBE_CHANNEL_ID = 17; + + // The YouTube Video Id is invalid. + INVALID_YOUTUBE_VIDEO_ID = 18; + + // Indicates the placement is a YouTube vertical channel, which is no longer + // supported. + YOUTUBE_VERTICAL_CHANNEL_DEPRECATED = 19; + + // Indicates the placement is a YouTube demographic channel, which is no + // longer supported. + YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED = 20; + + // YouTube urls are not supported in Placement criterion. Use YouTubeChannel + // and YouTubeVideo criterion instead. + YOUTUBE_URL_UNSUPPORTED = 21; + + // Criteria type can not be excluded by the customer, like AOL account type + // cannot target site type criteria. + CANNOT_EXCLUDE_CRITERIA_TYPE = 22; + + // Criteria type can not be targeted. + CANNOT_ADD_CRITERIA_TYPE = 23; + + // Not allowed to exclude similar user list. + CANNOT_EXCLUDE_SIMILAR_USER_LIST = 26; + + // Not allowed to target a closed user list. + CANNOT_ADD_CLOSED_USER_LIST = 27; + + // Not allowed to add display only UserLists to search only campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS = 28; + + // Not allowed to add display only UserLists to search plus campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS = 29; + + // Not allowed to add display only UserLists to shopping campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS = 30; + + // Not allowed to add User interests to search only campaigns. + CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS = 31; + + // Not allowed to set bids for this criterion type in search campaigns + CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS = 32; + + // Final URLs, URL Templates and CustomParameters cannot be set for the + // criterion types of Gender, AgeRange, UserList, Placement, MobileApp, and + // MobileAppCategory in search campaigns and shopping campaigns. + CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE = 33; + + // Invalid combined audience criterion. + INVALID_COMBINED_AUDIENCE = 122; + + // Invalid custom affinity criterion. + INVALID_CUSTOM_AFFINITY = 96; + + // Invalid custom intent criterion. + INVALID_CUSTOM_INTENT = 97; + + // Invalid custom audience criterion. + INVALID_CUSTOM_AUDIENCE = 121; + + // IP address is not valid. + INVALID_IP_ADDRESS = 34; + + // IP format is not valid. + INVALID_IP_FORMAT = 35; + + // Mobile application is not valid. + INVALID_MOBILE_APP = 36; + + // Mobile application category is not valid. + INVALID_MOBILE_APP_CATEGORY = 37; + + // The CriterionId does not exist or is of the incorrect type. + INVALID_CRITERION_ID = 38; + + // The Criterion is not allowed to be targeted. + CANNOT_TARGET_CRITERION = 39; + + // The criterion is not allowed to be targeted as it is deprecated. + CANNOT_TARGET_OBSOLETE_CRITERION = 40; + + // The CriterionId is not valid for the type. + CRITERION_ID_AND_TYPE_MISMATCH = 41; + + // Distance for the radius for the proximity criterion is invalid. + INVALID_PROXIMITY_RADIUS = 42; + + // Units for the distance for the radius for the proximity criterion is + // invalid. + INVALID_PROXIMITY_RADIUS_UNITS = 43; + + // Street address in the address is not valid. + INVALID_STREETADDRESS_LENGTH = 44; + + // City name in the address is not valid. + INVALID_CITYNAME_LENGTH = 45; + + // Region code in the address is not valid. + INVALID_REGIONCODE_LENGTH = 46; + + // Region name in the address is not valid. + INVALID_REGIONNAME_LENGTH = 47; + + // Postal code in the address is not valid. + INVALID_POSTALCODE_LENGTH = 48; + + // Country code in the address is not valid. + INVALID_COUNTRY_CODE = 49; + + // Latitude for the GeoPoint is not valid. + INVALID_LATITUDE = 50; + + // Longitude for the GeoPoint is not valid. + INVALID_LONGITUDE = 51; + + // The Proximity input is not valid. Both address and geoPoint cannot be + // null. + PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL = 52; + + // The Proximity address cannot be geocoded to a valid lat/long. + INVALID_PROXIMITY_ADDRESS = 53; + + // User domain name is not valid. + INVALID_USER_DOMAIN_NAME = 54; + + // Length of serialized criterion parameter exceeded size limit. + CRITERION_PARAMETER_TOO_LONG = 55; + + // Time interval in the AdSchedule overlaps with another AdSchedule. + AD_SCHEDULE_TIME_INTERVALS_OVERLAP = 56; + + // AdSchedule time interval cannot span multiple days. + AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS = 57; + + // AdSchedule time interval specified is invalid, endTime cannot be earlier + // than startTime. + AD_SCHEDULE_INVALID_TIME_INTERVAL = 58; + + // The number of AdSchedule entries in a day exceeds the limit. + AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT = 59; + + // CriteriaId does not match the interval of the AdSchedule specified. + AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS = 60; + + // Cannot set bid modifier for this criterion type. + CANNOT_BID_MODIFY_CRITERION_TYPE = 61; + + // Cannot bid modify criterion, since it is opted out of the campaign. + CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT = 62; + + // Cannot set bid modifier for a negative criterion. + CANNOT_BID_MODIFY_NEGATIVE_CRITERION = 63; + + // Bid Modifier already exists. Use SET operation to update. + BID_MODIFIER_ALREADY_EXISTS = 64; + + // Feed Id is not allowed in these Location Groups. + FEED_ID_NOT_ALLOWED = 65; + + // The account may not use the requested criteria type. For example, some + // accounts are restricted to keywords only. + ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE = 66; + + // The requested criteria type cannot be used with campaign or ad group + // bidding strategy. + CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY = 67; + + // The Criterion is not allowed to be excluded. + CANNOT_EXCLUDE_CRITERION = 68; + + // The criterion is not allowed to be removed. For example, we cannot remove + // any of the device criterion. + CANNOT_REMOVE_CRITERION = 69; + + // Bidding categories do not form a valid path in the Shopping bidding + // category taxonomy. + INVALID_PRODUCT_BIDDING_CATEGORY = 76; + + // ShoppingSetting must be added to the campaign before ProductScope + // criteria can be added. + MISSING_SHOPPING_SETTING = 77; + + // Matching function is invalid. + INVALID_MATCHING_FUNCTION = 78; + + // Filter parameters not allowed for location groups targeting. + LOCATION_FILTER_NOT_ALLOWED = 79; + + // Feed not found, or the feed is not an enabled location feed. + INVALID_FEED_FOR_LOCATION_FILTER = 98; + + // Given location filter parameter is invalid for location groups targeting. + LOCATION_FILTER_INVALID = 80; + + // Cannot set geo target constants and feed item sets at the same time. + CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_FEED_ITEM_SETS = 123; + + // Cannot set both assetset and feed at the same time. + CANNOT_SET_BOTH_ASSET_SET_AND_FEED = 140; + + // Cannot set feed or feed item sets for Customer. + CANNOT_SET_FEED_OR_FEED_ITEM_SETS_FOR_CUSTOMER = 142; + + // Cannot set AssetSet criteria for customer. + CANNOT_SET_ASSET_SET_FIELD_FOR_CUSTOMER = 150; + + // Cannot set geo target constants and asset sets at the same time. + CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_ASSET_SETS = 143; + + // Cannot set asset sets and feed item sets at the same time. + CANNOT_SET_ASSET_SETS_WITH_FEED_ITEM_SETS = 144; + + // The location group asset set id is invalid + INVALID_LOCATION_GROUP_ASSET_SET = 141; + + // The location group radius is in the range but not at the valid increment. + INVALID_LOCATION_GROUP_RADIUS = 124; + + // The location group radius unit is invalid. + INVALID_LOCATION_GROUP_RADIUS_UNIT = 125; + + // Criteria type cannot be associated with a campaign and its ad group(s) + // simultaneously. + CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP = 81; + + // Range represented by hotel length of stay's min nights and max nights + // overlaps with an existing criterion. + HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION = 82; + + // Range represented by hotel advance booking window's min days and max days + // overlaps with an existing criterion. + HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION = 83; + + // The field is not allowed to be set when the negative field is set to + // true, for example, we don't allow bids in negative ad group or campaign + // criteria. + FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING = 84; + + // The combination of operand and operator in webpage condition is invalid. + INVALID_WEBPAGE_CONDITION = 85; + + // The URL of webpage condition is invalid. + INVALID_WEBPAGE_CONDITION_URL = 86; + + // The URL of webpage condition cannot be empty or contain white space. + WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY = 87; + + // The URL of webpage condition contains an unsupported protocol. + WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL = 88; + + // The URL of webpage condition cannot be an IP address. + WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS = 89; + + // The domain of the URL is not consistent with the domain in campaign + // setting. + WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING = 90; + + // The URL of webpage condition cannot be a public suffix itself. + WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX = 91; + + // The URL of webpage condition has an invalid public suffix. + WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX = 92; + + // Value track parameter is not supported in webpage condition URL. + WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED = 93; + + // Only one URL-EQUALS webpage condition is allowed in a webpage + // criterion and it cannot be combined with other conditions. + WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION = 94; + + // A webpage criterion cannot be added to a non-DSA ad group. + WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP = 95; + + // Cannot add positive user list criteria in Smart Display campaigns. + CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS = 99; + + // Cannot add positive placement criterion types in search campaigns. + CANNOT_TARGET_PLACEMENTS_FOR_SEARCH_CAMPAIGNS = 126; + + // Listing scope contains too many dimension types. + LISTING_SCOPE_TOO_MANY_DIMENSION_TYPES = 100; + + // Listing scope has too many IN operators. + LISTING_SCOPE_TOO_MANY_IN_OPERATORS = 101; + + // Listing scope contains IN operator on an unsupported dimension type. + LISTING_SCOPE_IN_OPERATOR_NOT_SUPPORTED = 102; + + // There are dimensions with duplicate dimension type. + DUPLICATE_LISTING_DIMENSION_TYPE = 103; + + // There are dimensions with duplicate dimension value. + DUPLICATE_LISTING_DIMENSION_VALUE = 104; + + // Listing group SUBDIVISION nodes cannot have bids. + CANNOT_SET_BIDS_ON_LISTING_GROUP_SUBDIVISION = 105; + + // Ad group is invalid due to the listing groups it contains. + INVALID_LISTING_GROUP_HIERARCHY = 106; + + // Listing group unit cannot have children. + LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN = 107; + + // Subdivided listing groups must have an "others" case. + LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE = 108; + + // Dimension type of listing group must be the same as that of its siblings. + LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS = 109; + + // Listing group cannot be added to the ad group because it already exists. + LISTING_GROUP_ALREADY_EXISTS = 110; + + // Listing group referenced in the operation was not found in the ad group. + LISTING_GROUP_DOES_NOT_EXIST = 111; + + // Recursive removal failed because listing group subdivision is being + // created or modified in this request. + LISTING_GROUP_CANNOT_BE_REMOVED = 112; + + // Listing group type is not allowed for specified ad group criterion type. + INVALID_LISTING_GROUP_TYPE = 113; + + // Listing group in an ADD operation specifies a non temporary criterion id. + LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID = 114; + + // The combined length of dimension values of the Listing scope criterion + // is too long. + LISTING_SCOPE_TOO_LONG = 115; + + // Listing scope contains too many dimensions. + LISTING_SCOPE_TOO_MANY_DIMENSIONS = 116; + + // The combined length of dimension values of the Listing group criterion is + // too long. + LISTING_GROUP_TOO_LONG = 117; + + // Listing group tree is too deep. + LISTING_GROUP_TREE_TOO_DEEP = 118; + + // Listing dimension is invalid (for example, dimension contains illegal + // value, dimension type is represented with wrong class, etc). Listing + // dimension value can not contain "==" or "&+". + INVALID_LISTING_DIMENSION = 119; + + // Listing dimension type is either invalid for campaigns of this type or + // cannot be used in the current context. BIDDING_CATEGORY_Lx and + // PRODUCT_TYPE_Lx dimensions must be used in ascending order of their + // levels: L1, L2, L3, L4, L5... The levels must be specified sequentially + // and start from L1. Furthermore, an "others" Listing group cannot be + // subdivided with a dimension of the same type but of a higher level + // ("others" BIDDING_CATEGORY_L3 can be subdivided with BRAND but not with + // BIDDING_CATEGORY_L4). + INVALID_LISTING_DIMENSION_TYPE = 120; + + // Customer is not on allowlist for composite audience in display campaigns. + ADVERTISER_NOT_ON_ALLOWLIST_FOR_COMBINED_AUDIENCE_ON_DISPLAY = 127; + + // Cannot target on a removed combined audience. + CANNOT_TARGET_REMOVED_COMBINED_AUDIENCE = 128; + + // Combined audience ID is invalid. + INVALID_COMBINED_AUDIENCE_ID = 129; + + // Can not target removed combined audience. + CANNOT_TARGET_REMOVED_CUSTOM_AUDIENCE = 130; + + // Range represented by hotel check-in date's start date and end date + // overlaps with an existing criterion. + HOTEL_CHECK_IN_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION = 131; + + // Start date is earlier than earliest allowed value of yesterday UTC. + HOTEL_CHECK_IN_DATE_RANGE_START_DATE_TOO_EARLY = 132; + + // End date later is than latest allowed day of 330 days in the future UTC. + HOTEL_CHECK_IN_DATE_RANGE_END_DATE_TOO_LATE = 133; + + // Start date is after end date. + HOTEL_CHECK_IN_DATE_RANGE_REVERSED = 134; + + // Broad match modifier (BMM) keywords can no longer be created. See + // https://ads-developers.googleblog.com/2021/06/broad-match-modifier-upcoming-changes.html. + BROAD_MATCH_MODIFIER_KEYWORD_NOT_ALLOWED = 135; + + // Only one audience is allowed in an asset group. + ONE_AUDIENCE_ALLOWED_PER_ASSET_GROUP = 136; + + // Audience is not supported for the specified campaign type. + AUDIENCE_NOT_ELIGIBLE_FOR_CAMPAIGN_TYPE = 137; + + // Audience is not allowed to attach when use_audience_grouped bit is set to + // false. + AUDIENCE_NOT_ALLOWED_TO_ATTACH_WHEN_AUDIENCE_GROUPED_SET_TO_FALSE = 138; + + // Targeting is not allowed for Customer Match lists as per Customer Match + // policy. See + // https://support.google.com/google-ads/answer/6299717. + CANNOT_TARGET_CUSTOMER_MATCH_USER_LIST = 139; + + // Cannot create a negative keyword list criterion with a shared set that + // does not exist. + NEGATIVE_KEYWORD_SHARED_SET_DOES_NOT_EXIST = 145; + + // Cannot create a negative keyword list with deleted shared set. + CANNOT_ADD_REMOVED_NEGATIVE_KEYWORD_SHARED_SET = 146; + + // Can only have one Negative Keyword List per account. + CANNOT_HAVE_MULTIPLE_NEGATIVE_KEYWORD_LIST_PER_ACCOUNT = 147; + + // Only allowlisted customers can add criteria of this type. + CUSTOMER_CANNOT_ADD_CRITERION_OF_THIS_TYPE = 149; + + // Targeting for Similar audiences is not supported, since this feature has + // been deprecated. See + // https://support.google.com/google-ads/answer/12463119 to learn more. + CANNOT_TARGET_SIMILAR_USER_LIST = 151; + + // Audience segment criteria cannot be added when use_audience_grouped bit + // is set. + CANNOT_ADD_AUDIENCE_SEGMENT_CRITERION_WHEN_AUDIENCE_GROUPED_IS_SET = 152; + + // Only one audience is allowed in an ad group. + ONE_AUDIENCE_ALLOWED_PER_AD_GROUP = 153; + + // Invalid detailed demographics criterion. + INVALID_DETAILED_DEMOGRAPHIC = 154; + + // The brand criteria has a brand input that is not recognized as a + // valid brand. + CANNOT_RECOGNIZE_BRAND = 155; + + // The brand_list.shared_set_id references a shared set that does not + // exist. + BRAND_SHARED_SET_DOES_NOT_EXIST = 156; + + // Cannot create a brand list with deleted shared set. + CANNOT_ADD_REMOVED_BRAND_SHARED_SET = 157; + + // Brand list can only be negatively targeted for the campaign type. + ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE = 158; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/currency_code_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/currency_code_error.proto new file mode 100644 index 000000000..048a60953 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/currency_code_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyCodeErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing currency code errors. + +// Container for enum describing possible currency code errors. +message CurrencyCodeErrorEnum { + // Enum describing possible currency code errors. + enum CurrencyCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The currency code is not supported. + UNSUPPORTED = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/currency_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/currency_error.proto new file mode 100644 index 000000000..d0bfc272f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/currency_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing currency errors. + +// Container for enum describing possible currency errors. +message CurrencyErrorEnum { + // Enum describing possible currency errors. + enum CurrencyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Bid must be a multiple of billable unit. + VALUE_NOT_MULTIPLE_OF_BILLABLE_UNIT = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/custom_audience_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/custom_audience_error.proto new file mode 100644 index 000000000..603853dc5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/custom_audience_error.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing custom audience errors. + +// Container for enum describing possible custom audience errors. +message CustomAudienceErrorEnum { + // Enum describing possible custom audience errors. + enum CustomAudienceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // New name in the custom audience is duplicated ignoring cases. + NAME_ALREADY_USED = 2; + + // Cannot remove a custom audience while it's still being used as targeting. + CANNOT_REMOVE_WHILE_IN_USE = 3; + + // Cannot update or remove a custom audience that is already removed. + RESOURCE_ALREADY_REMOVED = 4; + + // The pair of [type, value] already exists in members. + MEMBER_TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; + + // Member type is invalid. + INVALID_MEMBER_TYPE = 6; + + // Member type does not have associated value. + MEMBER_TYPE_AND_VALUE_DOES_NOT_MATCH = 7; + + // Custom audience contains a member that violates policy. + POLICY_VIOLATION = 8; + + // Change in custom audience type is not allowed. + INVALID_TYPE_CHANGE = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/custom_conversion_goal_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/custom_conversion_goal_error.proto new file mode 100644 index 000000000..652320425 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/custom_conversion_goal_error.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing CustomConversionGoal errors. + +// Container for enum describing possible custom conversion goal errors. +message CustomConversionGoalErrorEnum { + // Enum describing possible custom conversion goal errors. + enum CustomConversionGoalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot find a conversion action with the specified id. + INVALID_CONVERSION_ACTION = 2; + + // The conversion action is not enabled so it cannot be included in a custom + // conversion goal. + CONVERSION_ACTION_NOT_ENABLED = 3; + + // The custom conversion goal cannot be removed because it's linked to a + // campaign. + CANNOT_REMOVE_LINKED_CUSTOM_CONVERSION_GOAL = 4; + + // Custom goal with the same name already exists. + CUSTOM_GOAL_DUPLICATE_NAME = 5; + + // Custom goal with the same conversion action list already exists. + DUPLICATE_CONVERSION_ACTION_LIST = 6; + + // Conversion types that cannot be biddable should not be included in custom + // goal. + NON_BIDDABLE_CONVERSION_ACTION_NOT_ELIGIBLE_FOR_CUSTOM_GOAL = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/custom_interest_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/custom_interest_error.proto new file mode 100644 index 000000000..323df4a39 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/custom_interest_error.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing custom interest errors. + +// Container for enum describing possible custom interest errors. +message CustomInterestErrorEnum { + // Enum describing possible custom interest errors. + enum CustomInterestError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Duplicate custom interest name ignoring case. + NAME_ALREADY_USED = 2; + + // In the remove custom interest member operation, both member ID and + // pair [type, parameter] are not present. + CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE = 3; + + // The pair of [type, parameter] does not exist. + TYPE_AND_PARAMETER_NOT_FOUND = 4; + + // The pair of [type, parameter] already exists. + TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; + + // Unsupported custom interest member type. + INVALID_CUSTOM_INTEREST_MEMBER_TYPE = 6; + + // Cannot remove a custom interest while it's still being targeted. + CANNOT_REMOVE_WHILE_IN_USE = 7; + + // Cannot mutate custom interest type. + CANNOT_CHANGE_TYPE = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customer_client_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customer_client_link_error.proto new file mode 100644 index 000000000..342056f53 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customer_client_link_error.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing CustomerClientLink errors. + +// Container for enum describing possible CustomeClientLink errors. +message CustomerClientLinkErrorEnum { + // Enum describing possible CustomerClientLink errors. + enum CustomerClientLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Trying to manage a client that already in being managed by customer. + CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2; + + // Already managed by some other manager in the hierarchy. + CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3; + + // Attempt to create a cycle in the hierarchy. + CYCLIC_LINK_NOT_ALLOWED = 4; + + // Managed accounts has the maximum number of linked accounts. + CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5; + + // Invitor has the maximum pending invitations. + CLIENT_HAS_TOO_MANY_INVITATIONS = 6; + + // Attempt to change hidden status of a link that is not active. + CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7; + + // Parent manager account has the maximum number of linked accounts. + CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8; + + // Client has too many managers. + CLIENT_HAS_TOO_MANY_MANAGERS = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customer_customizer_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customer_customizer_error.proto new file mode 100644 index 000000000..aa4d264ab --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customer_customizer_error.proto @@ -0,0 +1,40 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing customer customizer errors. + +// Container for enum describing possible customer customizer errors. +message CustomerCustomizerErrorEnum { + // Enum describing possible customer customizer errors. + enum CustomerCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customer_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customer_error.proto new file mode 100644 index 000000000..ea0cdf0fd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customer_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Container for enum describing possible customer errors. +message CustomerErrorEnum { + // Set of errors that are related to requests dealing with Customer. + enum CustomerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer status is not allowed to be changed from DRAFT and CLOSED. + // Currency code and at least one of country code and time zone needs to be + // set when status is changed to ENABLED. + STATUS_CHANGE_DISALLOWED = 2; + + // CustomerService cannot get a customer that has not been fully set up. + ACCOUNT_NOT_SET_UP = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customer_feed_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customer_feed_error.proto new file mode 100644 index 000000000..51f440076 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customer_feed_error.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing customer feed errors. + +// Container for enum describing possible customer feed errors. +message CustomerFeedErrorEnum { + // Enum describing possible customer feed errors. + enum CustomerFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this customer and place holder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 3; + + // The CustomerFeed already exists. Update should be used to modify the + // existing CustomerFeed. + CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4; + + // Cannot update removed customer feed. + CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 6; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; + + // Placeholder not allowed at the account level. + PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customer_lifecycle_goal_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customer_lifecycle_goal_error.proto new file mode 100644 index 000000000..d4ec8bdf2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customer_lifecycle_goal_error.proto @@ -0,0 +1,77 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLifecycleGoalErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing CustomerLifecycleGoal errors. + +// Container for enum describing possible customer lifecycle goal errors. +message CustomerLifecycleGoalErrorEnum { + // Enum describing possible customer lifecycle goal errors. + enum CustomerLifecycleGoalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must + // be set. + CUSTOMER_ACQUISITION_VALUE_MISSING = 2; + + // CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must + // be no less than 0.01. + CUSTOMER_ACQUISITION_INVALID_VALUE = 3; + + // CustomerLifecycleGoal.customer_acquisition_goal_value_settings.high_lifetime_value + // must be no less than 0.01. Also, to set this field, + // CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must + // also be present, and high_lifetime_value must be greater than value. + CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE = 4; + + // CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value + // cannot be cleared. This value would have no effect as long as none of + // your campaigns adopt the customer acquisitiong goal. + CUSTOMER_ACQUISITION_VALUE_CANNOT_BE_CLEARED = 5; + + // CustomerLifecycleGoal.customer_acquisition_goal_value_settings.high_lifetime_value + // cannot be cleared. This value would have no effect as long as none of + // your campaigns adopt the high value optimization of customer acquisitiong + // goal. + CUSTOMER_ACQUISITION_HIGH_LIFETIME_VALUE_CANNOT_BE_CLEARED = 6; + + // Found invalid value in + // CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.existing_user_lists. + // The userlist must be accessible, active and belong to one of the + // following types: CRM_BASED, RULE_BASED, REMARKETING. + INVALID_EXISTING_USER_LIST = 7; + + // Found invalid value in + // CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.high_lifetime_value_user_lists. + // The userlist must be accessible, active and belong to one of the + // following types: CRM_BASED, RULE_BASED, REMARKETING. + INVALID_HIGH_LIFETIME_VALUE_USER_LIST = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customer_manager_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customer_manager_link_error.proto new file mode 100644 index 000000000..d53eb2356 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customer_manager_link_error.proto @@ -0,0 +1,71 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing CustomerManagerLink errors. + +// Container for enum describing possible CustomerManagerLink errors. +message CustomerManagerLinkErrorEnum { + // Enum describing possible CustomerManagerLink errors. + enum CustomerManagerLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No pending invitation. + NO_PENDING_INVITE = 2; + + // Attempt to operate on the same client more than once in the same call. + SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3; + + // Manager account has the maximum number of linked accounts. + MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4; + + // If no active user on account it cannot be unlinked from its manager. + CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5; + + // Account should have at least one active owner on it before being + // unlinked. + CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6; + + // Only account owners may change their permission role. + CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7; + + // When a client's link to its manager is not active, the link role cannot + // be changed. + CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8; + + // Attempt to link a child to a parent that contains or will contain + // duplicate children. + DUPLICATE_CHILD_FOUND = 9; + + // The authorized customer is a test account. It can add no more than the + // allowed number of accounts + TEST_ACCOUNT_LINKS_TOO_MANY_CHILD_ACCOUNTS = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customer_sk_ad_network_conversion_value_schema_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customer_sk_ad_network_conversion_value_schema_error.proto new file mode 100644 index 000000000..8cd380d0f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customer_sk_ad_network_conversion_value_schema_error.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing CustomerSkAdNetworkConversionValueSchema errors. + +// Container for enum describing possible +// CustomerSkAdNetworkConversionValueSchema errors. +message CustomerSkAdNetworkConversionValueSchemaErrorEnum { + // Enum describing possible CustomerSkAdNetworkConversionValueSchema errors. + enum CustomerSkAdNetworkConversionValueSchemaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer link ID provided is invalid. + INVALID_LINK_ID = 2; + + // The app ID provided is invalid. + INVALID_APP_ID = 3; + + // The conversion value schema provided is invalid. + INVALID_SCHEMA = 4; + + // The customer link id provided could not be found. + LINK_CODE_NOT_FOUND = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customer_user_access_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customer_user_access_error.proto new file mode 100644 index 000000000..639fa5106 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customer_user_access_error.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing CustomerUserAccess errors. + +// Container for enum describing possible CustomerUserAccess errors. +message CustomerUserAccessErrorEnum { + // Enum describing possible customer user access errors. + enum CustomerUserAccessError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // There is no user associated with the user id specified. + INVALID_USER_ID = 2; + + // Unable to remove the access between the user and customer. + REMOVAL_DISALLOWED = 3; + + // Unable to add or update the access role as specified. + DISALLOWED_ACCESS_ROLE = 4; + + // The user can't remove itself from an active serving customer if it's the + // last admin user and the customer doesn't have any owner manager + LAST_ADMIN_USER_OF_SERVING_CUSTOMER = 5; + + // Last admin user cannot be removed from a manager. + LAST_ADMIN_USER_OF_MANAGER = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/customizer_attribute_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/customizer_attribute_error.proto new file mode 100644 index 000000000..7a1ed5066 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/customizer_attribute_error.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing customizer attribute errors. + +// Container for enum describing possible customizer attribute errors. +message CustomizerAttributeErrorEnum { + // Enum describing possible customizer attribute errors. + enum CustomizerAttributeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // CustomizerAttribute name matches that of another active + // CustomizerAttribute. + DUPLICATE_CUSTOMIZER_ATTRIBUTE_NAME = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/database_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/database_error.proto new file mode 100644 index 000000000..91a2dfaeb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/database_error.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DatabaseErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing database errors. + +// Container for enum describing possible database errors. +message DatabaseErrorEnum { + // Enum describing possible database errors. + enum DatabaseError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Multiple requests were attempting to modify the same resource at once. + // Retry the request. + CONCURRENT_MODIFICATION = 2; + + // The request conflicted with existing data. This error will usually be + // replaced with a more specific error if the request is retried. + DATA_CONSTRAINT_VIOLATION = 3; + + // The data written is too large. Split the request into smaller + // requests. + REQUEST_TOO_LARGE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/date_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/date_error.proto new file mode 100644 index 000000000..43e0b3b41 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/date_error.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing date errors. + +// Container for enum describing possible date errors. +message DateErrorEnum { + // Enum describing possible date errors. + enum DateError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Given field values do not correspond to a valid date. + INVALID_FIELD_VALUES_IN_DATE = 2; + + // Given field values do not correspond to a valid date time. + INVALID_FIELD_VALUES_IN_DATE_TIME = 3; + + // The string date's format should be yyyy-mm-dd. + INVALID_STRING_DATE = 4; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss. + INVALID_STRING_DATE_TIME_MICROS = 6; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss. + INVALID_STRING_DATE_TIME_SECONDS = 11; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm. + INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET = 12; + + // Date is before allowed minimum. + EARLIER_THAN_MINIMUM_DATE = 7; + + // Date is after allowed maximum. + LATER_THAN_MAXIMUM_DATE = 8; + + // Date range bounds are not in order. + DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9; + + // Both dates in range are null. + DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/date_range_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/date_range_error.proto new file mode 100644 index 000000000..1d5ac0a9a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/date_range_error.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing date range errors. + +// Container for enum describing possible date range errors. +message DateRangeErrorEnum { + // Enum describing possible date range errors. + enum DateRangeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid date. + INVALID_DATE = 2; + + // The start date was after the end date. + START_DATE_AFTER_END_DATE = 3; + + // Cannot set date to past time + CANNOT_SET_DATE_TO_PAST = 4; + + // A date was used that is past the system "last" date. + AFTER_MAXIMUM_ALLOWABLE_DATE = 5; + + // Trying to change start date on a resource that has started. + CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/distinct_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/distinct_error.proto new file mode 100644 index 000000000..4faa575fd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/distinct_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DistinctErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing distinct errors. + +// Container for enum describing possible distinct errors. +message DistinctErrorEnum { + // Enum describing possible distinct errors. + enum DistinctError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Duplicate element. + DUPLICATE_ELEMENT = 2; + + // Duplicate type. + DUPLICATE_TYPE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/enum_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/enum_error.proto new file mode 100644 index 000000000..8f7d1a388 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/enum_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "EnumErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing enum errors. + +// Container for enum describing possible enum errors. +message EnumErrorEnum { + // Enum describing possible enum errors. + enum EnumError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The enum value is not permitted. + ENUM_VALUE_NOT_PERMITTED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/errors.proto b/third_party/googleapis/google/ads/googleads/v16/errors/errors.proto new file mode 100644 index 000000000..50d74615a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/errors.proto @@ -0,0 +1,838 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/common/value.proto"; +import "google/ads/googleads/v16/enums/resource_limit_type.proto"; +import "google/ads/googleads/v16/errors/access_invitation_error.proto"; +import "google/ads/googleads/v16/errors/account_budget_proposal_error.proto"; +import "google/ads/googleads/v16/errors/account_link_error.proto"; +import "google/ads/googleads/v16/errors/ad_customizer_error.proto"; +import "google/ads/googleads/v16/errors/ad_error.proto"; +import "google/ads/googleads/v16/errors/ad_group_ad_error.proto"; +import "google/ads/googleads/v16/errors/ad_group_bid_modifier_error.proto"; +import "google/ads/googleads/v16/errors/ad_group_criterion_customizer_error.proto"; +import "google/ads/googleads/v16/errors/ad_group_criterion_error.proto"; +import "google/ads/googleads/v16/errors/ad_group_customizer_error.proto"; +import "google/ads/googleads/v16/errors/ad_group_error.proto"; +import "google/ads/googleads/v16/errors/ad_group_feed_error.proto"; +import "google/ads/googleads/v16/errors/ad_parameter_error.proto"; +import "google/ads/googleads/v16/errors/ad_sharing_error.proto"; +import "google/ads/googleads/v16/errors/adx_error.proto"; +import "google/ads/googleads/v16/errors/asset_error.proto"; +import "google/ads/googleads/v16/errors/asset_group_asset_error.proto"; +import "google/ads/googleads/v16/errors/asset_group_error.proto"; +import "google/ads/googleads/v16/errors/asset_group_listing_group_filter_error.proto"; +import "google/ads/googleads/v16/errors/asset_group_signal_error.proto"; +import "google/ads/googleads/v16/errors/asset_link_error.proto"; +import "google/ads/googleads/v16/errors/asset_set_asset_error.proto"; +import "google/ads/googleads/v16/errors/asset_set_error.proto"; +import "google/ads/googleads/v16/errors/asset_set_link_error.proto"; +import "google/ads/googleads/v16/errors/audience_error.proto"; +import "google/ads/googleads/v16/errors/audience_insights_error.proto"; +import "google/ads/googleads/v16/errors/authentication_error.proto"; +import "google/ads/googleads/v16/errors/authorization_error.proto"; +import "google/ads/googleads/v16/errors/batch_job_error.proto"; +import "google/ads/googleads/v16/errors/bidding_error.proto"; +import "google/ads/googleads/v16/errors/bidding_strategy_error.proto"; +import "google/ads/googleads/v16/errors/billing_setup_error.proto"; +import "google/ads/googleads/v16/errors/campaign_budget_error.proto"; +import "google/ads/googleads/v16/errors/campaign_conversion_goal_error.proto"; +import "google/ads/googleads/v16/errors/campaign_criterion_error.proto"; +import "google/ads/googleads/v16/errors/campaign_customizer_error.proto"; +import "google/ads/googleads/v16/errors/campaign_draft_error.proto"; +import "google/ads/googleads/v16/errors/campaign_error.proto"; +import "google/ads/googleads/v16/errors/campaign_experiment_error.proto"; +import "google/ads/googleads/v16/errors/campaign_feed_error.proto"; +import "google/ads/googleads/v16/errors/campaign_lifecycle_goal_error.proto"; +import "google/ads/googleads/v16/errors/campaign_shared_set_error.proto"; +import "google/ads/googleads/v16/errors/change_event_error.proto"; +import "google/ads/googleads/v16/errors/change_status_error.proto"; +import "google/ads/googleads/v16/errors/collection_size_error.proto"; +import "google/ads/googleads/v16/errors/context_error.proto"; +import "google/ads/googleads/v16/errors/conversion_action_error.proto"; +import "google/ads/googleads/v16/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v16/errors/conversion_custom_variable_error.proto"; +import "google/ads/googleads/v16/errors/conversion_goal_campaign_config_error.proto"; +import "google/ads/googleads/v16/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v16/errors/conversion_value_rule_error.proto"; +import "google/ads/googleads/v16/errors/conversion_value_rule_set_error.proto"; +import "google/ads/googleads/v16/errors/country_code_error.proto"; +import "google/ads/googleads/v16/errors/criterion_error.proto"; +import "google/ads/googleads/v16/errors/currency_code_error.proto"; +import "google/ads/googleads/v16/errors/currency_error.proto"; +import "google/ads/googleads/v16/errors/custom_audience_error.proto"; +import "google/ads/googleads/v16/errors/custom_conversion_goal_error.proto"; +import "google/ads/googleads/v16/errors/custom_interest_error.proto"; +import "google/ads/googleads/v16/errors/customer_client_link_error.proto"; +import "google/ads/googleads/v16/errors/customer_customizer_error.proto"; +import "google/ads/googleads/v16/errors/customer_error.proto"; +import "google/ads/googleads/v16/errors/customer_feed_error.proto"; +import "google/ads/googleads/v16/errors/customer_lifecycle_goal_error.proto"; +import "google/ads/googleads/v16/errors/customer_manager_link_error.proto"; +import "google/ads/googleads/v16/errors/customer_sk_ad_network_conversion_value_schema_error.proto"; +import "google/ads/googleads/v16/errors/customer_user_access_error.proto"; +import "google/ads/googleads/v16/errors/customizer_attribute_error.proto"; +import "google/ads/googleads/v16/errors/database_error.proto"; +import "google/ads/googleads/v16/errors/date_error.proto"; +import "google/ads/googleads/v16/errors/date_range_error.proto"; +import "google/ads/googleads/v16/errors/distinct_error.proto"; +import "google/ads/googleads/v16/errors/enum_error.proto"; +import "google/ads/googleads/v16/errors/experiment_arm_error.proto"; +import "google/ads/googleads/v16/errors/experiment_error.proto"; +import "google/ads/googleads/v16/errors/extension_feed_item_error.proto"; +import "google/ads/googleads/v16/errors/extension_setting_error.proto"; +import "google/ads/googleads/v16/errors/feed_attribute_reference_error.proto"; +import "google/ads/googleads/v16/errors/feed_error.proto"; +import "google/ads/googleads/v16/errors/feed_item_error.proto"; +import "google/ads/googleads/v16/errors/feed_item_set_error.proto"; +import "google/ads/googleads/v16/errors/feed_item_set_link_error.proto"; +import "google/ads/googleads/v16/errors/feed_item_target_error.proto"; +import "google/ads/googleads/v16/errors/feed_item_validation_error.proto"; +import "google/ads/googleads/v16/errors/feed_mapping_error.proto"; +import "google/ads/googleads/v16/errors/field_error.proto"; +import "google/ads/googleads/v16/errors/field_mask_error.proto"; +import "google/ads/googleads/v16/errors/function_error.proto"; +import "google/ads/googleads/v16/errors/function_parsing_error.proto"; +import "google/ads/googleads/v16/errors/geo_target_constant_suggestion_error.proto"; +import "google/ads/googleads/v16/errors/header_error.proto"; +import "google/ads/googleads/v16/errors/id_error.proto"; +import "google/ads/googleads/v16/errors/identity_verification_error.proto"; +import "google/ads/googleads/v16/errors/image_error.proto"; +import "google/ads/googleads/v16/errors/internal_error.proto"; +import "google/ads/googleads/v16/errors/invoice_error.proto"; +import "google/ads/googleads/v16/errors/keyword_plan_ad_group_error.proto"; +import "google/ads/googleads/v16/errors/keyword_plan_ad_group_keyword_error.proto"; +import "google/ads/googleads/v16/errors/keyword_plan_campaign_error.proto"; +import "google/ads/googleads/v16/errors/keyword_plan_campaign_keyword_error.proto"; +import "google/ads/googleads/v16/errors/keyword_plan_error.proto"; +import "google/ads/googleads/v16/errors/keyword_plan_idea_error.proto"; +import "google/ads/googleads/v16/errors/label_error.proto"; +import "google/ads/googleads/v16/errors/language_code_error.proto"; +import "google/ads/googleads/v16/errors/list_operation_error.proto"; +import "google/ads/googleads/v16/errors/manager_link_error.proto"; +import "google/ads/googleads/v16/errors/media_bundle_error.proto"; +import "google/ads/googleads/v16/errors/media_file_error.proto"; +import "google/ads/googleads/v16/errors/media_upload_error.proto"; +import "google/ads/googleads/v16/errors/merchant_center_error.proto"; +import "google/ads/googleads/v16/errors/multiplier_error.proto"; +import "google/ads/googleads/v16/errors/mutate_error.proto"; +import "google/ads/googleads/v16/errors/new_resource_creation_error.proto"; +import "google/ads/googleads/v16/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v16/errors/not_empty_error.proto"; +import "google/ads/googleads/v16/errors/null_error.proto"; +import "google/ads/googleads/v16/errors/offline_user_data_job_error.proto"; +import "google/ads/googleads/v16/errors/operation_access_denied_error.proto"; +import "google/ads/googleads/v16/errors/operator_error.proto"; +import "google/ads/googleads/v16/errors/partial_failure_error.proto"; +import "google/ads/googleads/v16/errors/payments_account_error.proto"; +import "google/ads/googleads/v16/errors/policy_finding_error.proto"; +import "google/ads/googleads/v16/errors/policy_validation_parameter_error.proto"; +import "google/ads/googleads/v16/errors/policy_violation_error.proto"; +import "google/ads/googleads/v16/errors/product_link_error.proto"; +import "google/ads/googleads/v16/errors/product_link_invitation_error.proto"; +import "google/ads/googleads/v16/errors/query_error.proto"; +import "google/ads/googleads/v16/errors/quota_error.proto"; +import "google/ads/googleads/v16/errors/range_error.proto"; +import "google/ads/googleads/v16/errors/reach_plan_error.proto"; +import "google/ads/googleads/v16/errors/recommendation_error.proto"; +import "google/ads/googleads/v16/errors/recommendation_subscription_error.proto"; +import "google/ads/googleads/v16/errors/region_code_error.proto"; +import "google/ads/googleads/v16/errors/request_error.proto"; +import "google/ads/googleads/v16/errors/resource_access_denied_error.proto"; +import "google/ads/googleads/v16/errors/resource_count_limit_exceeded_error.proto"; +import "google/ads/googleads/v16/errors/search_term_insight_error.proto"; +import "google/ads/googleads/v16/errors/setting_error.proto"; +import "google/ads/googleads/v16/errors/shared_criterion_error.proto"; +import "google/ads/googleads/v16/errors/shared_set_error.proto"; +import "google/ads/googleads/v16/errors/size_limit_error.proto"; +import "google/ads/googleads/v16/errors/smart_campaign_error.proto"; +import "google/ads/googleads/v16/errors/string_format_error.proto"; +import "google/ads/googleads/v16/errors/string_length_error.proto"; +import "google/ads/googleads/v16/errors/third_party_app_analytics_link_error.proto"; +import "google/ads/googleads/v16/errors/time_zone_error.proto"; +import "google/ads/googleads/v16/errors/url_field_error.proto"; +import "google/ads/googleads/v16/errors/user_data_error.proto"; +import "google/ads/googleads/v16/errors/user_list_error.proto"; +import "google/ads/googleads/v16/errors/youtube_video_registration_error.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ErrorsProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing the common error protos + +// Describes how a GoogleAds API call failed. It's returned inside +// google.rpc.Status.details when a call fails. +message GoogleAdsFailure { + // The list of errors that occurred. + repeated GoogleAdsError errors = 1; + + // The unique ID of the request that is used for debugging purposes. + string request_id = 2; +} + +// GoogleAds-specific error. +message GoogleAdsError { + // An enum value that indicates which error occurred. + ErrorCode error_code = 1; + + // A human-readable description of the error. + string message = 2; + + // The value that triggered the error. + google.ads.googleads.v16.common.Value trigger = 3; + + // Describes the part of the request proto that caused the error. + ErrorLocation location = 4; + + // Additional error details, which are returned by certain error codes. Most + // error codes do not include details. + ErrorDetails details = 5; +} + +// The error reason represented by type and enum. +message ErrorCode { + // The list of error enums + oneof error_code { + // An error caused by the request + RequestErrorEnum.RequestError request_error = 1; + + // An error with a Bidding Strategy mutate. + BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2; + + // An error with a URL field mutate. + UrlFieldErrorEnum.UrlFieldError url_field_error = 3; + + // An error with a list operation. + ListOperationErrorEnum.ListOperationError list_operation_error = 4; + + // An error with an AWQL query + QueryErrorEnum.QueryError query_error = 5; + + // An error with a mutate + MutateErrorEnum.MutateError mutate_error = 7; + + // An error with a field mask + FieldMaskErrorEnum.FieldMaskError field_mask_error = 8; + + // An error encountered when trying to authorize a user. + AuthorizationErrorEnum.AuthorizationError authorization_error = 9; + + // An unexpected server-side error. + InternalErrorEnum.InternalError internal_error = 10; + + // An error with the amount of quota remaining. + QuotaErrorEnum.QuotaError quota_error = 11; + + // An error with an Ad Group Ad mutate. + AdErrorEnum.AdError ad_error = 12; + + // An error with an Ad Group mutate. + AdGroupErrorEnum.AdGroupError ad_group_error = 13; + + // An error with a Campaign Budget mutate. + CampaignBudgetErrorEnum.CampaignBudgetError campaign_budget_error = 14; + + // An error with a Campaign mutate. + CampaignErrorEnum.CampaignError campaign_error = 15; + + // Indicates failure to properly authenticate user. + AuthenticationErrorEnum.AuthenticationError authentication_error = 17; + + // The reasons for the ad group criterion customizer error. + AdGroupCriterionCustomizerErrorEnum.AdGroupCriterionCustomizerError + ad_group_criterion_customizer_error = 161; + + // Indicates failure to properly authenticate user. + AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error = + 18; + + // The reasons for the ad group customizer error. + AdGroupCustomizerErrorEnum.AdGroupCustomizerError + ad_group_customizer_error = 159; + + // The reasons for the ad customizer error + AdCustomizerErrorEnum.AdCustomizerError ad_customizer_error = 19; + + // The reasons for the ad group ad error + AdGroupAdErrorEnum.AdGroupAdError ad_group_ad_error = 21; + + // The reasons for the ad sharing error + AdSharingErrorEnum.AdSharingError ad_sharing_error = 24; + + // The reasons for the adx error + AdxErrorEnum.AdxError adx_error = 25; + + // The reasons for the asset error + AssetErrorEnum.AssetError asset_error = 107; + + // The reasons for the asset group asset error + AssetGroupAssetErrorEnum.AssetGroupAssetError asset_group_asset_error = 149; + + // The reasons for the asset group listing group filter error + AssetGroupListingGroupFilterErrorEnum.AssetGroupListingGroupFilterError + asset_group_listing_group_filter_error = 155; + + // The reasons for the asset group error + AssetGroupErrorEnum.AssetGroupError asset_group_error = 148; + + // The reasons for the asset set asset error + AssetSetAssetErrorEnum.AssetSetAssetError asset_set_asset_error = 153; + + // The reasons for the asset set link error + AssetSetLinkErrorEnum.AssetSetLinkError asset_set_link_error = 154; + + // The reasons for the asset set error + AssetSetErrorEnum.AssetSetError asset_set_error = 152; + + // The reasons for the bidding errors + BiddingErrorEnum.BiddingError bidding_error = 26; + + // The reasons for the campaign criterion error + CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error = + 29; + + // The reasons for the campaign conversion goal error + CampaignConversionGoalErrorEnum.CampaignConversionGoalError + campaign_conversion_goal_error = 166; + + // The reasons for the campaign customizer error. + CampaignCustomizerErrorEnum.CampaignCustomizerError + campaign_customizer_error = 160; + + // The reasons for the collection size error + CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31; + + // The reasons for the conversion goal campaign config error + ConversionGoalCampaignConfigErrorEnum.ConversionGoalCampaignConfigError + conversion_goal_campaign_config_error = 165; + + // The reasons for the country code error + CountryCodeErrorEnum.CountryCodeError country_code_error = 109; + + // The reasons for the criterion error + CriterionErrorEnum.CriterionError criterion_error = 32; + + // The reasons for the custom conversion goal error + CustomConversionGoalErrorEnum.CustomConversionGoalError + custom_conversion_goal_error = 150; + + // The reasons for the customer customizer error. + CustomerCustomizerErrorEnum.CustomerCustomizerError + customer_customizer_error = 158; + + // The reasons for the customer error + CustomerErrorEnum.CustomerError customer_error = 90; + + // The reasons for the customizer attribute error. + CustomizerAttributeErrorEnum.CustomizerAttributeError + customizer_attribute_error = 151; + + // The reasons for the date error + DateErrorEnum.DateError date_error = 33; + + // The reasons for the date range error + DateRangeErrorEnum.DateRangeError date_range_error = 34; + + // The reasons for the distinct error + DistinctErrorEnum.DistinctError distinct_error = 35; + + // The reasons for the feed attribute reference error + FeedAttributeReferenceErrorEnum.FeedAttributeReferenceError + feed_attribute_reference_error = 36; + + // The reasons for the function error + FunctionErrorEnum.FunctionError function_error = 37; + + // The reasons for the function parsing error + FunctionParsingErrorEnum.FunctionParsingError function_parsing_error = 38; + + // The reasons for the id error + IdErrorEnum.IdError id_error = 39; + + // The reasons for the image error + ImageErrorEnum.ImageError image_error = 40; + + // The reasons for the language code error + LanguageCodeErrorEnum.LanguageCodeError language_code_error = 110; + + // The reasons for the media bundle error + MediaBundleErrorEnum.MediaBundleError media_bundle_error = 42; + + // The reasons for media uploading errors. + MediaUploadErrorEnum.MediaUploadError media_upload_error = 116; + + // The reasons for the media file error + MediaFileErrorEnum.MediaFileError media_file_error = 86; + + // Container for enum describing possible merchant center errors. + MerchantCenterErrorEnum.MerchantCenterError merchant_center_error = 162; + + // The reasons for the multiplier error + MultiplierErrorEnum.MultiplierError multiplier_error = 44; + + // The reasons for the new resource creation error + NewResourceCreationErrorEnum.NewResourceCreationError + new_resource_creation_error = 45; + + // The reasons for the not empty error + NotEmptyErrorEnum.NotEmptyError not_empty_error = 46; + + // The reasons for the null error + NullErrorEnum.NullError null_error = 47; + + // The reasons for the operator error + OperatorErrorEnum.OperatorError operator_error = 48; + + // The reasons for the range error + RangeErrorEnum.RangeError range_error = 49; + + // The reasons for error in applying a recommendation + RecommendationErrorEnum.RecommendationError recommendation_error = 58; + + // The reasons for the recommendation subscription error. + RecommendationSubscriptionErrorEnum.RecommendationSubscriptionError + recommendation_subscription_error = 180; + + // The reasons for the region code error + RegionCodeErrorEnum.RegionCodeError region_code_error = 51; + + // The reasons for the setting error + SettingErrorEnum.SettingError setting_error = 52; + + // The reasons for the string format error + StringFormatErrorEnum.StringFormatError string_format_error = 53; + + // The reasons for the string length error + StringLengthErrorEnum.StringLengthError string_length_error = 54; + + // The reasons for the operation access denied error + OperationAccessDeniedErrorEnum.OperationAccessDeniedError + operation_access_denied_error = 55; + + // The reasons for the resource access denied error + ResourceAccessDeniedErrorEnum.ResourceAccessDeniedError + resource_access_denied_error = 56; + + // The reasons for the resource count limit exceeded error + ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededError + resource_count_limit_exceeded_error = 57; + + // The reasons for YouTube video registration errors. + YoutubeVideoRegistrationErrorEnum.YoutubeVideoRegistrationError + youtube_video_registration_error = 117; + + // The reasons for the ad group bid modifier error + AdGroupBidModifierErrorEnum.AdGroupBidModifierError + ad_group_bid_modifier_error = 59; + + // The reasons for the context error + ContextErrorEnum.ContextError context_error = 60; + + // The reasons for the field error + FieldErrorEnum.FieldError field_error = 61; + + // The reasons for the shared set error + SharedSetErrorEnum.SharedSetError shared_set_error = 62; + + // The reasons for the shared criterion error + SharedCriterionErrorEnum.SharedCriterionError shared_criterion_error = 63; + + // The reasons for the campaign shared set error + CampaignSharedSetErrorEnum.CampaignSharedSetError + campaign_shared_set_error = 64; + + // The reasons for the conversion action error + ConversionActionErrorEnum.ConversionActionError conversion_action_error = + 65; + + // The reasons for the conversion adjustment upload error + ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadError + conversion_adjustment_upload_error = 115; + + // The reasons for the conversion custom variable error + ConversionCustomVariableErrorEnum.ConversionCustomVariableError + conversion_custom_variable_error = 143; + + // The reasons for the conversion upload error + ConversionUploadErrorEnum.ConversionUploadError conversion_upload_error = + 111; + + // The reasons for the conversion value rule error + ConversionValueRuleErrorEnum.ConversionValueRuleError + conversion_value_rule_error = 145; + + // The reasons for the conversion value rule set error + ConversionValueRuleSetErrorEnum.ConversionValueRuleSetError + conversion_value_rule_set_error = 146; + + // The reasons for the header error. + HeaderErrorEnum.HeaderError header_error = 66; + + // The reasons for the database error. + DatabaseErrorEnum.DatabaseError database_error = 67; + + // The reasons for the policy finding error. + PolicyFindingErrorEnum.PolicyFindingError policy_finding_error = 68; + + // The reason for enum error. + EnumErrorEnum.EnumError enum_error = 70; + + // The reason for keyword plan error. + KeywordPlanErrorEnum.KeywordPlanError keyword_plan_error = 71; + + // The reason for keyword plan campaign error. + KeywordPlanCampaignErrorEnum.KeywordPlanCampaignError + keyword_plan_campaign_error = 72; + + // The reason for keyword plan campaign keyword error. + KeywordPlanCampaignKeywordErrorEnum.KeywordPlanCampaignKeywordError + keyword_plan_campaign_keyword_error = 132; + + // The reason for keyword plan ad group error. + KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError + keyword_plan_ad_group_error = 74; + + // The reason for keyword plan ad group keyword error. + KeywordPlanAdGroupKeywordErrorEnum.KeywordPlanAdGroupKeywordError + keyword_plan_ad_group_keyword_error = 133; + + // The reason for keyword idea error. + KeywordPlanIdeaErrorEnum.KeywordPlanIdeaError keyword_plan_idea_error = 76; + + // The reasons for account budget proposal errors. + AccountBudgetProposalErrorEnum.AccountBudgetProposalError + account_budget_proposal_error = 77; + + // The reasons for the user list error + UserListErrorEnum.UserListError user_list_error = 78; + + // The reasons for the change event error + ChangeEventErrorEnum.ChangeEventError change_event_error = 136; + + // The reasons for the change status error + ChangeStatusErrorEnum.ChangeStatusError change_status_error = 79; + + // The reasons for the feed error + FeedErrorEnum.FeedError feed_error = 80; + + // The reasons for the geo target constant suggestion error. + GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionError + geo_target_constant_suggestion_error = 81; + + // The reasons for the campaign draft error + CampaignDraftErrorEnum.CampaignDraftError campaign_draft_error = 82; + + // The reasons for the feed item error + FeedItemErrorEnum.FeedItemError feed_item_error = 83; + + // The reason for the label error. + LabelErrorEnum.LabelError label_error = 84; + + // The reasons for the billing setup error + BillingSetupErrorEnum.BillingSetupError billing_setup_error = 87; + + // The reasons for the customer client link error + CustomerClientLinkErrorEnum.CustomerClientLinkError + customer_client_link_error = 88; + + // The reasons for the customer manager link error + CustomerManagerLinkErrorEnum.CustomerManagerLinkError + customer_manager_link_error = 91; + + // The reasons for the feed mapping error + FeedMappingErrorEnum.FeedMappingError feed_mapping_error = 92; + + // The reasons for the customer feed error + CustomerFeedErrorEnum.CustomerFeedError customer_feed_error = 93; + + // The reasons for the ad group feed error + AdGroupFeedErrorEnum.AdGroupFeedError ad_group_feed_error = 94; + + // The reasons for the campaign feed error + CampaignFeedErrorEnum.CampaignFeedError campaign_feed_error = 96; + + // The reasons for the custom interest error + CustomInterestErrorEnum.CustomInterestError custom_interest_error = 97; + + // The reasons for the campaign experiment error + CampaignExperimentErrorEnum.CampaignExperimentError + campaign_experiment_error = 98; + + // The reasons for the extension feed item error + ExtensionFeedItemErrorEnum.ExtensionFeedItemError + extension_feed_item_error = 100; + + // The reasons for the ad parameter error + AdParameterErrorEnum.AdParameterError ad_parameter_error = 101; + + // The reasons for the feed item validation error + FeedItemValidationErrorEnum.FeedItemValidationError + feed_item_validation_error = 102; + + // The reasons for the extension setting error + ExtensionSettingErrorEnum.ExtensionSettingError extension_setting_error = + 103; + + // The reasons for the feed item set error + FeedItemSetErrorEnum.FeedItemSetError feed_item_set_error = 140; + + // The reasons for the feed item set link error + FeedItemSetLinkErrorEnum.FeedItemSetLinkError feed_item_set_link_error = + 141; + + // The reasons for the feed item target error + FeedItemTargetErrorEnum.FeedItemTargetError feed_item_target_error = 104; + + // The reasons for the policy violation error + PolicyViolationErrorEnum.PolicyViolationError policy_violation_error = 105; + + // The reasons for the mutate job error + PartialFailureErrorEnum.PartialFailureError partial_failure_error = 112; + + // The reasons for the policy validation parameter error + PolicyValidationParameterErrorEnum.PolicyValidationParameterError + policy_validation_parameter_error = 114; + + // The reasons for the size limit error + SizeLimitErrorEnum.SizeLimitError size_limit_error = 118; + + // The reasons for the offline user data job error. + OfflineUserDataJobErrorEnum.OfflineUserDataJobError + offline_user_data_job_error = 119; + + // The reasons for the not allowlisted error + NotAllowlistedErrorEnum.NotAllowlistedError not_allowlisted_error = 137; + + // The reasons for the manager link error + ManagerLinkErrorEnum.ManagerLinkError manager_link_error = 121; + + // The reasons for the currency code error + CurrencyCodeErrorEnum.CurrencyCodeError currency_code_error = 122; + + // The reasons for the experiment error + ExperimentErrorEnum.ExperimentError experiment_error = 123; + + // The reasons for the access invitation error + AccessInvitationErrorEnum.AccessInvitationError access_invitation_error = + 124; + + // The reasons for the reach plan error + ReachPlanErrorEnum.ReachPlanError reach_plan_error = 125; + + // The reasons for the invoice error + InvoiceErrorEnum.InvoiceError invoice_error = 126; + + // The reasons for errors in payments accounts service + PaymentsAccountErrorEnum.PaymentsAccountError payments_account_error = 127; + + // The reasons for the time zone error + TimeZoneErrorEnum.TimeZoneError time_zone_error = 128; + + // The reasons for the asset link error + AssetLinkErrorEnum.AssetLinkError asset_link_error = 129; + + // The reasons for the user data error. + UserDataErrorEnum.UserDataError user_data_error = 130; + + // The reasons for the batch job error + BatchJobErrorEnum.BatchJobError batch_job_error = 131; + + // The reasons for the account link status change error + AccountLinkErrorEnum.AccountLinkError account_link_error = 134; + + // The reasons for the third party app analytics link mutate error + ThirdPartyAppAnalyticsLinkErrorEnum.ThirdPartyAppAnalyticsLinkError + third_party_app_analytics_link_error = 135; + + // The reasons for the customer user access mutate error + CustomerUserAccessErrorEnum.CustomerUserAccessError + customer_user_access_error = 138; + + // The reasons for the custom audience error + CustomAudienceErrorEnum.CustomAudienceError custom_audience_error = 139; + + // The reasons for the audience error + AudienceErrorEnum.AudienceError audience_error = 164; + + // The reasons for the Search term insight error + SearchTermInsightErrorEnum.SearchTermInsightError + search_term_insight_error = 174; + + // The reasons for the Smart campaign error + SmartCampaignErrorEnum.SmartCampaignError smart_campaign_error = 147; + + // The reasons for the experiment arm error + ExperimentArmErrorEnum.ExperimentArmError experiment_arm_error = 156; + + // The reasons for the Audience Insights error + AudienceInsightsErrorEnum.AudienceInsightsError audience_insights_error = + 167; + + // The reasons for the product link error + ProductLinkErrorEnum.ProductLinkError product_link_error = 169; + + // The reasons for the customer SK Ad network conversion value schema error + CustomerSkAdNetworkConversionValueSchemaErrorEnum + .CustomerSkAdNetworkConversionValueSchemaError + customer_sk_ad_network_conversion_value_schema_error = 170; + + // The reasons for the currency errors. + CurrencyErrorEnum.CurrencyError currency_error = 171; + + // The reasons for the asset group hint error + AssetGroupSignalErrorEnum.AssetGroupSignalError asset_group_signal_error = + 176; + + // The reasons for the product link invitation error + ProductLinkInvitationErrorEnum.ProductLinkInvitationError + product_link_invitation_error = 177; + + // The reasons for the customer lifecycle goal error + CustomerLifecycleGoalErrorEnum.CustomerLifecycleGoalError + customer_lifecycle_goal_error = 178; + + // The reasons for the campaign lifecycle goal error + CampaignLifecycleGoalErrorEnum.CampaignLifecycleGoalError + campaign_lifecycle_goal_error = 179; + + // The reasons for an identity verification error. + IdentityVerificationErrorEnum.IdentityVerificationError + identity_verification_error = 181; + } +} + +// Describes the part of the request proto that caused the error. +message ErrorLocation { + // A part of a field path. + message FieldPathElement { + // The name of a field or a oneof + string field_name = 1; + + // If field_name is a repeated field, this is the element that failed + optional int32 index = 3; + } + + // A field path that indicates which field was invalid in the request. + repeated FieldPathElement field_path_elements = 2; +} + +// Additional error details. +message ErrorDetails { + // The error code that should have been returned, but wasn't. This is used + // when the error code is not published in the client specified version. + string unpublished_error_code = 1; + + // Describes an ad policy violation. + PolicyViolationDetails policy_violation_details = 2; + + // Describes policy violation findings. + PolicyFindingDetails policy_finding_details = 3; + + // Details on the quota error, including the scope (account or developer), the + // rate bucket name and the retry delay. + QuotaErrorDetails quota_error_details = 4; + + // Details for a resource count limit exceeded error. + ResourceCountDetails resource_count_details = 5; +} + +// Error returned as part of a mutate response. +// This error indicates single policy violation by some text +// in one of the fields. +message PolicyViolationDetails { + // Human readable description of policy violation. + string external_policy_description = 2; + + // Unique identifier for this violation. + // If policy is exemptible, this key may be used to request exemption. + google.ads.googleads.v16.common.PolicyViolationKey key = 4; + + // Human readable name of the policy. + string external_policy_name = 5; + + // Whether user can file an exemption request for this violation. + bool is_exemptible = 6; +} + +// Error returned as part of a mutate response. +// This error indicates one or more policy findings in the fields of a +// resource. +message PolicyFindingDetails { + // The list of policy topics for the resource. Contains the PROHIBITED or + // FULLY_LIMITED policy topic entries that prevented the resource from being + // saved (among any other entries the resource may also have). + repeated google.ads.googleads.v16.common.PolicyTopicEntry + policy_topic_entries = 1; +} + +// Additional quota error details when there is QuotaError. +message QuotaErrorDetails { + // Enum of possible scopes that quota buckets belong to. + enum QuotaRateScope { + // Unspecified enum + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per customer account quota + ACCOUNT = 2; + + // Per project or DevToken quota + DEVELOPER = 3; + } + + // The rate scope of the quota limit. + QuotaRateScope rate_scope = 1; + + // The high level description of the quota bucket. + // Examples are "Get requests for standard access" or "Requests per account". + string rate_name = 2; + + // Backoff period that customers should wait before sending next request. + google.protobuf.Duration retry_delay = 3; +} + +// Error details returned when an resource count limit was exceeded. +message ResourceCountDetails { + // The ID of the resource whose limit was exceeded. + // External customer ID if the limit is for a customer. + string enclosing_id = 1; + + // The name of the resource (Customer, Campaign etc.) whose limit was + // exceeded. + string enclosing_resource = 5; + + // The limit which was exceeded. + int32 limit = 2; + + // The resource limit type which was exceeded. + google.ads.googleads.v16.enums.ResourceLimitTypeEnum.ResourceLimitType + limit_type = 3; + + // The count of existing entities. + int32 existing_count = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/experiment_arm_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/experiment_arm_error.proto new file mode 100644 index 000000000..fb87f2c96 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/experiment_arm_error.proto @@ -0,0 +1,84 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing experiment arm errors. + +// Container for enum describing possible experiment arm error. +message ExperimentArmErrorEnum { + // Enum describing possible experiment arm errors. + enum ExperimentArmError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Number of experiment arms is above limit. + EXPERIMENT_ARM_COUNT_LIMIT_EXCEEDED = 2; + + // Cannot add campaign with invalid status to the experiment arm. + INVALID_CAMPAIGN_STATUS = 3; + + // Cannot add duplicate experiment arm name in one experiment. + DUPLICATE_EXPERIMENT_ARM_NAME = 4; + + // Cannot set campaigns of treatment experiment arm. + CANNOT_SET_TREATMENT_ARM_CAMPAIGN = 5; + + // Cannot edit campaign ids in trial arms in non SETUP experiment. + CANNOT_MODIFY_CAMPAIGN_IDS = 6; + + // Cannot modify the campaigns in the control arm + // if there is not a suffix set in the trial. + CANNOT_MODIFY_CAMPAIGN_WITHOUT_SUFFIX_SET = 7; + + // Traffic split related settings (like traffic share bounds) can't be + // modified after the trial has started. + CANNOT_MUTATE_TRAFFIC_SPLIT_AFTER_START = 8; + + // Cannot use shared budget on experiment's control campaign. + CANNOT_ADD_CAMPAIGN_WITH_SHARED_BUDGET = 9; + + // Cannot use custom budget on experiment's control campaigns. + CANNOT_ADD_CAMPAIGN_WITH_CUSTOM_BUDGET = 10; + + // Cannot have enable_dynamic_assets turned on in experiment's campaigns. + CANNOT_ADD_CAMPAIGNS_WITH_DYNAMIC_ASSETS_ENABLED = 11; + + // Cannot use campaign's advertising channel sub type in experiment. + UNSUPPORTED_CAMPAIGN_ADVERTISING_CHANNEL_SUB_TYPE = 12; + + // Experiment date range must be within base campaign's date range. + CANNOT_ADD_BASE_CAMPAIGN_WITH_DATE_RANGE = 13; + + // Bidding strategy is not supported in experiments. + BIDDING_STRATEGY_NOT_SUPPORTED_IN_EXPERIMENTS = 14; + + // Traffic split is not supported for some channel types. + TRAFFIC_SPLIT_NOT_SUPPORTED_FOR_CHANNEL_TYPE = 15; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/experiment_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/experiment_error.proto new file mode 100644 index 000000000..8157088ae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/experiment_error.proto @@ -0,0 +1,133 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing experiment errors. + +// Container for enum describing possible experiment error. +message ExperimentErrorEnum { + // Enum describing possible experiment errors. + enum ExperimentError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The start date of an experiment cannot be set in the past. + // Use a start date in the future. + CANNOT_SET_START_DATE_IN_PAST = 2; + + // The end date of an experiment is before its start date. + // Use an end date after the start date. + END_DATE_BEFORE_START_DATE = 3; + + // The start date of an experiment is too far in the future. + // Use a start date no more than 1 year in the future. + START_DATE_TOO_FAR_IN_FUTURE = 4; + + // The experiment has the same name as an existing active experiment. + DUPLICATE_EXPERIMENT_NAME = 5; + + // Experiments can only be modified when they are ENABLED. + CANNOT_MODIFY_REMOVED_EXPERIMENT = 6; + + // The start date of an experiment cannot be modified if the existing start + // date has already passed. + START_DATE_ALREADY_PASSED = 7; + + // The end date of an experiment cannot be set in the past. + CANNOT_SET_END_DATE_IN_PAST = 8; + + // The status of an experiment cannot be set to REMOVED. + CANNOT_SET_STATUS_TO_REMOVED = 9; + + // The end date of an expired experiment cannot be modified. + CANNOT_MODIFY_PAST_END_DATE = 10; + + // The status is invalid. + INVALID_STATUS = 11; + + // Experiment arm contains campaigns with invalid advertising channel type. + INVALID_CAMPAIGN_CHANNEL_TYPE = 12; + + // A pair of trials share members and have overlapping date ranges. + OVERLAPPING_MEMBERS_AND_DATE_RANGE = 13; + + // Experiment arm contains invalid traffic split. + INVALID_TRIAL_ARM_TRAFFIC_SPLIT = 14; + + // Experiment contains trial arms with overlapping traffic split. + TRAFFIC_SPLIT_OVERLAPPING = 15; + + // The total traffic split of trial arms is not equal to 100. + SUM_TRIAL_ARM_TRAFFIC_UNEQUALS_TO_TRIAL_TRAFFIC_SPLIT_DENOMINATOR = 16; + + // Traffic split related settings (like traffic share bounds) can't be + // modified after the experiment has started. + CANNOT_MODIFY_TRAFFIC_SPLIT_AFTER_START = 17; + + // The experiment could not be found. + EXPERIMENT_NOT_FOUND = 18; + + // Experiment has not begun. + EXPERIMENT_NOT_YET_STARTED = 19; + + // The experiment cannot have more than one control arm. + CANNOT_HAVE_MULTIPLE_CONTROL_ARMS = 20; + + // The experiment doesn't set in-design campaigns. + IN_DESIGN_CAMPAIGNS_NOT_SET = 21; + + // Clients must use the graduate action to graduate experiments and cannot + // set the status to GRADUATED directly. + CANNOT_SET_STATUS_TO_GRADUATED = 22; + + // Cannot use shared budget on base campaign when scheduling an experiment. + CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_SHARED_BUDGET = 23; + + // Cannot use custom budget on base campaign when scheduling an experiment. + CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_CUSTOM_BUDGET = 24; + + // Invalid status transition. + STATUS_TRANSITION_INVALID = 25; + + // The experiment campaign name conflicts with a pre-existing campaign. + DUPLICATE_EXPERIMENT_CAMPAIGN_NAME = 26; + + // Cannot remove in creation experiments. + CANNOT_REMOVE_IN_CREATION_EXPERIMENT = 27; + + // Cannot add campaign with deprecated ad types. Deprecated ad types: + // ENHANCED_DISPLAY, GALLERY, GMAIL, KEYWORDLESS, TEXT. + CANNOT_ADD_CAMPAIGN_WITH_DEPRECATED_AD_TYPES = 28; + + // Sync can only be enabled for supported experiment types. Supported + // experiment types: SEARCH_CUSTOM, DISPLAY_CUSTOM, + // DISPLAY_AUTOMATED_BIDDING_STRATEGY, SEARCH_AUTOMATED_BIDDING_STRATEGY. + CANNOT_ENABLE_SYNC_FOR_UNSUPPORTED_EXPERIMENT_TYPE = 29; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/extension_feed_item_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/extension_feed_item_error.proto new file mode 100644 index 000000000..abf55b19f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/extension_feed_item_error.proto @@ -0,0 +1,191 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing extension feed item errors. + +// Container for enum describing possible extension feed item error. +message ExtensionFeedItemErrorEnum { + // Enum describing possible extension feed item errors. + enum ExtensionFeedItemError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Value is not within the accepted range. + VALUE_OUT_OF_RANGE = 2; + + // Url list is too long. + URL_LIST_TOO_LONG = 3; + + // Cannot have a geo targeting restriction without having geo targeting. + CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING = 4; + + // Cannot simultaneously set sitelink field with final urls. + CANNOT_SET_WITH_FINAL_URLS = 5; + + // Must set field with final urls. + CANNOT_SET_WITHOUT_FINAL_URLS = 6; + + // Phone number for a call extension is invalid. + INVALID_PHONE_NUMBER = 7; + + // Phone number for a call extension is not supported for the given country + // code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 8; + + // A carrier specific number in short format is not allowed for call + // extensions. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 9; + + // Premium rate numbers are not allowed for call extensions. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 10; + + // Phone number type for a call extension is not allowed. + // For example, personal number is not allowed for a call extension in + // most regions. + DISALLOWED_NUMBER_TYPE = 11; + + // Phone number for a call extension does not meet domestic format + // requirements. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 12; + + // Vanity phone numbers (for example, those including letters) are not + // allowed for call extensions. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 13; + + // Call conversion action provided for a call extension is invalid. + INVALID_CALL_CONVERSION_ACTION = 14; + + // For a call extension, the customer is not on the allow-list for call + // tracking. + CUSTOMER_NOT_ON_ALLOWLIST_FOR_CALLTRACKING = 47; + + // Call tracking is not supported for the given country for a call + // extension. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 16; + + // Customer hasn't consented for call recording, which is required for + // creating/updating call feed items. See + // https://support.google.com/google-ads/answer/7412639. + CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 17; + + // App id provided for an app extension is invalid. + INVALID_APP_ID = 18; + + // Quotation marks present in the review text for a review extension. + QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 19; + + // Hyphen character present in the review text for a review extension. + HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 20; + + // A denylisted review source name or url was provided for a review + // extension. + REVIEW_EXTENSION_SOURCE_INELIGIBLE = 21; + + // Review source name should not be found in the review text. + SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 22; + + // Inconsistent currency codes. + INCONSISTENT_CURRENCY_CODES = 23; + + // Price extension cannot have duplicated headers. + PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 24; + + // Price item cannot have duplicated header and description. + PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 25; + + // Price extension has too few items. + PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 26; + + // Price extension has too many items. + PRICE_EXTENSION_HAS_TOO_MANY_ITEMS = 27; + + // The input value is not currently supported. + UNSUPPORTED_VALUE = 28; + + // The input value is not currently supported in the selected language of an + // extension. + UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE = 29; + + // Unknown or unsupported device preference. + INVALID_DEVICE_PREFERENCE = 30; + + // Invalid feed item schedule end time (for example, endHour = 24 and + // endMinute != 0). + INVALID_SCHEDULE_END = 31; + + // Date time zone does not match the account's time zone. + DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 32; + + // Invalid structured snippet header. + INVALID_SNIPPETS_HEADER = 33; + + // Cannot operate on removed feed item. + CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 34; + + // Phone number not supported when call tracking enabled for country. + PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 35; + + // Cannot set call_conversion_action while call_conversion_tracking_enabled + // is set to true. + CONFLICTING_CALL_CONVERSION_SETTINGS = 36; + + // The type of the input extension feed item doesn't match the existing + // extension feed item. + EXTENSION_TYPE_MISMATCH = 37; + + // The oneof field extension for example, subtype of extension feed item is + // required. + EXTENSION_SUBTYPE_REQUIRED = 38; + + // The referenced feed item is not mapped to a supported extension type. + EXTENSION_TYPE_UNSUPPORTED = 39; + + // Cannot operate on a Feed with more than one active FeedMapping. + CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS = 40; + + // Cannot operate on a Feed that has key attributes. + CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES = 41; + + // Input price is not in a valid format. + INVALID_PRICE_FORMAT = 42; + + // The promotion time is invalid. + PROMOTION_INVALID_TIME = 43; + + // This field has too many decimal places specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 44; + + // Concrete sub type of ExtensionFeedItem is required for this operation. + CONCRETE_EXTENSION_TYPE_REQUIRED = 45; + + // Feed item schedule end time must be after start time. + SCHEDULE_END_NOT_AFTER_START = 46; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/extension_setting_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/extension_setting_error.proto new file mode 100644 index 000000000..99d761e7b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/extension_setting_error.proto @@ -0,0 +1,257 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing extension setting validation errors. + +// Container for enum describing validation errors of extension settings. +message ExtensionSettingErrorEnum { + // Enum describing possible extension setting errors. + enum ExtensionSettingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A platform restriction was provided without input extensions or existing + // extensions. + EXTENSIONS_REQUIRED = 2; + + // The provided feed type does not correspond to the provided extensions. + FEED_TYPE_EXTENSION_TYPE_MISMATCH = 3; + + // The provided feed type cannot be used. + INVALID_FEED_TYPE = 4; + + // The provided feed type cannot be used at the customer level. + INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING = 5; + + // Cannot change a feed item field on a CREATE operation. + CANNOT_CHANGE_FEED_ITEM_ON_CREATE = 6; + + // Cannot update an extension that is not already in this setting. + CANNOT_UPDATE_NEWLY_CREATED_EXTENSION = 7; + + // There is no existing AdGroupExtensionSetting for this type. + NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE = 8; + + // There is no existing CampaignExtensionSetting for this type. + NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE = 9; + + // There is no existing CustomerExtensionSetting for this type. + NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE = 10; + + // The AdGroupExtensionSetting already exists. UPDATE should be used to + // modify the existing AdGroupExtensionSetting. + AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS = 11; + + // The CampaignExtensionSetting already exists. UPDATE should be used to + // modify the existing CampaignExtensionSetting. + CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS = 12; + + // The CustomerExtensionSetting already exists. UPDATE should be used to + // modify the existing CustomerExtensionSetting. + CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS = 13; + + // An active ad group feed already exists for this place holder type. + AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 14; + + // An active campaign feed already exists for this place holder type. + CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 15; + + // An active customer feed already exists for this place holder type. + CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 16; + + // Value is not within the accepted range. + VALUE_OUT_OF_RANGE = 17; + + // Cannot simultaneously set specified field with final urls. + CANNOT_SET_FIELD_WITH_FINAL_URLS = 18; + + // Must set field with final urls. + FINAL_URLS_NOT_SET = 19; + + // Phone number for a call extension is invalid. + INVALID_PHONE_NUMBER = 20; + + // Phone number for a call extension is not supported for the given country + // code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 21; + + // A carrier specific number in short format is not allowed for call + // extensions. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 22; + + // Premium rate numbers are not allowed for call extensions. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 23; + + // Phone number type for a call extension is not allowed. + DISALLOWED_NUMBER_TYPE = 24; + + // Phone number for a call extension does not meet domestic format + // requirements. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 25; + + // Vanity phone numbers (for example, those including letters) are not + // allowed for call extensions. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 26; + + // Country code provided for a call extension is invalid. + INVALID_COUNTRY_CODE = 27; + + // Call conversion type id provided for a call extension is invalid. + INVALID_CALL_CONVERSION_TYPE_ID = 28; + + // For a call extension, the customer is not on the allow-list for call + // tracking. + CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING = 69; + + // Call tracking is not supported for the given country for a call + // extension. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 30; + + // App id provided for an app extension is invalid. + INVALID_APP_ID = 31; + + // Quotation marks present in the review text for a review extension. + QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 32; + + // Hyphen character present in the review text for a review extension. + HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 33; + + // A blocked review source name or url was provided for a review + // extension. + REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE = 34; + + // Review source name should not be found in the review text. + SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 35; + + // Field must be set. + MISSING_FIELD = 36; + + // Inconsistent currency codes. + INCONSISTENT_CURRENCY_CODES = 37; + + // Price extension cannot have duplicated headers. + PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 38; + + // Price item cannot have duplicated header and description. + PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 39; + + // Price extension has too few items + PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 40; + + // Price extension has too many items + PRICE_EXTENSION_HAS_TOO_MANY_ITEMS = 41; + + // The input value is not currently supported. + UNSUPPORTED_VALUE = 42; + + // Unknown or unsupported device preference. + INVALID_DEVICE_PREFERENCE = 43; + + // Invalid feed item schedule end time (for example, endHour = 24 and + // endMinute != 0). + INVALID_SCHEDULE_END = 45; + + // Date time zone does not match the account's time zone. + DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 47; + + // Overlapping feed item schedule times (for example, 7-10AM and 8-11AM) are + // not allowed. + OVERLAPPING_SCHEDULES_NOT_ALLOWED = 48; + + // Feed item schedule end time must be after start time. + SCHEDULE_END_NOT_AFTER_START = 49; + + // There are too many feed item schedules per day. + TOO_MANY_SCHEDULES_PER_DAY = 50; + + // Cannot edit the same extension feed item more than once in the same + // request. + DUPLICATE_EXTENSION_FEED_ITEM_EDIT = 51; + + // Invalid structured snippet header. + INVALID_SNIPPETS_HEADER = 52; + + // Phone number with call tracking enabled is not supported for the + // specified country. + PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 53; + + // The targeted adgroup must belong to the targeted campaign. + CAMPAIGN_TARGETING_MISMATCH = 54; + + // The feed used by the ExtensionSetting is removed and cannot be operated + // on. Remove the ExtensionSetting to allow a new one to be created using + // an active feed. + CANNOT_OPERATE_ON_REMOVED_FEED = 55; + + // The ExtensionFeedItem type is required for this operation. + EXTENSION_TYPE_REQUIRED = 56; + + // The matching function that links the extension feed to the customer, + // campaign, or ad group is not compatible with the ExtensionSetting + // services. + INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION = 57; + + // Start date must be before end date. + START_DATE_AFTER_END_DATE = 58; + + // Input price is not in a valid format. + INVALID_PRICE_FORMAT = 59; + + // The promotion time is invalid. + PROMOTION_INVALID_TIME = 60; + + // Cannot set both percent discount and money discount fields. + PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT = 61; + + // Cannot set both promotion code and orders over amount fields. + PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 62; + + // This field has too many decimal places specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 63; + + // The language code is not valid. + INVALID_LANGUAGE_CODE = 64; + + // The language is not supported. + UNSUPPORTED_LANGUAGE = 65; + + // Customer hasn't consented for call recording, which is required for + // adding/updating call extensions. See + // https://support.google.com/google-ads/answer/7412639. + CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 66; + + // The UPDATE operation does not specify any fields other than the resource + // name in the update mask. + EXTENSION_SETTING_UPDATE_IS_A_NOOP = 67; + + // The extension contains text which has been prohibited on policy grounds. + DISALLOWED_TEXT = 68; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/feed_attribute_reference_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/feed_attribute_reference_error.proto new file mode 100644 index 000000000..5789918cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/feed_attribute_reference_error.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeReferenceErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing feed attribute reference errors. + +// Container for enum describing possible feed attribute reference errors. +message FeedAttributeReferenceErrorEnum { + // Enum describing possible feed attribute reference errors. + enum FeedAttributeReferenceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A feed referenced by ID has been removed. + CANNOT_REFERENCE_REMOVED_FEED = 2; + + // There is no enabled feed with the given name. + INVALID_FEED_NAME = 3; + + // There is no feed attribute in an enabled feed with the given name. + INVALID_FEED_ATTRIBUTE_NAME = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/feed_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/feed_error.proto new file mode 100644 index 000000000..95358e262 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/feed_error.proto @@ -0,0 +1,110 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing feed errors. + +// Container for enum describing possible feed errors. +message FeedErrorEnum { + // Enum describing possible feed errors. + enum FeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The names of the FeedAttributes must be unique. + ATTRIBUTE_NAMES_NOT_UNIQUE = 2; + + // The attribute list must be an exact copy of the existing list if the + // attribute ID's are present. + ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3; + + // Cannot specify USER origin for a system generated feed. + CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4; + + // Cannot specify GOOGLE origin for a non-system generated feed. + CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5; + + // Cannot specify feed attributes for system feed. + CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6; + + // Cannot update FeedAttributes on feed with origin GOOGLE. + CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7; + + // The given ID refers to a removed Feed. Removed Feeds are immutable. + FEED_REMOVED = 8; + + // The origin of the feed is not valid for the client. + INVALID_ORIGIN_VALUE = 9; + + // A user can only create and modify feeds with USER origin. + FEED_ORIGIN_IS_NOT_USER = 10; + + // Invalid auth token for the given email. + INVALID_AUTH_TOKEN_FOR_EMAIL = 11; + + // Invalid email specified. + INVALID_EMAIL = 12; + + // Feed name matches that of another active Feed. + DUPLICATE_FEED_NAME = 13; + + // Name of feed is not allowed. + INVALID_FEED_NAME = 14; + + // Missing OAuthInfo. + MISSING_OAUTH_INFO = 15; + + // New FeedAttributes must not affect the unique key. + NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16; + + // Too many FeedAttributes for a Feed. + TOO_MANY_ATTRIBUTES = 17; + + // The business account is not valid. + INVALID_BUSINESS_ACCOUNT = 18; + + // Business account cannot access Business Profile. + BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT = 19; + + // Invalid chain ID provided for affiliate location feed. + INVALID_AFFILIATE_CHAIN_ID = 20; + + // There is already a feed with the given system feed generation data. + DUPLICATE_SYSTEM_FEED = 21; + + // An error occurred accessing Business Profile. + GMB_ACCESS_ERROR = 22; + + // A customer cannot have both LOCATION and AFFILIATE_LOCATION feeds. + CANNOT_HAVE_LOCATION_AND_AFFILIATE_LOCATION_FEEDS = 23; + + // Feed-based extension is read-only for this extension type. + LEGACY_EXTENSION_TYPE_READ_ONLY = 24; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_error.proto new file mode 100644 index 000000000..c162e2904 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_error.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing feed item errors. + +// Container for enum describing possible feed item errors. +message FeedItemErrorEnum { + // Enum describing possible feed item errors. + enum FeedItemError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot convert the feed attribute value from string to its real type. + CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2; + + // Cannot operate on removed feed item. + CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3; + + // Date time zone does not match the account's time zone. + DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4; + + // Feed item with the key attributes could not be found. + KEY_ATTRIBUTES_NOT_FOUND = 5; + + // Url feed attribute value is not valid. + INVALID_URL = 6; + + // Some key attributes are missing. + MISSING_KEY_ATTRIBUTES = 7; + + // Feed item has same key attributes as another feed item. + KEY_ATTRIBUTES_NOT_UNIQUE = 8; + + // Cannot modify key attributes on an existing feed item. + CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9; + + // The feed attribute value is too large. + SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10; + + // Feed is read only. + LEGACY_FEED_TYPE_READ_ONLY = 11; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_set_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_set_error.proto new file mode 100644 index 000000000..16420c774 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_set_error.proto @@ -0,0 +1,67 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing feed item set errors. + +// Container for enum describing possible feed item set errors. +message FeedItemSetErrorEnum { + // Enum describing possible feed item set errors. + enum FeedItemSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The given ID refers to a removed FeedItemSet. + FEED_ITEM_SET_REMOVED = 2; + + // The dynamic filter of a feed item set cannot be cleared on UPDATE if it + // exists. A set is either static or dynamic once added, and that cannot + // change. + CANNOT_CLEAR_DYNAMIC_FILTER = 3; + + // The dynamic filter of a feed item set cannot be created on UPDATE if it + // does not exist. A set is either static or dynamic once added, and that + // cannot change. + CANNOT_CREATE_DYNAMIC_FILTER = 4; + + // FeedItemSets can only be made for location or affiliate location feeds. + INVALID_FEED_TYPE = 5; + + // FeedItemSets duplicate name. Name should be unique within an account. + DUPLICATE_NAME = 6; + + // The feed type of the parent Feed is not compatible with the type of + // dynamic filter being set. For example, you can only set + // dynamic_location_set_filter for LOCATION feed item sets. + WRONG_DYNAMIC_FILTER_FOR_FEED_TYPE = 7; + + // Chain ID specified for AffiliateLocationFeedData is invalid. + DYNAMIC_FILTER_INVALID_CHAIN_IDS = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_set_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_set_link_error.proto new file mode 100644 index 000000000..99d8ac005 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_set_link_error.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing feed item set link errors. + +// Container for enum describing possible feed item set link errors. +message FeedItemSetLinkErrorEnum { + // Enum describing possible feed item set link errors. + enum FeedItemSetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The feed IDs of the FeedItemSet and FeedItem do not match. Only FeedItems + // in a given Feed can be linked to a FeedItemSet in that Feed. + FEED_ID_MISMATCH = 2; + + // Cannot add or remove links to a dynamic set. + NO_MUTATE_ALLOWED_FOR_DYNAMIC_SET = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_target_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_target_error.proto new file mode 100644 index 000000000..997d548b4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_target_error.proto @@ -0,0 +1,66 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing feed item target errors. + +// Container for enum describing possible feed item target errors. +message FeedItemTargetErrorEnum { + // Enum describing possible feed item target errors. + enum FeedItemTargetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // On CREATE, the FeedItemTarget must have a populated field in the oneof + // target. + MUST_SET_TARGET_ONEOF_ON_CREATE = 2; + + // The specified feed item target already exists, so it cannot be added. + FEED_ITEM_TARGET_ALREADY_EXISTS = 3; + + // The schedules for a given feed item cannot overlap. + FEED_ITEM_SCHEDULES_CANNOT_OVERLAP = 4; + + // Too many targets of a given type were added for a single feed item. + TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE = 5; + + // Too many AdSchedules are enabled for the feed item for the given day. + TOO_MANY_SCHEDULES_PER_DAY = 6; + + // A feed item may either have an enabled campaign target or an enabled ad + // group target. + CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS = 7; + + // Duplicate ad schedules aren't allowed. + DUPLICATE_AD_SCHEDULE = 8; + + // Duplicate keywords aren't allowed. + DUPLICATE_KEYWORD = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_validation_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_validation_error.proto new file mode 100644 index 000000000..482c5a3f7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/feed_item_validation_error.proto @@ -0,0 +1,373 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing feed item validation errors. + +// Container for enum describing possible validation errors of a feed item. +message FeedItemValidationErrorEnum { + // The possible validation errors of a feed item. + enum FeedItemValidationError { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // String is too short. + STRING_TOO_SHORT = 2; + + // String is too long. + STRING_TOO_LONG = 3; + + // Value is not provided. + VALUE_NOT_SPECIFIED = 4; + + // Phone number format is invalid for region. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 5; + + // String does not represent a phone number. + INVALID_PHONE_NUMBER = 6; + + // Phone number format is not compatible with country code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 7; + + // Premium rate number is not allowed. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 8; + + // Phone number type is not allowed. + DISALLOWED_NUMBER_TYPE = 9; + + // Specified value is outside of the valid range. + VALUE_OUT_OF_RANGE = 10; + + // Call tracking is not supported in the selected country. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; + + // Customer is not on the allow-list for call tracking. + CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING = 99; + + // Country code is invalid. + INVALID_COUNTRY_CODE = 13; + + // The specified mobile app id is invalid. + INVALID_APP_ID = 14; + + // Some required field attributes are missing. + MISSING_ATTRIBUTES_FOR_FIELDS = 15; + + // Invalid email button type for email extension. + INVALID_TYPE_ID = 16; + + // Email address is invalid. + INVALID_EMAIL_ADDRESS = 17; + + // The HTTPS URL in email extension is invalid. + INVALID_HTTPS_URL = 18; + + // Delivery address is missing from email extension. + MISSING_DELIVERY_ADDRESS = 19; + + // FeedItem scheduling start date comes after end date. + START_DATE_AFTER_END_DATE = 20; + + // FeedItem scheduling start time is missing. + MISSING_FEED_ITEM_START_TIME = 21; + + // FeedItem scheduling end time is missing. + MISSING_FEED_ITEM_END_TIME = 22; + + // Cannot compute system attributes on a FeedItem that has no FeedItemId. + MISSING_FEED_ITEM_ID = 23; + + // Call extension vanity phone numbers are not supported. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 24; + + // Invalid review text. + INVALID_REVIEW_EXTENSION_SNIPPET = 25; + + // Invalid format for numeric value in ad parameter. + INVALID_NUMBER_FORMAT = 26; + + // Invalid format for date value in ad parameter. + INVALID_DATE_FORMAT = 27; + + // Invalid format for price value in ad parameter. + INVALID_PRICE_FORMAT = 28; + + // Unrecognized type given for value in ad parameter. + UNKNOWN_PLACEHOLDER_FIELD = 29; + + // Enhanced sitelinks must have both description lines specified. + MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE = 30; + + // Review source is ineligible. + REVIEW_EXTENSION_SOURCE_INELIGIBLE = 31; + + // Review text cannot contain hyphens or dashes. + HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 32; + + // Review text cannot contain double quote characters. + DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 33; + + // Review text cannot contain quote characters. + QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 34; + + // Parameters are encoded in the wrong format. + INVALID_FORM_ENCODED_PARAMS = 35; + + // URL parameter name must contain only letters, numbers, underscores, and + // dashes. + INVALID_URL_PARAMETER_NAME = 36; + + // Cannot find address location. + NO_GEOCODING_RESULT = 37; + + // Review extension text has source name. + SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 38; + + // Some phone numbers can be shorter than usual. Some of these short numbers + // are carrier-specific, and we disallow those in ad extensions because they + // will not be available to all users. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 39; + + // Triggered when a request references a placeholder field id that does not + // exist. + INVALID_PLACEHOLDER_FIELD_ID = 40; + + // URL contains invalid ValueTrack tags or format. + INVALID_URL_TAG = 41; + + // Provided list exceeds acceptable size. + LIST_TOO_LONG = 42; + + // Certain combinations of attributes aren't allowed to be specified in the + // same feed item. + INVALID_ATTRIBUTES_COMBINATION = 43; + + // An attribute has the same value repeatedly. + DUPLICATE_VALUES = 44; + + // Advertisers can link a conversion action with a phone number to indicate + // that sufficiently long calls forwarded to that phone number should be + // counted as conversions of the specified type. This is an error message + // indicating that the conversion action specified is invalid (for example, + // the conversion action does not exist within the appropriate Google Ads + // account, or it is a type of conversion not appropriate to phone call + // conversions). + INVALID_CALL_CONVERSION_ACTION_ID = 45; + + // Tracking template requires final url to be set. + CANNOT_SET_WITHOUT_FINAL_URLS = 46; + + // An app id was provided that doesn't exist in the given app store. + APP_ID_DOESNT_EXIST_IN_APP_STORE = 47; + + // Invalid U2 final url. + INVALID_FINAL_URL = 48; + + // Invalid U2 tracking url. + INVALID_TRACKING_URL = 49; + + // Final URL should start from App download URL. + INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL = 50; + + // List provided is too short. + LIST_TOO_SHORT = 51; + + // User Action field has invalid value. + INVALID_USER_ACTION = 52; + + // Type field has invalid value. + INVALID_TYPE_NAME = 53; + + // Change status for event is invalid. + INVALID_EVENT_CHANGE_STATUS = 54; + + // The header of a structured snippets extension is not one of the valid + // headers. + INVALID_SNIPPETS_HEADER = 55; + + // Android app link is not formatted correctly + INVALID_ANDROID_APP_LINK = 56; + + // Phone number incompatible with call tracking for country. + NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 57; + + // The input is identical to a reserved keyword + RESERVED_KEYWORD_OTHER = 58; + + // Each option label in the message extension must be unique. + DUPLICATE_OPTION_LABELS = 59; + + // Each option prefill in the message extension must be unique. + DUPLICATE_OPTION_PREFILLS = 60; + + // In message extensions, the number of optional labels and optional + // prefills must be the same. + UNEQUAL_LIST_LENGTHS = 61; + + // All currency codes in an ad extension must be the same. + INCONSISTENT_CURRENCY_CODES = 62; + + // Headers in price extension are not unique. + PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 63; + + // Header and description in an item are the same. + ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 64; + + // Price extension has too few items. + PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 65; + + // The given value is not supported. + UNSUPPORTED_VALUE = 66; + + // Invalid final mobile url. + INVALID_FINAL_MOBILE_URL = 67; + + // The given string value of Label contains invalid characters + INVALID_KEYWORDLESS_AD_RULE_LABEL = 68; + + // The given URL contains value track parameters. + VALUE_TRACK_PARAMETER_NOT_SUPPORTED = 69; + + // The given value is not supported in the selected language of an + // extension. + UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE = 70; + + // The iOS app link is not formatted correctly. + INVALID_IOS_APP_LINK = 71; + + // iOS app link or iOS app store id is missing. + MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID = 72; + + // Promotion time is invalid. + PROMOTION_INVALID_TIME = 73; + + // Both the percent off and money amount off fields are set. + PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 74; + + // Both the promotion code and orders over amount fields are set. + PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 75; + + // Too many decimal places are specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 76; + + // Ad Customizers are present and not allowed. + AD_CUSTOMIZERS_NOT_ALLOWED = 77; + + // Language code is not valid. + INVALID_LANGUAGE_CODE = 78; + + // Language is not supported. + UNSUPPORTED_LANGUAGE = 79; + + // IF Function is present and not allowed. + IF_FUNCTION_NOT_ALLOWED = 80; + + // Final url suffix is not valid. + INVALID_FINAL_URL_SUFFIX = 81; + + // Final url suffix contains an invalid tag. + INVALID_TAG_IN_FINAL_URL_SUFFIX = 82; + + // Final url suffix is formatted incorrectly. + INVALID_FINAL_URL_SUFFIX_FORMAT = 83; + + // Consent for call recording, which is required for the use of call + // extensions, was not provided by the advertiser. See + // https://support.google.com/google-ads/answer/7412639. + CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 84; + + // Multiple message delivery options are set. + ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED = 85; + + // No message delivery option is set. + NO_DELIVERY_OPTION_IS_SET = 86; + + // String value of conversion reporting state field is not valid. + INVALID_CONVERSION_REPORTING_STATE = 87; + + // Image size is not right. + IMAGE_SIZE_WRONG = 88; + + // Email delivery is not supported in the country specified in the country + // code field. + EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY = 89; + + // Auto reply is not supported in the country specified in the country code + // field. + AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY = 90; + + // Invalid value specified for latitude. + INVALID_LATITUDE_VALUE = 91; + + // Invalid value specified for longitude. + INVALID_LONGITUDE_VALUE = 92; + + // Too many label fields provided. + TOO_MANY_LABELS = 93; + + // Invalid image url. + INVALID_IMAGE_URL = 94; + + // Latitude value is missing. + MISSING_LATITUDE_VALUE = 95; + + // Longitude value is missing. + MISSING_LONGITUDE_VALUE = 96; + + // Unable to find address. + ADDRESS_NOT_FOUND = 97; + + // Cannot target provided address. + ADDRESS_NOT_TARGETABLE = 98; + + // The specified asset ID does not exist. + INVALID_ASSET_ID = 100; + + // The asset type cannot be set for the field. + INCOMPATIBLE_ASSET_TYPE = 101; + + // The image has unexpected size. + IMAGE_ERROR_UNEXPECTED_SIZE = 102; + + // The image aspect ratio is not allowed. + IMAGE_ERROR_ASPECT_RATIO_NOT_ALLOWED = 103; + + // The image file is too large. + IMAGE_ERROR_FILE_TOO_LARGE = 104; + + // The image format is unsupported. + IMAGE_ERROR_FORMAT_NOT_ALLOWED = 105; + + // Image violates constraints without more details. + IMAGE_ERROR_CONSTRAINTS_VIOLATED = 106; + + // An error occurred when validating image. + IMAGE_ERROR_SERVER_ERROR = 107; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/feed_mapping_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/feed_mapping_error.proto new file mode 100644 index 000000000..f605e6a26 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/feed_mapping_error.proto @@ -0,0 +1,99 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing feed item errors. + +// Container for enum describing possible feed item errors. +message FeedMappingErrorEnum { + // Enum describing possible feed item errors. + enum FeedMappingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The given placeholder field does not exist. + INVALID_PLACEHOLDER_FIELD = 2; + + // The given criterion field does not exist. + INVALID_CRITERION_FIELD = 3; + + // The given placeholder type does not exist. + INVALID_PLACEHOLDER_TYPE = 4; + + // The given criterion type does not exist. + INVALID_CRITERION_TYPE = 5; + + // A feed mapping must contain at least one attribute field mapping. + NO_ATTRIBUTE_FIELD_MAPPINGS = 7; + + // The type of the feed attribute referenced in the attribute field mapping + // must match the type of the placeholder field. + FEED_ATTRIBUTE_TYPE_MISMATCH = 8; + + // A feed mapping for a system generated feed cannot be operated on. + CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9; + + // Only one feed mapping for a placeholder type is allowed per feed or + // customer (depending on the placeholder type). + MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10; + + // Only one feed mapping for a criterion type is allowed per customer. + MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11; + + // Only one feed attribute mapping for a placeholder field is allowed + // (depending on the placeholder type). + MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12; + + // Only one feed attribute mapping for a criterion field is allowed + // (depending on the criterion type). + MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13; + + // This feed mapping may not contain any explicit attribute field mappings. + UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14; + + // Location placeholder feed mappings can only be created for Places feeds. + LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15; + + // Mappings for typed feeds cannot be modified. + CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16; + + // The given placeholder type can only be mapped to system generated feeds. + INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17; + + // The given placeholder type cannot be mapped to a system generated feed + // with the given type. + INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18; + + // The "field" oneof was not set in an AttributeFieldMapping. + ATTRIBUTE_FIELD_MAPPING_MISSING_FIELD = 19; + + // Feed is read only. + LEGACY_FEED_TYPE_READ_ONLY = 20; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/field_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/field_error.proto new file mode 100644 index 000000000..c09ebb089 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/field_error.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing field errors. + +// Container for enum describing possible field errors. +message FieldErrorEnum { + // Enum describing possible field errors. + enum FieldError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The required field was not present. + REQUIRED = 2; + + // The field attempted to be mutated is immutable. + IMMUTABLE_FIELD = 3; + + // The field's value is invalid. + INVALID_VALUE = 4; + + // The field cannot be set. + VALUE_MUST_BE_UNSET = 5; + + // The required repeated field was empty. + REQUIRED_NONEMPTY_LIST = 6; + + // The field cannot be cleared. + FIELD_CANNOT_BE_CLEARED = 7; + + // The field's value is on a deny-list for this field. + BLOCKED_VALUE = 9; + + // The field's value cannot be modified, except for clearing. + FIELD_CAN_ONLY_BE_CLEARED = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/field_mask_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/field_mask_error.proto new file mode 100644 index 000000000..8b2b78e97 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/field_mask_error.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldMaskErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing field mask errors. + +// Container for enum describing possible field mask errors. +message FieldMaskErrorEnum { + // Enum describing possible field mask errors. + enum FieldMaskError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The field mask must be provided for update operations. + FIELD_MASK_MISSING = 5; + + // The field mask must be empty for create and remove operations. + FIELD_MASK_NOT_ALLOWED = 4; + + // The field mask contained an invalid field. + FIELD_NOT_FOUND = 2; + + // The field mask updated a field with subfields. Fields with subfields may + // be cleared, but not updated. To fix this, the field mask should select + // all the subfields of the invalid field. + FIELD_HAS_SUBFIELDS = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/function_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/function_error.proto new file mode 100644 index 000000000..54f56e0e5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/function_error.proto @@ -0,0 +1,89 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing function errors. + +// Container for enum describing possible function errors. +message FunctionErrorEnum { + // Enum describing possible function errors. + enum FunctionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The format of the function is not recognized as a supported function + // format. + INVALID_FUNCTION_FORMAT = 2; + + // Operand data types do not match. + DATA_TYPE_MISMATCH = 3; + + // The operands cannot be used together in a conjunction. + INVALID_CONJUNCTION_OPERANDS = 4; + + // Invalid numer of Operands. + INVALID_NUMBER_OF_OPERANDS = 5; + + // Operand Type not supported. + INVALID_OPERAND_TYPE = 6; + + // Operator not supported. + INVALID_OPERATOR = 7; + + // Request context type not supported. + INVALID_REQUEST_CONTEXT_TYPE = 8; + + // The matching function is not allowed for call placeholders + INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9; + + // The matching function is not allowed for the specified placeholder + INVALID_FUNCTION_FOR_PLACEHOLDER = 10; + + // Invalid operand. + INVALID_OPERAND = 11; + + // Missing value for the constant operand. + MISSING_CONSTANT_OPERAND_VALUE = 12; + + // The value of the constant operand is invalid. + INVALID_CONSTANT_OPERAND_VALUE = 13; + + // Invalid function nesting. + INVALID_NESTING = 14; + + // The Feed ID was different from another Feed ID in the same function. + MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15; + + // The matching function is invalid for use with a feed with a fixed schema. + INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16; + + // Invalid attribute name. + INVALID_ATTRIBUTE_NAME = 17; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/function_parsing_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/function_parsing_error.proto new file mode 100644 index 000000000..c5129a3a5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/function_parsing_error.proto @@ -0,0 +1,73 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionParsingErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing function parsing errors. + +// Container for enum describing possible function parsing errors. +message FunctionParsingErrorEnum { + // Enum describing possible function parsing errors. + enum FunctionParsingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Unexpected end of function string. + NO_MORE_INPUT = 2; + + // Could not find an expected character. + EXPECTED_CHARACTER = 3; + + // Unexpected separator character. + UNEXPECTED_SEPARATOR = 4; + + // Unmatched left bracket or parenthesis. + UNMATCHED_LEFT_BRACKET = 5; + + // Unmatched right bracket or parenthesis. + UNMATCHED_RIGHT_BRACKET = 6; + + // Functions are nested too deeply. + TOO_MANY_NESTED_FUNCTIONS = 7; + + // Missing right-hand-side operand. + MISSING_RIGHT_HAND_OPERAND = 8; + + // Invalid operator/function name. + INVALID_OPERATOR_NAME = 9; + + // Feed attribute operand's argument is not an integer. + FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10; + + // Missing function operands. + NO_OPERANDS = 11; + + // Function had too many operands. + TOO_MANY_OPERANDS = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/geo_target_constant_suggestion_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/geo_target_constant_suggestion_error.proto new file mode 100644 index 000000000..896023c74 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/geo_target_constant_suggestion_error.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Container for enum describing possible geo target constant suggestion errors. +message GeoTargetConstantSuggestionErrorEnum { + // Enum describing possible geo target constant suggestion errors. + enum GeoTargetConstantSuggestionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A location name cannot be greater than 300 characters. + LOCATION_NAME_SIZE_LIMIT = 2; + + // At most 25 location names can be specified in a SuggestGeoTargetConstants + // method. + LOCATION_NAME_LIMIT = 3; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 4; + + // Geo target constant resource names or location names must be provided in + // the request. + REQUEST_PARAMETERS_UNSET = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/header_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/header_error.proto new file mode 100644 index 000000000..1233b1523 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/header_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "HeaderErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing header errors. + +// Container for enum describing possible header errors. +message HeaderErrorEnum { + // Enum describing possible header errors. + enum HeaderError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The login customer ID could not be validated. + INVALID_LOGIN_CUSTOMER_ID = 3; + + // The linked customer ID could not be validated. + INVALID_LINKED_CUSTOMER_ID = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/id_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/id_error.proto new file mode 100644 index 000000000..61d3b9644 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/id_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing id errors. + +// Container for enum describing possible ID errors. +message IdErrorEnum { + // Enum describing possible ID errors. + enum IdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // ID not found + NOT_FOUND = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/identity_verification_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/identity_verification_error.proto new file mode 100644 index 000000000..e25c3d6b6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/identity_verification_error.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdentityVerificationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing image errors. + +// Container for enum describing possible identity verification errors. +message IdentityVerificationErrorEnum { + // Enum describing possible identity verification errors. + enum IdentityVerificationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No effective billing linked to this customer. + NO_EFFECTIVE_BILLING = 2; + + // Customer is not on monthly invoicing. + BILLING_NOT_ON_MONTHLY_INVOICING = 3; + + // Verification for this program type was already started. + VERIFICATION_ALREADY_STARTED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/image_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/image_error.proto new file mode 100644 index 000000000..dfcb7d4bb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/image_error.proto @@ -0,0 +1,160 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ImageErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing image errors. + +// Container for enum describing possible image errors. +message ImageErrorEnum { + // Enum describing possible image errors. + enum ImageError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The image is not valid. + INVALID_IMAGE = 2; + + // The image could not be stored. + STORAGE_ERROR = 3; + + // There was a problem with the request. + BAD_REQUEST = 4; + + // The image is not of legal dimensions. + UNEXPECTED_SIZE = 5; + + // Animated image are not permitted. + ANIMATED_NOT_ALLOWED = 6; + + // Animation is too long. + ANIMATION_TOO_LONG = 7; + + // There was an error on the server. + SERVER_ERROR = 8; + + // Image cannot be in CMYK color format. + CMYK_JPEG_NOT_ALLOWED = 9; + + // Flash images are not permitted. + FLASH_NOT_ALLOWED = 10; + + // Flash images must support clickTag. + FLASH_WITHOUT_CLICKTAG = 11; + + // A flash error has occurred after fixing the click tag. + FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12; + + // Unacceptable visual effects. + ANIMATED_VISUAL_EFFECT = 13; + + // There was a problem with the flash image. + FLASH_ERROR = 14; + + // Incorrect image layout. + LAYOUT_PROBLEM = 15; + + // There was a problem reading the image file. + PROBLEM_READING_IMAGE_FILE = 16; + + // There was an error storing the image. + ERROR_STORING_IMAGE = 17; + + // The aspect ratio of the image is not allowed. + ASPECT_RATIO_NOT_ALLOWED = 18; + + // Flash cannot have network objects. + FLASH_HAS_NETWORK_OBJECTS = 19; + + // Flash cannot have network methods. + FLASH_HAS_NETWORK_METHODS = 20; + + // Flash cannot have a Url. + FLASH_HAS_URL = 21; + + // Flash cannot use mouse tracking. + FLASH_HAS_MOUSE_TRACKING = 22; + + // Flash cannot have a random number. + FLASH_HAS_RANDOM_NUM = 23; + + // Ad click target cannot be '_self'. + FLASH_SELF_TARGETS = 24; + + // GetUrl method should only use '_blank'. + FLASH_BAD_GETURL_TARGET = 25; + + // Flash version is not supported. + FLASH_VERSION_NOT_SUPPORTED = 26; + + // Flash movies need to have hard coded click URL or clickTAG + FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27; + + // Uploaded flash file is corrupted. + INVALID_FLASH_FILE = 28; + + // Uploaded flash file can be parsed, but the click tag can not be fixed + // properly. + FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29; + + // Flash movie accesses network resources + FLASH_ACCESSES_NETWORK_RESOURCES = 30; + + // Flash movie attempts to call external javascript code + FLASH_EXTERNAL_JS_CALL = 31; + + // Flash movie attempts to call flash system commands + FLASH_EXTERNAL_FS_CALL = 32; + + // Image file is too large. + FILE_TOO_LARGE = 33; + + // Image data is too large. + IMAGE_DATA_TOO_LARGE = 34; + + // Error while processing the image. + IMAGE_PROCESSING_ERROR = 35; + + // Image is too small. + IMAGE_TOO_SMALL = 36; + + // Input was invalid. + INVALID_INPUT = 37; + + // There was a problem reading the image file. + PROBLEM_READING_FILE = 38; + + // Image constraints are violated, but details like ASPECT_RATIO_NOT_ALLOWED + // can't be provided. This happens when asset spec contains more than one + // constraint and different criteria of different constraints are violated. + IMAGE_CONSTRAINTS_VIOLATED = 39; + + // Image format is not allowed. + FORMAT_NOT_ALLOWED = 40; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/internal_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/internal_error.proto new file mode 100644 index 000000000..0b8cb6d96 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/internal_error.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InternalErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing internal errors. + +// Container for enum describing possible internal errors. +message InternalErrorEnum { + // Enum describing possible internal errors. + enum InternalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Google Ads API encountered unexpected internal error. + INTERNAL_ERROR = 2; + + // The intended error code doesn't exist in specified API version. It will + // be released in a future API version. + ERROR_CODE_NOT_PUBLISHED = 3; + + // Google Ads API encountered an unexpected transient error. The user + // should retry their request in these cases. + TRANSIENT_ERROR = 4; + + // The request took longer than a deadline. + DEADLINE_EXCEEDED = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/invoice_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/invoice_error.proto new file mode 100644 index 000000000..3790d607e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/invoice_error.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing invoice errors. + +// Container for enum describing possible invoice errors. +message InvoiceErrorEnum { + // Enum describing possible invoice errors. + enum InvoiceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot request invoices issued before 2019-01-01. + YEAR_MONTH_TOO_OLD = 2; + + // Cannot request invoices for customer who doesn't receive invoices. + NOT_INVOICED_CUSTOMER = 3; + + // Cannot request invoices for a non approved billing setup. + BILLING_SETUP_NOT_APPROVED = 4; + + // Cannot request invoices for a billing setup that is not on monthly + // invoicing. + BILLING_SETUP_NOT_ON_MONTHLY_INVOICING = 5; + + // Cannot request invoices for a non serving customer. + NON_SERVING_CUSTOMER = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_ad_group_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_ad_group_error.proto new file mode 100644 index 000000000..e43b20e7f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_ad_group_error.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors from applying a keyword plan ad group. + +// Container for enum describing possible errors from applying a keyword plan +// ad group. +message KeywordPlanAdGroupErrorEnum { + // Enum describing possible errors from applying a keyword plan ad group. + enum KeywordPlanAdGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The keyword plan ad group name is missing, empty, longer than allowed + // limit or contains invalid chars. + INVALID_NAME = 2; + + // The keyword plan ad group name is duplicate to an existing keyword plan + // AdGroup name or other keyword plan AdGroup name in the request. + DUPLICATE_NAME = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_ad_group_keyword_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_ad_group_keyword_error.proto new file mode 100644 index 000000000..9afe5cbde --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_ad_group_keyword_error.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors from applying a keyword plan ad group keyword or +// keyword plan campaign keyword. + +// Container for enum describing possible errors from applying an ad group +// keyword or a campaign keyword from a keyword plan. +message KeywordPlanAdGroupKeywordErrorEnum { + // Enum describing possible errors from applying a keyword plan ad group + // keyword or keyword plan campaign keyword. + enum KeywordPlanAdGroupKeywordError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A keyword or negative keyword has invalid match type. + INVALID_KEYWORD_MATCH_TYPE = 2; + + // A keyword or negative keyword with same text and match type already + // exists. + DUPLICATE_KEYWORD = 3; + + // Keyword or negative keyword text exceeds the allowed limit. + KEYWORD_TEXT_TOO_LONG = 4; + + // Keyword or negative keyword text has invalid characters or symbols. + KEYWORD_HAS_INVALID_CHARS = 5; + + // Keyword or negative keyword text has too many words. + KEYWORD_HAS_TOO_MANY_WORDS = 6; + + // Keyword or negative keyword has invalid text. + INVALID_KEYWORD_TEXT = 7; + + // Cpc Bid set for negative keyword. + NEGATIVE_KEYWORD_HAS_CPC_BID = 8; + + // New broad match modifier (BMM) KpAdGroupKeywords are not allowed. + NEW_BMM_KEYWORDS_NOT_ALLOWED = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_campaign_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_campaign_error.proto new file mode 100644 index 000000000..c9fa4998b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_campaign_error.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors from applying a keyword plan campaign. + +// Container for enum describing possible errors from applying a keyword plan +// campaign. +message KeywordPlanCampaignErrorEnum { + // Enum describing possible errors from applying a keyword plan campaign. + enum KeywordPlanCampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A keyword plan campaign name is missing, empty, longer than allowed limit + // or contains invalid chars. + INVALID_NAME = 2; + + // A keyword plan campaign contains one or more untargetable languages. + INVALID_LANGUAGES = 3; + + // A keyword plan campaign contains one or more invalid geo targets. + INVALID_GEOS = 4; + + // The keyword plan campaign name is duplicate to an existing keyword plan + // campaign name or other keyword plan campaign name in the request. + DUPLICATE_NAME = 5; + + // The number of geo targets in the keyword plan campaign exceeds limits. + MAX_GEOS_EXCEEDED = 6; + + // The number of languages in the keyword plan campaign exceeds limits. + MAX_LANGUAGES_EXCEEDED = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_campaign_keyword_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_campaign_keyword_error.proto new file mode 100644 index 000000000..9ffc55101 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_campaign_keyword_error.proto @@ -0,0 +1,45 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors from applying a keyword plan campaign keyword. + +// Container for enum describing possible errors from applying a keyword plan +// campaign keyword. +message KeywordPlanCampaignKeywordErrorEnum { + // Enum describing possible errors from applying a keyword plan campaign + // keyword. + enum KeywordPlanCampaignKeywordError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Keyword plan campaign keyword is positive. + CAMPAIGN_KEYWORD_IS_POSITIVE = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_error.proto new file mode 100644 index 000000000..50f4e7c5f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_error.proto @@ -0,0 +1,87 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors from applying keyword plan resources (keyword +// plan, keyword plan campaign, keyword plan ad group or keyword plan keyword) +// or KeywordPlanService RPC. + +// Container for enum describing possible errors from applying a keyword plan +// resource (keyword plan, keyword plan campaign, keyword plan ad group or +// keyword plan keyword) or KeywordPlanService RPC. +message KeywordPlanErrorEnum { + // Enum describing possible errors from applying a keyword plan. + enum KeywordPlanError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The plan's bid multiplier value is outside the valid range. + BID_MULTIPLIER_OUT_OF_RANGE = 2; + + // The plan's bid value is too high. + BID_TOO_HIGH = 3; + + // The plan's bid value is too low. + BID_TOO_LOW = 4; + + // The plan's cpc bid is not a multiple of the minimum billable unit. + BID_TOO_MANY_FRACTIONAL_DIGITS = 5; + + // The plan's daily budget value is too low. + DAILY_BUDGET_TOO_LOW = 6; + + // The plan's daily budget is not a multiple of the minimum billable unit. + DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7; + + // The input has an invalid value. + INVALID_VALUE = 8; + + // The plan has no keyword. + KEYWORD_PLAN_HAS_NO_KEYWORDS = 9; + + // The plan is not enabled and API cannot provide mutation, forecast or + // stats. + KEYWORD_PLAN_NOT_ENABLED = 10; + + // The requested plan cannot be found for providing forecast or stats. + KEYWORD_PLAN_NOT_FOUND = 11; + + // The plan is missing a cpc bid. + MISSING_BID = 13; + + // The plan is missing required forecast_period field. + MISSING_FORECAST_PERIOD = 14; + + // The plan's forecast_period has invalid forecast date range. + INVALID_FORECAST_DATE_RANGE = 15; + + // The plan's name is invalid. + INVALID_NAME = 16; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_idea_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_idea_error.proto new file mode 100644 index 000000000..a2a32bc0a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/keyword_plan_idea_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors from KeywordPlanIdeaService. + +// Container for enum describing possible errors from KeywordPlanIdeaService. +message KeywordPlanIdeaErrorEnum { + // Enum describing possible errors from KeywordPlanIdeaService. + enum KeywordPlanIdeaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Error when crawling the input URL. + URL_CRAWL_ERROR = 2; + + // The input has an invalid value. + INVALID_VALUE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/label_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/label_error.proto new file mode 100644 index 000000000..deee9df1a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/label_error.proto @@ -0,0 +1,69 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LabelErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing label errors. + +// Container for enum describing possible label errors. +message LabelErrorEnum { + // Enum describing possible label errors. + enum LabelError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An inactive label cannot be applied. + CANNOT_APPLY_INACTIVE_LABEL = 2; + + // A label cannot be applied to a disabled ad group criterion. + CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION = 3; + + // A label cannot be applied to a negative ad group criterion. + CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION = 4; + + // Cannot apply more than 50 labels per resource. + EXCEEDED_LABEL_LIMIT_PER_TYPE = 5; + + // Labels from a manager account cannot be applied to campaign, ad group, + // ad group ad, or ad group criterion resources. + INVALID_RESOURCE_FOR_MANAGER_LABEL = 6; + + // Label names must be unique. + DUPLICATE_NAME = 7; + + // Label names cannot be empty. + INVALID_LABEL_NAME = 8; + + // Labels cannot be applied to a draft. + CANNOT_ATTACH_LABEL_TO_DRAFT = 9; + + // Labels not from a manager account cannot be applied to the customer + // resource. + CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/language_code_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/language_code_error.proto new file mode 100644 index 000000000..d932c6c93 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/language_code_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LanguageCodeErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing language code errors. + +// Container for enum describing language code errors. +message LanguageCodeErrorEnum { + // Enum describing language code errors. + enum LanguageCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The input language code is not recognized. + LANGUAGE_CODE_NOT_FOUND = 2; + + // The language code is not supported. + INVALID_LANGUAGE_CODE = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/list_operation_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/list_operation_error.proto new file mode 100644 index 000000000..1cea2d5e1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/list_operation_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ListOperationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing list operation errors. + +// Container for enum describing possible list operation errors. +message ListOperationErrorEnum { + // Enum describing possible list operation errors. + enum ListOperationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Field required in value is missing. + REQUIRED_FIELD_MISSING = 7; + + // Duplicate or identical value is sent in multiple list operations. + DUPLICATE_VALUES = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/manager_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/manager_link_error.proto new file mode 100644 index 000000000..d64eca73c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/manager_link_error.proto @@ -0,0 +1,99 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ManagerLink errors. + +// Container for enum describing possible ManagerLink errors. +message ManagerLinkErrorEnum { + // Enum describing possible ManagerLink errors. + enum ManagerLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The manager and client have incompatible account types. + ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING = 2; + + // Client is already linked to too many managers. + TOO_MANY_MANAGERS = 3; + + // Manager has too many pending invitations. + TOO_MANY_INVITES = 4; + + // Client is already invited by this manager. + ALREADY_INVITED_BY_THIS_MANAGER = 5; + + // The client is already managed by this manager. + ALREADY_MANAGED_BY_THIS_MANAGER = 6; + + // Client is already managed in hierarchy. + ALREADY_MANAGED_IN_HIERARCHY = 7; + + // Manager and sub-manager to be linked have duplicate client. + DUPLICATE_CHILD_FOUND = 8; + + // Client has no active user that can access the client account. + CLIENT_HAS_NO_ADMIN_USER = 9; + + // Adding this link would exceed the maximum hierarchy depth. + MAX_DEPTH_EXCEEDED = 10; + + // Adding this link will create a cycle. + CYCLE_NOT_ALLOWED = 11; + + // Manager account has the maximum number of linked clients. + TOO_MANY_ACCOUNTS = 12; + + // Parent manager account has the maximum number of linked clients. + TOO_MANY_ACCOUNTS_AT_MANAGER = 13; + + // The account is not authorized owner. + NON_OWNER_USER_CANNOT_MODIFY_LINK = 14; + + // Your manager account is suspended, and you are no longer allowed to link + // to clients. + SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS = 15; + + // You are not allowed to move a client to a manager that is not under your + // current hierarchy. + CLIENT_OUTSIDE_TREE = 16; + + // The changed status for mutate link is invalid. + INVALID_STATUS_CHANGE = 17; + + // The change for mutate link is invalid. + INVALID_CHANGE = 18; + + // You are not allowed to link a manager account to itself. + CUSTOMER_CANNOT_MANAGE_SELF = 19; + + // The link was created with status ACTIVE and not PENDING. + CREATING_ENABLED_LINK_NOT_ALLOWED = 20; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/media_bundle_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/media_bundle_error.proto new file mode 100644 index 000000000..bbf767153 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/media_bundle_error.proto @@ -0,0 +1,106 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaBundleErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing media bundle errors. + +// Container for enum describing possible media bundle errors. +message MediaBundleErrorEnum { + // Enum describing possible media bundle errors. + enum MediaBundleError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // There was a problem with the request. + BAD_REQUEST = 3; + + // HTML5 ads using DoubleClick Studio created ZIP files are not supported. + DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4; + + // Cannot reference URL external to the media bundle. + EXTERNAL_URL_NOT_ALLOWED = 5; + + // Media bundle file is too large. + FILE_TOO_LARGE = 6; + + // ZIP file from Google Web Designer is not published. + GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7; + + // Input was invalid. + INVALID_INPUT = 8; + + // There was a problem with the media bundle. + INVALID_MEDIA_BUNDLE = 9; + + // There was a problem with one or more of the media bundle entries. + INVALID_MEDIA_BUNDLE_ENTRY = 10; + + // The media bundle contains a file with an unknown mime type + INVALID_MIME_TYPE = 11; + + // The media bundle contain an invalid asset path. + INVALID_PATH = 12; + + // HTML5 ad is trying to reference an asset not in .ZIP file + INVALID_URL_REFERENCE = 13; + + // Media data is too large. + MEDIA_DATA_TOO_LARGE = 14; + + // The media bundle contains no primary entry. + MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15; + + // There was an error on the server. + SERVER_ERROR = 16; + + // The image could not be stored. + STORAGE_ERROR = 17; + + // Media bundle created with the Swiffy tool is not allowed. + SWIFFY_BUNDLE_NOT_ALLOWED = 18; + + // The media bundle contains too many files. + TOO_MANY_FILES = 19; + + // The media bundle is not of legal dimensions. + UNEXPECTED_SIZE = 20; + + // Google Web Designer not created for "Google Ads" environment. + UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21; + + // Unsupported HTML5 feature in HTML5 asset. + UNSUPPORTED_HTML5_FEATURE = 22; + + // URL in HTML5 entry is not ssl compliant. + URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23; + + // Custom exits not allowed in HTML5 entry. + CUSTOM_EXIT_NOT_ALLOWED = 24; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/media_file_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/media_file_error.proto new file mode 100644 index 000000000..10cb1a9fb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/media_file_error.proto @@ -0,0 +1,109 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing media file errors. + +// Container for enum describing possible media file errors. +message MediaFileErrorEnum { + // Enum describing possible media file errors. + enum MediaFileError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot create a standard icon type. + CANNOT_CREATE_STANDARD_ICON = 2; + + // May only select Standard Icons alone. + CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3; + + // Image contains both a media file ID and data. + CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4; + + // A media file with given type and reference ID already exists. + DUPLICATE_MEDIA = 5; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 6; + + // A media file may only be modified once per call. + RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7; + + // Field is not supported for the media sub type. + FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8; + + // The media file ID is invalid. + INVALID_MEDIA_FILE_ID = 9; + + // The media subtype is invalid. + INVALID_MEDIA_SUB_TYPE = 10; + + // The media file type is invalid. + INVALID_MEDIA_FILE_TYPE = 11; + + // The mimetype is invalid. + INVALID_MIME_TYPE = 12; + + // The media reference ID is invalid. + INVALID_REFERENCE_ID = 13; + + // The YouTube video ID is invalid. + INVALID_YOU_TUBE_ID = 14; + + // Media file has failed transcoding + MEDIA_FILE_FAILED_TRANSCODING = 15; + + // Media file has not been transcoded. + MEDIA_NOT_TRANSCODED = 16; + + // The media type does not match the actual media file's type. + MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17; + + // None of the fields have been specified. + NO_FIELDS_SPECIFIED = 18; + + // One of reference ID or media file ID must be specified. + NULL_REFERENCE_ID_AND_MEDIA_ID = 19; + + // The string has too many characters. + TOO_LONG = 20; + + // The specified type is not supported. + UNSUPPORTED_TYPE = 21; + + // YouTube is unavailable for requesting video data. + YOU_TUBE_SERVICE_UNAVAILABLE = 22; + + // The YouTube video has a non positive duration. + YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23; + + // The YouTube video ID is syntactically valid but the video was not found. + YOU_TUBE_VIDEO_NOT_FOUND = 24; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/media_upload_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/media_upload_error.proto new file mode 100644 index 000000000..c315eecb7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/media_upload_error.proto @@ -0,0 +1,148 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaUploadErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing media uploading errors. + +// Container for enum describing possible media uploading errors. +message MediaUploadErrorEnum { + // Enum describing possible media uploading errors. + enum MediaUploadError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The uploaded file is too big. + FILE_TOO_BIG = 2; + + // Image data is unparseable. + UNPARSEABLE_IMAGE = 3; + + // Animated images are not allowed. + ANIMATED_IMAGE_NOT_ALLOWED = 4; + + // The image or media bundle format is not allowed. + FORMAT_NOT_ALLOWED = 5; + + // Cannot reference URL external to the media bundle. + EXTERNAL_URL_NOT_ALLOWED = 6; + + // HTML5 ad is trying to reference an asset not in .ZIP file. + INVALID_URL_REFERENCE = 7; + + // The media bundle contains no primary entry. + MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 8; + + // Animation has disallowed visual effects. + ANIMATED_VISUAL_EFFECT = 9; + + // Animation longer than the allowed 30 second limit. + ANIMATION_TOO_LONG = 10; + + // The aspect ratio of the image does not match the expected aspect ratios + // provided in the asset spec. + ASPECT_RATIO_NOT_ALLOWED = 11; + + // Audio files are not allowed in bundle. + AUDIO_NOT_ALLOWED_IN_MEDIA_BUNDLE = 12; + + // CMYK jpegs are not supported. + CMYK_JPEG_NOT_ALLOWED = 13; + + // Flash movies are not allowed. + FLASH_NOT_ALLOWED = 14; + + // The frame rate of the video is higher than the allowed 5fps. + FRAME_RATE_TOO_HIGH = 15; + + // ZIP file from Google Web Designer is not published. + GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 16; + + // Image constraints are violated, but more details (like + // DIMENSIONS_NOT_ALLOWED or ASPECT_RATIO_NOT_ALLOWED) can not be provided. + // This happens when asset spec contains more than one constraint and + // criteria of different constraints are violated. + IMAGE_CONSTRAINTS_VIOLATED = 17; + + // Media bundle data is unrecognizable. + INVALID_MEDIA_BUNDLE = 18; + + // There was a problem with one or more of the media bundle entries. + INVALID_MEDIA_BUNDLE_ENTRY = 19; + + // The asset has an invalid mime type. + INVALID_MIME_TYPE = 20; + + // The media bundle contains an invalid asset path. + INVALID_PATH = 21; + + // Image has layout problem. + LAYOUT_PROBLEM = 22; + + // An asset had a URL reference that is malformed per RFC 1738 convention. + MALFORMED_URL = 23; + + // The uploaded media bundle format is not allowed. + MEDIA_BUNDLE_NOT_ALLOWED = 24; + + // The media bundle is not compatible with the asset spec product type. + // (For example, Gmail, dynamic remarketing, etc.) + MEDIA_BUNDLE_NOT_COMPATIBLE_TO_PRODUCT_TYPE = 25; + + // A bundle being uploaded that is incompatible with multiple assets for + // different reasons. + MEDIA_BUNDLE_REJECTED_BY_MULTIPLE_ASSET_SPECS = 26; + + // The media bundle contains too many files. + TOO_MANY_FILES_IN_MEDIA_BUNDLE = 27; + + // Google Web Designer not created for "Google Ads" environment. + UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 28; + + // Unsupported HTML5 feature in HTML5 asset. + UNSUPPORTED_HTML5_FEATURE = 29; + + // URL in HTML5 entry is not SSL compliant. + URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 30; + + // Video file name is longer than the 50 allowed characters. + VIDEO_FILE_NAME_TOO_LONG = 31; + + // Multiple videos with same name in a bundle. + VIDEO_MULTIPLE_FILES_WITH_SAME_NAME = 32; + + // Videos are not allowed in media bundle. + VIDEO_NOT_ALLOWED_IN_MEDIA_BUNDLE = 33; + + // This type of media cannot be uploaded through the Google Ads API. + CANNOT_UPLOAD_MEDIA_TYPE_THROUGH_API = 34; + + // The dimensions of the image are not allowed. + DIMENSIONS_NOT_ALLOWED = 35; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/merchant_center_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/merchant_center_error.proto new file mode 100644 index 000000000..f8b599653 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/merchant_center_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing merchant center errors. + +// Container for enum describing possible merchant center errors. +message MerchantCenterErrorEnum { + // Enum describing Merchant Center errors. + enum MerchantCenterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Merchant ID is either not found or not linked to the Google Ads customer. + MERCHANT_ID_CANNOT_BE_ACCESSED = 2; + + // Customer not allowlisted for Shopping in Performance Max Campaign. + CUSTOMER_NOT_ALLOWED_FOR_SHOPPING_PERFORMANCE_MAX = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/multiplier_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/multiplier_error.proto new file mode 100644 index 000000000..77fec1f60 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/multiplier_error.proto @@ -0,0 +1,78 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MultiplierErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing multiplier errors. + +// Container for enum describing possible multiplier errors. +message MultiplierErrorEnum { + // Enum describing possible multiplier errors. + enum MultiplierError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Multiplier value is too high + MULTIPLIER_TOO_HIGH = 2; + + // Multiplier value is too low + MULTIPLIER_TOO_LOW = 3; + + // Too many fractional digits + TOO_MANY_FRACTIONAL_DIGITS = 4; + + // A multiplier cannot be set for this bidding strategy + MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5; + + // A multiplier cannot be set when there is no base bid (for example, + // content max cpc) + MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING = 6; + + // A bid multiplier must be specified + NO_MULTIPLIER_SPECIFIED = 7; + + // Multiplier causes bid to exceed daily budget + MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET = 8; + + // Multiplier causes bid to exceed monthly budget + MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET = 9; + + // Multiplier causes bid to exceed custom budget + MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET = 10; + + // Multiplier causes bid to exceed maximum allowed bid + MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID = 11; + + // Multiplier causes bid to become less than the minimum bid allowed + BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER = 12; + + // Multiplier type (cpc versus cpm) needs to match campaign's bidding + // strategy + MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/mutate_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/mutate_error.proto new file mode 100644 index 000000000..64fe1936c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/mutate_error.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MutateErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing mutate errors. + +// Container for enum describing possible mutate errors. +message MutateErrorEnum { + // Enum describing possible mutate errors. + enum MutateError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Requested resource was not found. + RESOURCE_NOT_FOUND = 3; + + // Cannot mutate the same resource twice in one request. + ID_EXISTS_IN_MULTIPLE_MUTATES = 7; + + // The field's contents don't match another field that represents the same + // data. + INCONSISTENT_FIELD_VALUES = 8; + + // Mutates are not allowed for the requested resource. + MUTATE_NOT_ALLOWED = 9; + + // The resource isn't in Google Ads. It belongs to another ads system. + RESOURCE_NOT_IN_GOOGLE_ADS = 10; + + // The resource being created already exists. + RESOURCE_ALREADY_EXISTS = 11; + + // This resource cannot be used with "validate_only". + RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY = 12; + + // This operation cannot be used with "partial_failure". + OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE = 16; + + // Attempt to write to read-only fields. + RESOURCE_READ_ONLY = 13; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/new_resource_creation_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/new_resource_creation_error.proto new file mode 100644 index 000000000..7b15087c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/new_resource_creation_error.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NewResourceCreationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing new resource creation errors. + +// Container for enum describing possible new resource creation errors. +message NewResourceCreationErrorEnum { + // Enum describing possible new resource creation errors. + enum NewResourceCreationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Do not set the id field while creating new resources. + CANNOT_SET_ID_FOR_CREATE = 2; + + // Creating more than one resource with the same temp ID is not allowed. + DUPLICATE_TEMP_IDS = 3; + + // Parent resource with specified temp ID failed validation, so no + // validation will be done for this child resource. + TEMP_ID_RESOURCE_HAD_ERRORS = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/not_allowlisted_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/not_allowlisted_error.proto new file mode 100644 index 000000000..1cab5cd9b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/not_allowlisted_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotAllowlistedErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing not allowlisted errors. + +// Container for enum describing possible not allowlisted errors. +message NotAllowlistedErrorEnum { + // Enum describing possible not allowlisted errors. + enum NotAllowlistedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer is not allowlisted for accessing this feature. + CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/not_empty_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/not_empty_error.proto new file mode 100644 index 000000000..21713651d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/not_empty_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotEmptyErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing not empty errors. + +// Container for enum describing possible not empty errors. +message NotEmptyErrorEnum { + // Enum describing possible not empty errors. + enum NotEmptyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Empty list. + EMPTY_LIST = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/null_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/null_error.proto new file mode 100644 index 000000000..c2d9de54e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/null_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NullErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing null errors. + +// Container for enum describing possible null errors. +message NullErrorEnum { + // Enum describing possible null errors. + enum NullError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Specified list/container must not contain any null elements + NULL_CONTENT = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/offline_user_data_job_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/offline_user_data_job_error.proto new file mode 100644 index 000000000..35aa1a8d8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/offline_user_data_job_error.proto @@ -0,0 +1,171 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing offline user data job errors. + +// Container for enum describing possible offline user data job errors. +message OfflineUserDataJobErrorEnum { + // Enum describing possible request errors. + enum OfflineUserDataJobError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The user list ID provided for the job is invalid. + INVALID_USER_LIST_ID = 3; + + // Type of the user list is not applicable for the job. + INVALID_USER_LIST_TYPE = 4; + + // Customer is not allowisted for using user ID in upload data. + NOT_ON_ALLOWLIST_FOR_USER_ID = 33; + + // Upload data is not compatible with the upload key type of the associated + // user list. + INCOMPATIBLE_UPLOAD_KEY_TYPE = 6; + + // The user identifier is missing valid data. + MISSING_USER_IDENTIFIER = 7; + + // The mobile ID is malformed. + INVALID_MOBILE_ID_FORMAT = 8; + + // Maximum number of user identifiers allowed per request is 100,000 and per + // operation is 20. + TOO_MANY_USER_IDENTIFIERS = 9; + + // Customer is not on the allow-list for store sales direct data. + NOT_ON_ALLOWLIST_FOR_STORE_SALES_DIRECT = 31; + + // Customer is not on the allow-list for unified store sales data. + NOT_ON_ALLOWLIST_FOR_UNIFIED_STORE_SALES = 32; + + // The partner ID in store sales direct metadata is invalid. + INVALID_PARTNER_ID = 11; + + // The data in user identifier should not be encoded. + INVALID_ENCODING = 12; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 13; + + // Incompatible user identifier when using third_party_user_id for store + // sales direct first party data or not using third_party_user_id for store + // sales third party data. + INCOMPATIBLE_USER_IDENTIFIER = 14; + + // A transaction time in the future is not allowed. + FUTURE_TRANSACTION_TIME = 15; + + // The conversion_action specified in transaction_attributes is used to + // report conversions to a conversion action configured in Google Ads. This + // error indicates there is no such conversion action in the account. + INVALID_CONVERSION_ACTION = 16; + + // Mobile ID is not supported for store sales direct data. + MOBILE_ID_NOT_SUPPORTED = 17; + + // When a remove-all operation is provided, it has to be the first operation + // of the operation list. + INVALID_OPERATION_ORDER = 18; + + // Mixing creation and removal of offline data in the same job is not + // allowed. + CONFLICTING_OPERATION = 19; + + // The external update ID already exists. + EXTERNAL_UPDATE_ID_ALREADY_EXISTS = 21; + + // Once the upload job is started, new operations cannot be added. + JOB_ALREADY_STARTED = 22; + + // Remove operation is not allowed for store sales direct updates. + REMOVE_NOT_SUPPORTED = 23; + + // Remove-all is not supported for certain offline user data job types. + REMOVE_ALL_NOT_SUPPORTED = 24; + + // The SHA256 encoded value is malformed. + INVALID_SHA256_FORMAT = 25; + + // The custom key specified is not enabled for the unified store sales + // upload. + CUSTOM_KEY_DISABLED = 26; + + // The custom key specified is not predefined through the Google Ads UI. + CUSTOM_KEY_NOT_PREDEFINED = 27; + + // The custom key specified is not set in the upload. + CUSTOM_KEY_NOT_SET = 29; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 30; + + // User attributes cannot be uploaded into a user list. + ATTRIBUTES_NOT_APPLICABLE_FOR_CUSTOMER_MATCH_USER_LIST = 34; + + // Lifetime bucket value must be a number from 0 to 10; 0 is only accepted + // for remove operations + LIFETIME_VALUE_BUCKET_NOT_IN_RANGE = 35; + + // Identifiers not supported for Customer Match attributes. User attributes + // can only be provided with contact info (email, phone, address) user + // identifiers. + INCOMPATIBLE_USER_IDENTIFIER_FOR_ATTRIBUTES = 36; + + // A time in the future is not allowed. + FUTURE_TIME_NOT_ALLOWED = 37; + + // Last purchase date time cannot be less than acquisition date time. + LAST_PURCHASE_TIME_LESS_THAN_ACQUISITION_TIME = 38; + + // Only emails are accepted as user identifiers for shopping loyalty match. + // {-- api.dev/not-precedent: The identifier is not limited to ids, but + // also include other user info eg. phone numbers.} + CUSTOMER_IDENTIFIER_NOT_ALLOWED = 39; + + // Provided item ID is invalid. + INVALID_ITEM_ID = 40; + + // First purchase date time cannot be greater than the last purchase date + // time. + FIRST_PURCHASE_TIME_GREATER_THAN_LAST_PURCHASE_TIME = 42; + + // Provided lifecycle stage is invalid. + INVALID_LIFECYCLE_STAGE = 43; + + // The event value of the Customer Match user attribute is invalid. + INVALID_EVENT_VALUE = 44; + + // All the fields are not present in the EventAttribute of the Customer + // Match. + EVENT_ATTRIBUTE_ALL_FIELDS_ARE_REQUIRED = 45; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/operation_access_denied_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/operation_access_denied_error.proto new file mode 100644 index 000000000..8dfaa6755 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/operation_access_denied_error.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperationAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing operation access denied errors. + +// Container for enum describing possible operation access denied errors. +message OperationAccessDeniedErrorEnum { + // Enum describing possible operation access denied errors. + enum OperationAccessDeniedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Unauthorized invocation of a service's method (get, mutate, etc.) + ACTION_NOT_PERMITTED = 2; + + // Unauthorized CREATE operation in invoking a service's mutate method. + CREATE_OPERATION_NOT_PERMITTED = 3; + + // Unauthorized REMOVE operation in invoking a service's mutate method. + REMOVE_OPERATION_NOT_PERMITTED = 4; + + // Unauthorized UPDATE operation in invoking a service's mutate method. + UPDATE_OPERATION_NOT_PERMITTED = 5; + + // A mutate action is not allowed on this resource, from this client. + MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT = 6; + + // This operation is not permitted on this campaign type + OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE = 7; + + // A CREATE operation may not set status to REMOVED. + CREATE_AS_REMOVED_NOT_PERMITTED = 8; + + // This operation is not allowed because the resource is removed. + OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 9; + + // This operation is not permitted on this ad group type. + OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE = 10; + + // The mutate is not allowed for this customer. + MUTATE_NOT_PERMITTED_FOR_CUSTOMER = 11; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/operator_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/operator_error.proto new file mode 100644 index 000000000..3fd40f90e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/operator_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperatorErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing operator errors. + +// Container for enum describing possible operator errors. +message OperatorErrorEnum { + // Enum describing possible operator errors. + enum OperatorError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Operator not supported. + OPERATOR_NOT_SUPPORTED = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/partial_failure_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/partial_failure_error.proto new file mode 100644 index 000000000..3f3b60c0c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/partial_failure_error.proto @@ -0,0 +1,44 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PartialFailureErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing partial failure errors. + +// Container for enum describing possible partial failure errors. +message PartialFailureErrorEnum { + // Enum describing possible partial failure errors. + enum PartialFailureError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The partial failure field was false in the request. + // This method requires this field be set to true. + PARTIAL_FAILURE_MODE_REQUIRED = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/payments_account_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/payments_account_error.proto new file mode 100644 index 000000000..5fbdfbdfb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/payments_account_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing payments account service errors. + +// Container for enum describing possible errors in payments account service. +message PaymentsAccountErrorEnum { + // Enum describing possible errors in payments account service. + enum PaymentsAccountError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Manager customers are not supported for payments account service. + NOT_SUPPORTED_FOR_MANAGER_CUSTOMER = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/policy_finding_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/policy_finding_error.proto new file mode 100644 index 000000000..4ffa79c7f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/policy_finding_error.proto @@ -0,0 +1,47 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyFindingErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing policy finding errors. + +// Container for enum describing possible policy finding errors. +message PolicyFindingErrorEnum { + // Enum describing possible policy finding errors. + enum PolicyFindingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The resource has been disapproved since the policy summary includes + // policy topics of type PROHIBITED. + POLICY_FINDING = 2; + + // The given policy topic does not exist. + POLICY_TOPIC_NOT_FOUND = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/policy_validation_parameter_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/policy_validation_parameter_error.proto new file mode 100644 index 000000000..2b0ab0404 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/policy_validation_parameter_error.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyValidationParameterErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing policy validation parameter errors. + +// Container for enum describing possible policy validation parameter errors. +message PolicyValidationParameterErrorEnum { + // Enum describing possible policy validation parameter errors. + enum PolicyValidationParameterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Ignorable policy topics are not supported for the ad type. + UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS = 2; + + // Exempt policy violation keys are not supported for the ad type. + UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS = 3; + + // Cannot set ignorable policy topics and exempt policy violation keys in + // the same policy violation parameter. + CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS = + 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/policy_violation_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/policy_violation_error.proto new file mode 100644 index 000000000..f80a62b2c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/policy_violation_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyViolationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing policy violation errors. + +// Container for enum describing possible policy violation errors. +message PolicyViolationErrorEnum { + // Enum describing possible policy violation errors. + enum PolicyViolationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A policy was violated. See PolicyViolationDetails for more detail. + POLICY_ERROR = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/product_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/product_link_error.proto new file mode 100644 index 000000000..3f225368c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/product_link_error.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ProductLink errors. + +// Container for enum describing possible ProductLink errors. +message ProductLinkErrorEnum { + // Enum describing possible ProductLink errors. + enum ProductLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested operation is invalid. For example, you are not allowed to + // remove a link from a partner account. + INVALID_OPERATION = 2; + + // The creation request is not permitted. + CREATION_NOT_PERMITTED = 3; + + // A link cannot be created because a pending link already exists. + INVITATION_EXISTS = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/product_link_invitation_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/product_link_invitation_error.proto new file mode 100644 index 000000000..83ec7284c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/product_link_invitation_error.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ProductLinkInvitation errors. + +// Container for enum describing possible product link invitation errors. +message ProductLinkInvitationErrorEnum { + // Enum describing possible product link invitation errors. + enum ProductLinkInvitationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in the version. + UNKNOWN = 1; + + // The invitation status is invalid. + INVALID_STATUS = 2; + + // The customer doesn't have the permission to perform this action + PERMISSION_DENIED = 3; + + // An invitation could not be created, since the user already has admin + // access to the invited account. Use the ProductLinkService to directly + // create an active link. + NO_INVITATION_REQUIRED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/query_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/query_error.proto new file mode 100644 index 000000000..53d5a12cb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/query_error.proto @@ -0,0 +1,223 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QueryErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing query errors. + +// Container for enum describing possible query errors. +message QueryErrorEnum { + // Enum describing possible query errors. + enum QueryError { + // Name unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Returned if all other query error reasons are not applicable. + QUERY_ERROR = 50; + + // A condition used in the query references an invalid enum constant. + BAD_ENUM_CONSTANT = 18; + + // Query contains an invalid escape sequence. + BAD_ESCAPE_SEQUENCE = 7; + + // Field name is invalid. + BAD_FIELD_NAME = 12; + + // Limit value is invalid (for example, not a number) + BAD_LIMIT_VALUE = 15; + + // Encountered number can not be parsed. + BAD_NUMBER = 5; + + // Invalid operator encountered. + BAD_OPERATOR = 3; + + // Parameter unknown or not supported. + BAD_PARAMETER_NAME = 61; + + // Parameter have invalid value. + BAD_PARAMETER_VALUE = 62; + + // Invalid resource type was specified in the FROM clause. + BAD_RESOURCE_TYPE_IN_FROM_CLAUSE = 45; + + // Non-ASCII symbol encountered outside of strings. + BAD_SYMBOL = 2; + + // Value is invalid. + BAD_VALUE = 4; + + // Date filters fail to restrict date to a range smaller than 31 days. + // Applicable if the query is segmented by date. + DATE_RANGE_TOO_WIDE = 36; + + // Filters on date/week/month/quarter have a start date after + // end date. + DATE_RANGE_TOO_NARROW = 60; + + // Expected AND between values with BETWEEN operator. + EXPECTED_AND = 30; + + // Expecting ORDER BY to have BY. + EXPECTED_BY = 14; + + // There was no dimension field selected. + EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE = 37; + + // Missing filters on date related fields. + EXPECTED_FILTERS_ON_DATE_RANGE = 55; + + // Missing FROM clause. + EXPECTED_FROM = 44; + + // The operator used in the conditions requires the value to be a list. + EXPECTED_LIST = 41; + + // Fields used in WHERE or ORDER BY clauses are missing from the SELECT + // clause. + EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE = 16; + + // SELECT is missing at the beginning of query. + EXPECTED_SELECT = 13; + + // A list was passed as a value to a condition whose operator expects a + // single value. + EXPECTED_SINGLE_VALUE = 42; + + // Missing one or both values with BETWEEN operator. + EXPECTED_VALUE_WITH_BETWEEN_OPERATOR = 29; + + // Invalid date format. Expected 'YYYY-MM-DD'. + INVALID_DATE_FORMAT = 38; + + // Misaligned date value for the filter. The date should be the start of a + // week/month/quarter if the filtered field is + // segments.week/segments.month/segments.quarter. + MISALIGNED_DATE_FOR_FILTER = 64; + + // Value passed was not a string when it should have been. For example, it + // was a number or unquoted literal. + INVALID_STRING_VALUE = 57; + + // A String value passed to the BETWEEN operator does not parse as a date. + INVALID_VALUE_WITH_BETWEEN_OPERATOR = 26; + + // The value passed to the DURING operator is not a Date range literal + INVALID_VALUE_WITH_DURING_OPERATOR = 22; + + // An invalid value was passed to the LIKE operator. + INVALID_VALUE_WITH_LIKE_OPERATOR = 56; + + // An operator was provided that is inapplicable to the field being + // filtered. + OPERATOR_FIELD_MISMATCH = 35; + + // A Condition was found with an empty list. + PROHIBITED_EMPTY_LIST_IN_CONDITION = 28; + + // A condition used in the query references an unsupported enum constant. + PROHIBITED_ENUM_CONSTANT = 54; + + // Fields that are not allowed to be selected together were included in + // the SELECT clause. + PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE = 31; + + // A field that is not orderable was included in the ORDER BY clause. + PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE = 40; + + // A field that is not selectable was included in the SELECT clause. + PROHIBITED_FIELD_IN_SELECT_CLAUSE = 23; + + // A field that is not filterable was included in the WHERE clause. + PROHIBITED_FIELD_IN_WHERE_CLAUSE = 24; + + // Resource type specified in the FROM clause is not supported by this + // service. + PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE = 43; + + // A field that comes from an incompatible resource was included in the + // SELECT clause. + PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE = 48; + + // A field that comes from an incompatible resource was included in the + // WHERE clause. + PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE = 58; + + // A metric incompatible with the main resource or other selected + // segmenting resources was included in the SELECT or WHERE clause. + PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 49; + + // A segment incompatible with the main resource or other selected + // segmenting resources was included in the SELECT or WHERE clause. + PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE = 51; + + // A segment in the SELECT clause is incompatible with a metric in the + // SELECT or WHERE clause. + PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 53; + + // The value passed to the limit clause is too low. + LIMIT_VALUE_TOO_LOW = 25; + + // Query has a string containing a newline character. + PROHIBITED_NEWLINE_IN_STRING = 8; + + // List contains values of different types. + PROHIBITED_VALUE_COMBINATION_IN_LIST = 10; + + // The values passed to the BETWEEN operator are not of the same type. + PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR = 21; + + // Query contains unterminated string. + STRING_NOT_TERMINATED = 6; + + // Too many segments are specified in SELECT clause. + TOO_MANY_SEGMENTS = 34; + + // Query is incomplete and cannot be parsed. + UNEXPECTED_END_OF_QUERY = 9; + + // FROM clause cannot be specified in this query. + UNEXPECTED_FROM_CLAUSE = 47; + + // Query contains one or more unrecognized fields. + UNRECOGNIZED_FIELD = 32; + + // Query has an unexpected extra part. + UNEXPECTED_INPUT = 11; + + // Metrics cannot be requested for a manager account. To retrieve metrics, + // issue separate requests against each client account under the manager + // account. + REQUESTED_METRICS_FOR_MANAGER = 59; + + // The number of values (right-hand-side operands) in a filter exceeds the + // limit. + FILTER_HAS_TOO_MANY_VALUES = 63; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/quota_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/quota_error.proto new file mode 100644 index 000000000..0ba1331c5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/quota_error.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QuotaErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing quota errors. + +// Container for enum describing possible quota errors. +message QuotaErrorEnum { + // Enum describing possible quota errors. + enum QuotaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too many requests. + RESOURCE_EXHAUSTED = 2; + + // Access is prohibited. + ACCESS_PROHIBITED = 3; + + // Too many requests in a short amount of time. + RESOURCE_TEMPORARILY_EXHAUSTED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/range_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/range_error.proto new file mode 100644 index 000000000..f5fb6bb59 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/range_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RangeErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing range errors. + +// Container for enum describing possible range errors. +message RangeErrorEnum { + // Enum describing possible range errors. + enum RangeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too low. + TOO_LOW = 2; + + // Too high. + TOO_HIGH = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/reach_plan_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/reach_plan_error.proto new file mode 100644 index 000000000..e0420fc48 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/reach_plan_error.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors generated from ReachPlanService. + +// Container for enum describing possible errors returned from +// the ReachPlanService. +message ReachPlanErrorEnum { + // Enum describing possible errors from ReachPlanService. + enum ReachPlanError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Not forecastable due to missing rate card data. + NOT_FORECASTABLE_MISSING_RATE = 2; + + // Not forecastable due to not enough inventory. + NOT_FORECASTABLE_NOT_ENOUGH_INVENTORY = 3; + + // Not forecastable due to account not being enabled. + NOT_FORECASTABLE_ACCOUNT_NOT_ENABLED = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/recommendation_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/recommendation_error.proto new file mode 100644 index 000000000..dc05865dd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/recommendation_error.proto @@ -0,0 +1,102 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors from applying a recommendation. + +// Container for enum describing possible errors from applying a recommendation. +message RecommendationErrorEnum { + // Enum describing possible errors from applying a recommendation. + enum RecommendationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified budget amount is too low for example, lower than minimum + // currency unit or lower than ad group minimum cost-per-click. + BUDGET_AMOUNT_TOO_SMALL = 2; + + // The specified budget amount is too large. + BUDGET_AMOUNT_TOO_LARGE = 3; + + // The specified budget amount is not a valid amount, for example, not a + // multiple of minimum currency unit. + INVALID_BUDGET_AMOUNT = 4; + + // The specified keyword or ad violates ad policy. + POLICY_ERROR = 5; + + // The specified bid amount is not valid, for example, too many fractional + // digits, or negative amount. + INVALID_BID_AMOUNT = 6; + + // The number of keywords in ad group have reached the maximum allowed. + ADGROUP_KEYWORD_LIMIT = 7; + + // The recommendation requested to apply has already been applied. + RECOMMENDATION_ALREADY_APPLIED = 8; + + // The recommendation requested to apply has been invalidated. + RECOMMENDATION_INVALIDATED = 9; + + // The number of operations in a single request exceeds the maximum allowed. + TOO_MANY_OPERATIONS = 10; + + // There are no operations in the request. + NO_OPERATIONS = 11; + + // Operations with multiple recommendation types are not supported when + // partial failure mode is not enabled. + DIFFERENT_TYPES_NOT_SUPPORTED = 12; + + // Request contains multiple operations with the same resource_name. + DUPLICATE_RESOURCE_NAME = 13; + + // The recommendation requested to dismiss has already been dismissed. + RECOMMENDATION_ALREADY_DISMISSED = 14; + + // The recommendation apply request was malformed and invalid. + INVALID_APPLY_REQUEST = 15; + + // The type of recommendation requested to apply is not supported. + RECOMMENDATION_TYPE_APPLY_NOT_SUPPORTED = 17; + + // The target multiplier specified is invalid. + INVALID_MULTIPLIER = 18; + + // The passed in advertising_channel_type is not supported. + ADVERTISING_CHANNEL_TYPE_GENERATE_NOT_SUPPORTED = 19; + + // The passed in recommendation_type is not supported. + RECOMMENDATION_TYPE_GENERATE_NOT_SUPPORTED = 20; + + // One or more recommendation_types need to be passed into the generate + // recommendations request. + RECOMMENDATION_TYPES_CANNOT_BE_EMPTY = 21; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/recommendation_subscription_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/recommendation_subscription_error.proto new file mode 100644 index 000000000..e788ec4dd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/recommendation_subscription_error.proto @@ -0,0 +1,40 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationSubscriptionErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing errors for a recommendation subscription. + +// Container for enum describing possible recommendation subscription errors. +message RecommendationSubscriptionErrorEnum { + // Enum describing possible recommendation subscription errors. + enum RecommendationSubscriptionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/region_code_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/region_code_error.proto new file mode 100644 index 000000000..737dad83f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/region_code_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RegionCodeErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing region code errors. + +// Container for enum describing possible region code errors. +message RegionCodeErrorEnum { + // Enum describing possible region code errors. + enum RegionCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid region code. + INVALID_REGION_CODE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/request_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/request_error.proto new file mode 100644 index 000000000..326f6be88 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/request_error.proto @@ -0,0 +1,125 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RequestErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing request errors. + +// Container for enum describing possible request errors. +message RequestErrorEnum { + // Enum describing possible request errors. + enum RequestError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Resource name is required for this request. + RESOURCE_NAME_MISSING = 3; + + // Resource name provided is malformed. + RESOURCE_NAME_MALFORMED = 4; + + // Resource name provided is malformed. + BAD_RESOURCE_ID = 17; + + // Customer ID is invalid. + INVALID_CUSTOMER_ID = 16; + + // Mutate operation should have either create, update, or remove specified. + OPERATION_REQUIRED = 5; + + // Requested resource not found. + RESOURCE_NOT_FOUND = 6; + + // Next page token specified in user request is invalid. + INVALID_PAGE_TOKEN = 7; + + // Next page token specified in user request has expired. + EXPIRED_PAGE_TOKEN = 8; + + // Page size specified in user request is invalid. + INVALID_PAGE_SIZE = 22; + + // Setting the page size is not supported, and will be unavailable in a + // future version. + PAGE_SIZE_NOT_SUPPORTED = 40; + + // Required field is missing. + REQUIRED_FIELD_MISSING = 9; + + // The field cannot be modified because it's immutable. It's also possible + // that the field can be modified using 'create' operation but not 'update'. + IMMUTABLE_FIELD = 11; + + // Received too many entries in request. + TOO_MANY_MUTATE_OPERATIONS = 13; + + // Request cannot be executed by a manager account. + CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT = 14; + + // Mutate request was attempting to modify a readonly field. + // For instance, Budget fields can be requested for Ad Group, + // but are read-only for adGroups:mutate. + CANNOT_MODIFY_FOREIGN_FIELD = 15; + + // Enum value is not permitted. + INVALID_ENUM_VALUE = 18; + + // The developer-token parameter is required for all requests. + DEVELOPER_TOKEN_PARAMETER_MISSING = 19; + + // The login-customer-id parameter is required for this request. + LOGIN_CUSTOMER_ID_PARAMETER_MISSING = 20; + + // page_token is set in the validate only request + VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN = 21; + + // return_summary_row cannot be enabled if request did not select any + // metrics field. + CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS = 29; + + // return_summary_row should not be enabled for validate only requests. + CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS = 30; + + // return_summary_row parameter value should be the same between requests + // with page_token field set and their original request. + INCONSISTENT_RETURN_SUMMARY_ROW_VALUE = 31; + + // The total results count cannot be returned if it was not requested in the + // original request. + TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED = 32; + + // Deadline specified by the client was too short. + RPC_DEADLINE_TOO_SHORT = 33; + + // This API version has been sunset and is no longer supported. + UNSUPPORTED_VERSION = 38; + + // The Google Cloud project in the request was not found. + CLOUD_PROJECT_NOT_FOUND = 39; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/resource_access_denied_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/resource_access_denied_error.proto new file mode 100644 index 000000000..253050135 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/resource_access_denied_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing resource access denied errors. + +// Container for enum describing possible resource access denied errors. +message ResourceAccessDeniedErrorEnum { + // Enum describing possible resource access denied errors. + enum ResourceAccessDeniedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // User did not have write access. + WRITE_ACCESS_DENIED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/resource_count_limit_exceeded_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/resource_count_limit_exceeded_error.proto new file mode 100644 index 000000000..99e70c365 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/resource_count_limit_exceeded_error.proto @@ -0,0 +1,89 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceCountLimitExceededErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing resource count limit exceeded errors. + +// Container for enum describing possible resource count limit exceeded errors. +message ResourceCountLimitExceededErrorEnum { + // Enum describing possible resource count limit exceeded errors. + enum ResourceCountLimitExceededError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Indicates that this request would exceed the number of allowed resources + // for the Google Ads account. The exact resource type and limit being + // checked can be inferred from accountLimitType. + ACCOUNT_LIMIT = 2; + + // Indicates that this request would exceed the number of allowed resources + // in a Campaign. The exact resource type and limit being checked can be + // inferred from accountLimitType, and the numeric id of the + // Campaign involved is given by enclosingId. + CAMPAIGN_LIMIT = 3; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group. The exact resource type and limit being checked can be + // inferred from accountLimitType, and the numeric id of the + // ad group involved is given by enclosingId. + ADGROUP_LIMIT = 4; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group ad. The exact resource type and limit being checked can + // be inferred from accountLimitType, and the enclosingId + // contains the ad group id followed by the ad id, separated by a single + // comma (,). + AD_GROUP_AD_LIMIT = 5; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group criterion. The exact resource type and limit being checked + // can be inferred from accountLimitType, and the + // enclosingId contains the ad group id followed by the + // criterion id, separated by a single comma (,). + AD_GROUP_CRITERION_LIMIT = 6; + + // Indicates that this request would exceed the number of allowed resources + // in this shared set. The exact resource type and limit being checked can + // be inferred from accountLimitType, and the numeric id of the + // shared set involved is given by enclosingId. + SHARED_SET_LIMIT = 7; + + // Exceeds a limit related to a matching function. + MATCHING_FUNCTION_LIMIT = 8; + + // The response for this request would exceed the maximum number of rows + // that can be returned. + RESPONSE_ROW_LIMIT_EXCEEDED = 9; + + // This request would exceed a limit on the number of allowed resources. + // The details of which type of limit was exceeded will eventually be + // returned in ErrorDetails. + RESOURCE_LIMIT = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/search_term_insight_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/search_term_insight_error.proto new file mode 100644 index 000000000..6cece887a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/search_term_insight_error.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermInsightErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing search term insight errors. + +// Container for enum describing possible search term insight errors. +message SearchTermInsightErrorEnum { + // Enum describing possible search term insight errors. + enum SearchTermInsightError { + // Name unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Search term insights cannot be filtered by metrics when segmenting. + FILTERING_NOT_ALLOWED_WITH_SEGMENTS = 2; + + // Search term insights cannot have a LIMIT when segmenting. + LIMIT_NOT_ALLOWED_WITH_SEGMENTS = 3; + + // A selected field requires another field to be selected with it. + MISSING_FIELD_IN_SELECT_CLAUSE = 4; + + // A selected field/resource requires filtering by a single resource. + REQUIRES_FILTER_BY_SINGLE_RESOURCE = 5; + + // Search term insights cannot be sorted when segmenting. + SORTING_NOT_ALLOWED_WITH_SEGMENTS = 6; + + // Search term insights cannot have a summary row when segmenting. + SUMMARY_ROW_NOT_ALLOWED_WITH_SEGMENTS = 7; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/setting_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/setting_error.proto new file mode 100644 index 000000000..3087bd63a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/setting_error.proto @@ -0,0 +1,88 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SettingErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing setting errors. + +// Container for enum describing possible setting errors. +message SettingErrorEnum { + // Enum describing possible setting errors. + enum SettingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The campaign setting is not available for this Google Ads account. + SETTING_TYPE_IS_NOT_AVAILABLE = 3; + + // The setting is not compatible with the campaign. + SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4; + + // The supplied TargetingSetting contains an invalid CriterionTypeGroup. See + // CriterionTypeGroup documentation for CriterionTypeGroups allowed + // in Campaign or AdGroup TargetingSettings. + TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5; + + // TargetingSetting must not explicitly + // set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, + // PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in + // which case the system will set them to true automatically). + TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = + 6; + + // TargetingSetting cannot change any of + // the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, + // INCOME_RANGE) from true to false. + TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = + 7; + + // At least one feed id should be present. + DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8; + + // The supplied DynamicSearchAdsSetting contains an invalid domain name. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9; + + // The supplied DynamicSearchAdsSetting contains a subdomain name. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10; + + // The supplied DynamicSearchAdsSetting contains an invalid language code. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11; + + // TargetingSettings in search campaigns should not have + // CriterionTypeGroup.PLACEMENT set to targetAll. + TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12; + + // The setting value is not compatible with the campaign type. + SETTING_VALUE_NOT_COMPATIBLE_WITH_CAMPAIGN = 20; + + // Switching from observation setting to targeting setting is not allowed + // for Customer Match lists. See + // https://support.google.com/google-ads/answer/6299717. + BID_ONLY_IS_NOT_ALLOWED_TO_BE_MODIFIED_WITH_CUSTOMER_MATCH_TARGETING = 21; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/shared_criterion_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/shared_criterion_error.proto new file mode 100644 index 000000000..874041e82 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/shared_criterion_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing shared criterion errors. + +// Container for enum describing possible shared criterion errors. +message SharedCriterionErrorEnum { + // Enum describing possible shared criterion errors. + enum SharedCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The criterion is not appropriate for the shared set type. + CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/shared_set_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/shared_set_error.proto new file mode 100644 index 000000000..bef6338e0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/shared_set_error.proto @@ -0,0 +1,52 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing shared set errors. + +// Container for enum describing possible shared set errors. +message SharedSetErrorEnum { + // Enum describing possible shared set errors. + enum SharedSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer cannot create this type of shared set. + CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2; + + // A shared set with this name already exists. + DUPLICATE_NAME = 3; + + // Removed shared sets cannot be mutated. + SHARED_SET_REMOVED = 4; + + // The shared set cannot be removed because it is in use. + SHARED_SET_IN_USE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/size_limit_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/size_limit_error.proto new file mode 100644 index 000000000..c696e54c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/size_limit_error.proto @@ -0,0 +1,48 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SizeLimitErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing size limit errors. + +// Container for enum describing possible size limit errors. +message SizeLimitErrorEnum { + // Enum describing possible size limit errors. + enum SizeLimitError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The number of entries in the request exceeds the system limit, or the + // contents of the operations exceed transaction limits due to their size + // or complexity. Try reducing the number of entries per request. + REQUEST_SIZE_LIMIT_EXCEEDED = 2; + + // The number of entries in the response exceeds the system limit. + RESPONSE_SIZE_LIMIT_EXCEEDED = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/smart_campaign_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/smart_campaign_error.proto new file mode 100644 index 000000000..205cd1436 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/smart_campaign_error.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing Smart campaign errors. + +// Container for enum describing possible Smart campaign errors. +message SmartCampaignErrorEnum { + // Enum describing possible Smart campaign errors. + enum SmartCampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The business location id is invalid. + INVALID_BUSINESS_LOCATION_ID = 2; + + // The SmartCampaignSetting resource is only applicable for campaigns + // with advertising channel type SMART. + INVALID_CAMPAIGN = 3; + + // The business name or business location id is required. + BUSINESS_NAME_OR_BUSINESS_LOCATION_ID_MISSING = 4; + + // A Smart campaign suggestion request field is required. + REQUIRED_SUGGESTION_FIELD_MISSING = 5; + + // A location list or proximity is required. + GEO_TARGETS_REQUIRED = 6; + + // The locale could not be determined. + CANNOT_DETERMINE_SUGGESTION_LOCALE = 7; + + // The final URL could not be crawled. + FINAL_URL_NOT_CRAWLABLE = 8; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/string_format_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/string_format_error.proto new file mode 100644 index 000000000..cbca3cb83 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/string_format_error.proto @@ -0,0 +1,46 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringFormatErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing string format errors. + +// Container for enum describing possible string format errors. +message StringFormatErrorEnum { + // Enum describing possible string format errors. + enum StringFormatError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The input string value contains disallowed characters. + ILLEGAL_CHARS = 2; + + // The input string value is invalid for the associated field. + INVALID_FORMAT = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/string_length_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/string_length_error.proto new file mode 100644 index 000000000..66db8dd40 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/string_length_error.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringLengthErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing string length errors. + +// Container for enum describing possible string length errors. +message StringLengthErrorEnum { + // Enum describing possible string length errors. + enum StringLengthError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified field should have a least one non-whitespace character in + // it. + EMPTY = 4; + + // Too short. + TOO_SHORT = 2; + + // Too long. + TOO_LONG = 3; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/third_party_app_analytics_link_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/third_party_app_analytics_link_error.proto new file mode 100644 index 000000000..1c27266ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/third_party_app_analytics_link_error.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing ThirdPartyAppAnalyticsLink errors. + +// Container for enum describing possible third party app analytics link errors. +message ThirdPartyAppAnalyticsLinkErrorEnum { + // Enum describing possible third party app analytics link errors. + enum ThirdPartyAppAnalyticsLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The provided analytics provider ID is invalid. + INVALID_ANALYTICS_PROVIDER_ID = 2; + + // The provided mobile app ID is invalid. + INVALID_MOBILE_APP_ID = 3; + + // The mobile app corresponding to the provided app ID is not + // active/enabled. + MOBILE_APP_IS_NOT_ENABLED = 4; + + // Regenerating shareable link ID is only allowed on active links + CANNOT_REGENERATE_SHAREABLE_LINK_ID_FOR_REMOVED_LINK = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/time_zone_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/time_zone_error.proto new file mode 100644 index 000000000..a717f9d4c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/time_zone_error.proto @@ -0,0 +1,43 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "TimeZoneErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing time zone errors. + +// Container for enum describing possible time zone errors. +message TimeZoneErrorEnum { + // Enum describing possible currency code errors. + enum TimeZoneError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Time zone is not valid. + INVALID_TIME_ZONE = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/url_field_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/url_field_error.proto new file mode 100644 index 000000000..247c4b4c3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/url_field_error.proto @@ -0,0 +1,214 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UrlFieldErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing url field errors. + +// Container for enum describing possible url field errors. +message UrlFieldErrorEnum { + // Enum describing possible url field errors. + enum UrlFieldError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The tracking url template is invalid. + INVALID_TRACKING_URL_TEMPLATE = 2; + + // The tracking url template contains invalid tag. + INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3; + + // The tracking url template must contain at least one tag (for example, + // {lpurl}), This applies only to tracking url template associated with + // website ads or product ads. + MISSING_TRACKING_URL_TEMPLATE_TAG = 4; + + // The tracking url template must start with a valid protocol (or lpurl + // tag). + MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 5; + + // The tracking url template starts with an invalid protocol. + INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 6; + + // The tracking url template contains illegal characters. + MALFORMED_TRACKING_URL_TEMPLATE = 7; + + // The tracking url template must contain a host name (or lpurl tag). + MISSING_HOST_IN_TRACKING_URL_TEMPLATE = 8; + + // The tracking url template has an invalid or missing top level domain + // extension. + INVALID_TLD_IN_TRACKING_URL_TEMPLATE = 9; + + // The tracking url template contains nested occurrences of the same + // conditional tag (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG = 10; + + // The final url is invalid. + INVALID_FINAL_URL = 11; + + // The final url contains invalid tag. + INVALID_TAG_IN_FINAL_URL = 12; + + // The final url contains nested occurrences of the same conditional tag + // (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_FINAL_URL_TAG = 13; + + // The final url must start with a valid protocol. + MISSING_PROTOCOL_IN_FINAL_URL = 14; + + // The final url starts with an invalid protocol. + INVALID_PROTOCOL_IN_FINAL_URL = 15; + + // The final url contains illegal characters. + MALFORMED_FINAL_URL = 16; + + // The final url must contain a host name. + MISSING_HOST_IN_FINAL_URL = 17; + + // The tracking url template has an invalid or missing top level domain + // extension. + INVALID_TLD_IN_FINAL_URL = 18; + + // The final mobile url is invalid. + INVALID_FINAL_MOBILE_URL = 19; + + // The final mobile url contains invalid tag. + INVALID_TAG_IN_FINAL_MOBILE_URL = 20; + + // The final mobile url contains nested occurrences of the same conditional + // tag (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG = 21; + + // The final mobile url must start with a valid protocol. + MISSING_PROTOCOL_IN_FINAL_MOBILE_URL = 22; + + // The final mobile url starts with an invalid protocol. + INVALID_PROTOCOL_IN_FINAL_MOBILE_URL = 23; + + // The final mobile url contains illegal characters. + MALFORMED_FINAL_MOBILE_URL = 24; + + // The final mobile url must contain a host name. + MISSING_HOST_IN_FINAL_MOBILE_URL = 25; + + // The tracking url template has an invalid or missing top level domain + // extension. + INVALID_TLD_IN_FINAL_MOBILE_URL = 26; + + // The final app url is invalid. + INVALID_FINAL_APP_URL = 27; + + // The final app url contains invalid tag. + INVALID_TAG_IN_FINAL_APP_URL = 28; + + // The final app url contains nested occurrences of the same conditional tag + // (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_FINAL_APP_URL_TAG = 29; + + // More than one app url found for the same OS type. + MULTIPLE_APP_URLS_FOR_OSTYPE = 30; + + // The OS type given for an app url is not valid. + INVALID_OSTYPE = 31; + + // The protocol given for an app url is not valid. (For example, + // "android-app://") + INVALID_PROTOCOL_FOR_APP_URL = 32; + + // The package id (app id) given for an app url is not valid. + INVALID_PACKAGE_ID_FOR_APP_URL = 33; + + // The number of url custom parameters for an resource exceeds the maximum + // limit allowed. + URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT = 34; + + // An invalid character appears in the parameter key. + INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY = 39; + + // An invalid character appears in the parameter value. + INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE = 40; + + // The url custom parameter value fails url tag validation. + INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE = 41; + + // The custom parameter contains nested occurrences of the same conditional + // tag (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG = 42; + + // The protocol (http:// or https://) is missing. + MISSING_PROTOCOL = 43; + + // Unsupported protocol in URL. Only http and https are supported. + INVALID_PROTOCOL = 52; + + // The url is invalid. + INVALID_URL = 44; + + // Destination Url is deprecated. + DESTINATION_URL_DEPRECATED = 45; + + // The url contains invalid tag. + INVALID_TAG_IN_URL = 46; + + // The url must contain at least one tag (for example, {lpurl}). + MISSING_URL_TAG = 47; + + // Duplicate url id. + DUPLICATE_URL_ID = 48; + + // Invalid url id. + INVALID_URL_ID = 49; + + // The final url suffix cannot begin with '?' or '&' characters and must be + // a valid query string. + FINAL_URL_SUFFIX_MALFORMED = 50; + + // The final url suffix cannot contain {lpurl} related or {ignore} tags. + INVALID_TAG_IN_FINAL_URL_SUFFIX = 51; + + // The top level domain is invalid, for example, not a public top level + // domain listed in publicsuffix.org. + INVALID_TOP_LEVEL_DOMAIN = 53; + + // Malformed top level domain in URL. + MALFORMED_TOP_LEVEL_DOMAIN = 54; + + // Malformed URL. + MALFORMED_URL = 55; + + // No host found in URL. + MISSING_HOST = 56; + + // Custom parameter value cannot be null. + NULL_CUSTOM_PARAMETER_VALUE = 57; + + // Track parameter is not supported. + VALUE_TRACK_PARAMETER_NOT_SUPPORTED = 58; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/user_data_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/user_data_error.proto new file mode 100644 index 000000000..e0f498950 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/user_data_error.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserDataErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing user data errors. + +// Container for enum describing possible user data errors. +message UserDataErrorEnum { + // Enum describing possible request errors. + enum UserDataError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer is not allowed to perform operations related to Customer Match. + OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED = 2; + + // Maximum number of user identifiers allowed for each request is 100 and + // for each operation is 20. + TOO_MANY_USER_IDENTIFIERS = 3; + + // Current user list is not applicable for the given customer. + USER_LIST_NOT_APPLICABLE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/user_list_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/user_list_error.proto new file mode 100644 index 000000000..51e817981 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/user_list_error.proto @@ -0,0 +1,147 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserListErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing user list errors. + +// Container for enum describing possible user list errors. +message UserListErrorEnum { + // Enum describing possible user list errors. + enum UserListError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Creating and updating external remarketing user lists is not supported. + EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2; + + // Concrete type of user list is required. + CONCRETE_TYPE_REQUIRED = 3; + + // Creating/updating user list conversion types requires specifying the + // conversion type Id. + CONVERSION_TYPE_ID_REQUIRED = 4; + + // Remarketing user list cannot have duplicate conversion types. + DUPLICATE_CONVERSION_TYPES = 5; + + // Conversion type is invalid/unknown. + INVALID_CONVERSION_TYPE = 6; + + // User list description is empty or invalid. + INVALID_DESCRIPTION = 7; + + // User list name is empty or invalid. + INVALID_NAME = 8; + + // Type of the UserList does not match. + INVALID_TYPE = 9; + + // Embedded logical user lists are not allowed. + CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10; + + // User list rule operand is invalid. + INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11; + + // Name is already being used for another user list for the account. + NAME_ALREADY_USED = 12; + + // Name is required when creating a new conversion type. + NEW_CONVERSION_TYPE_NAME_REQUIRED = 13; + + // The given conversion type name has been used. + CONVERSION_TYPE_NAME_ALREADY_USED = 14; + + // Only an owner account may edit a user list. + OWNERSHIP_REQUIRED_FOR_SET = 15; + + // Creating user list without setting type in oneof user_list field, or + // creating/updating read-only user list types is not allowed. + USER_LIST_MUTATE_NOT_SUPPORTED = 16; + + // Rule is invalid. + INVALID_RULE = 17; + + // The specified date range is empty. + INVALID_DATE_RANGE = 27; + + // A UserList which is privacy sensitive or legal rejected cannot be mutated + // by external users. + CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28; + + // Maximum number of rulebased user lists a customer can have. + MAX_NUM_RULEBASED_USERLISTS = 29; + + // BasicUserList's billable record field cannot be modified once it is set. + CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30; + + // crm_based_user_list.app_id field must be set when upload_key_type is + // MOBILE_ADVERTISING_ID. + APP_ID_NOT_SET = 31; + + // Name of the user list is reserved for system generated lists and cannot + // be used. + USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32; + + // Advertiser needs to be on the allow-list to use remarketing lists created + // from advertiser uploaded data (for example, Customer Match lists). + ADVERTISER_NOT_ON_ALLOWLIST_FOR_USING_UPLOADED_DATA = 37; + + // The provided rule_type is not supported for the user list. + RULE_TYPE_IS_NOT_SUPPORTED = 34; + + // Similar user list cannot be used as a logical user list operand. + CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND = 35; + + // Logical user list should not have a mix of CRM based user list and other + // types of lists in its rules. + CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS = 36; + + // crm_based_user_list.app_id field can only be set when upload_key_type is + // MOBILE_ADVERTISING_ID. + APP_ID_NOT_ALLOWED = 39; + + // Google system generated user lists cannot be mutated. + CANNOT_MUTATE_SYSTEM_LIST = 40; + + // The mobile app associated with the remarketing list is sensitive. + MOBILE_APP_IS_SENSITIVE = 41; + + // One or more given seed lists do not exist. + SEED_LIST_DOES_NOT_EXIST = 42; + + // One or more given seed lists are not accessible to the current user. + INVALID_SEED_LIST_ACCESS_REASON = 43; + + // One or more given seed lists have an unsupported type. + INVALID_SEED_LIST_TYPE = 44; + + // One or more invalid country codes are added to Lookalike UserList. + INVALID_COUNTRY_CODES = 45; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/errors/youtube_video_registration_error.proto b/third_party/googleapis/google/ads/googleads/v16/errors/youtube_video_registration_error.proto new file mode 100644 index 000000000..1d470b7a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/errors/youtube_video_registration_error.proto @@ -0,0 +1,49 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; +option java_package = "com.google.ads.googleads.v16.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V16::Errors"; + +// Proto file describing YouTube video registration errors. + +// Container for enum describing YouTube video registration errors. +message YoutubeVideoRegistrationErrorEnum { + // Enum describing YouTube video registration errors. + enum YoutubeVideoRegistrationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Video to be registered wasn't found. + VIDEO_NOT_FOUND = 2; + + // Video to be registered is not accessible (for example, private). + VIDEO_NOT_ACCESSIBLE = 3; + + // Video to be registered is not eligible (for example, mature content). + VIDEO_NOT_ELIGIBLE = 4; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/googleads_gapic.yaml b/third_party/googleapis/google/ads/googleads/v16/googleads_gapic.yaml new file mode 100644 index 000000000..b3a493e57 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/googleads_gapic.yaml @@ -0,0 +1,26 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +language_settings: + csharp: + package_name: Google.Ads.GoogleAds.V16.Services + go: + package_name: google.golang.org/google/ads/googleads/v16/services + java: + package_name: com.google.ads.googleads.v16.services + nodejs: + package_name: v16.services + php: + package_name: Google\Ads\GoogleAds\V16\Services + python: + package_name: google.ads.googleads_v16.gapic.services + ruby: + package_name: Google::Ads::Googleads::V16::Services +interfaces: +- name: google.ads.googleads.v16.services.OfflineUserDataJobService + methods: + - name: RunOfflineUserDataJob + long_running: + initial_poll_delay_millis: 300000 + max_poll_delay_millis: 3600000 + poll_delay_multiplier: 1.25 + total_poll_timeout_millis: 43200000 diff --git a/third_party/googleapis/google/ads/googleads/v16/googleads_grpc_service_config.json b/third_party/googleapis/google/ads/googleads/v16/googleads_grpc_service_config.json new file mode 100755 index 000000000..cd52f5927 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/googleads_grpc_service_config.json @@ -0,0 +1,351 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.ads.googleads.v16.services.AccountBudgetProposalService" + }, + { + "service": "google.ads.googleads.v16.services.AccountLinkService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupAdLabelService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupAdService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupAssetService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupAssetSetService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupBidModifierService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupCriterionCustomizerService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupCriterionLabelService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupCriterionService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupCustomizerService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupExtensionSettingService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupFeedService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupLabelService" + }, + { + "service": "google.ads.googleads.v16.services.AdGroupService" + }, + { + "service": "google.ads.googleads.v16.services.AdParameterService" + }, + { + "service": "google.ads.googleads.v16.services.AdService" + }, + { + "service": "google.ads.googleads.v16.services.AssetGroupAssetService" + }, + { + "service": "google.ads.googleads.v16.services.AssetGroupListingGroupFilterService" + }, + { + "service": "google.ads.googleads.v16.services.AssetGroupService" + }, + { + "service": "google.ads.googleads.v16.services.AssetGroupSignalService" + }, + { + "service": "google.ads.googleads.v16.services.AssetService" + }, + { + "service": "google.ads.googleads.v16.services.AssetSetAssetService" + }, + { + "service": "google.ads.googleads.v16.services.AssetSetService" + }, + { + "service": "google.ads.googleads.v16.services.AudienceInsightsService" + }, + { + "service": "google.ads.googleads.v16.services.AudienceService" + }, + { + "service": "google.ads.googleads.v16.services.BatchJobService" + }, + { + "service": "google.ads.googleads.v16.services.BiddingDataExclusionService" + }, + { + "service": "google.ads.googleads.v16.services.BiddingSeasonalityAdjustmentService" + }, + { + "service": "google.ads.googleads.v16.services.BiddingStrategyService" + }, + { + "service": "google.ads.googleads.v16.services.BillingSetupService" + }, + { + "service": "google.ads.googleads.v16.services.BrandSuggestionService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignAssetService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignAssetSetService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignBidModifierService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignBudgetService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignConversionGoalService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignCriterionService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignCustomizerService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignDraftService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignExtensionSettingService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignFeedService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignGroupService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignLabelService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignLifecycleGoalService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignService" + }, + { + "service": "google.ads.googleads.v16.services.CampaignSharedSetService" + }, + { + "service": "google.ads.googleads.v16.services.ConversionActionService" + }, + { + "service": "google.ads.googleads.v16.services.ConversionAdjustmentUploadService" + }, + { + "service": "google.ads.googleads.v16.services.ConversionCustomVariableService" + }, + { + "service": "google.ads.googleads.v16.services.ConversionGoalCampaignConfigService" + }, + { + "service": "google.ads.googleads.v16.services.ConversionUploadService" + }, + { + "service": "google.ads.googleads.v16.services.ConversionValueRuleService" + }, + { + "service": "google.ads.googleads.v16.services.ConversionValueRuleSetService" + }, + { + "service": "google.ads.googleads.v16.services.CustomAudienceService" + }, + { + "service": "google.ads.googleads.v16.services.CustomConversionGoalService" + }, + { + "service": "google.ads.googleads.v16.services.CustomInterestService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerAssetService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerAssetSetService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerClientLinkService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerConversionGoalService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerCustomizerService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerExtensionSettingService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerFeedService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerLabelService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerLifecycleGoalService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerManagerLinkService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerNegativeCriterionService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerSkAdNetworkConversionValueSchemaService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerUserAccessInvitationService" + }, + { + "service": "google.ads.googleads.v16.services.CustomerUserAccessService" + }, + { + "service": "google.ads.googleads.v16.services.CustomizerAttributeService" + }, + { + "service": "google.ads.googleads.v16.services.ExperimentArmService" + }, + { + "service": "google.ads.googleads.v16.services.ExperimentService" + }, + { + "service": "google.ads.googleads.v16.services.ExtensionFeedItemService" + }, + { + "service": "google.ads.googleads.v16.services.FeedItemService" + }, + { + "service": "google.ads.googleads.v16.services.FeedItemSetLinkService" + }, + { + "service": "google.ads.googleads.v16.services.FeedItemSetService" + }, + { + "service": "google.ads.googleads.v16.services.FeedItemTargetService" + }, + { + "service": "google.ads.googleads.v16.services.FeedMappingService" + }, + { + "service": "google.ads.googleads.v16.services.FeedService" + }, + { + "service": "google.ads.googleads.v16.services.GeoTargetConstantService" + }, + { + "service": "google.ads.googleads.v16.services.GoogleAdsFieldService" + }, + { + "service": "google.ads.googleads.v16.services.GoogleAdsService" + }, + { + "service": "google.ads.googleads.v16.services.IdentityVerificationService" + }, + { + "service": "google.ads.googleads.v16.services.InvoiceService" + }, + { + "service": "google.ads.googleads.v16.services.KeywordPlanAdGroupKeywordService" + }, + { + "service": "google.ads.googleads.v16.services.KeywordPlanAdGroupService" + }, + { + "service": "google.ads.googleads.v16.services.KeywordPlanCampaignKeywordService" + }, + { + "service": "google.ads.googleads.v16.services.KeywordPlanCampaignService" + }, + { + "service": "google.ads.googleads.v16.services.KeywordPlanIdeaService" + }, + { + "service": "google.ads.googleads.v16.services.KeywordPlanService" + }, + { + "service": "google.ads.googleads.v16.services.KeywordThemeConstantService" + }, + { + "service": "google.ads.googleads.v16.services.LabelService" + }, + { + "service": "google.ads.googleads.v16.services.OfflineUserDataJobService" + }, + { + "service": "google.ads.googleads.v16.services.PaymentsAccountService" + }, + { + "service": "google.ads.googleads.v16.services.ProductLinkInvitationService" + }, + { + "service": "google.ads.googleads.v16.services.ProductLinkService" + }, + { + "service": "google.ads.googleads.v16.services.ReachPlanService" + }, + { + "service": "google.ads.googleads.v16.services.RecommendationService" + }, + { + "service": "google.ads.googleads.v16.services.RecommendationSubscriptionService" + }, + { + "service": "google.ads.googleads.v16.services.RemarketingActionService" + }, + { + "service": "google.ads.googleads.v16.services.SharedCriterionService" + }, + { + "service": "google.ads.googleads.v16.services.SharedSetService" + }, + { + "service": "google.ads.googleads.v16.services.SmartCampaignSettingService" + }, + { + "service": "google.ads.googleads.v16.services.SmartCampaignSuggestService" + }, + { + "service": "google.ads.googleads.v16.services.ThirdPartyAppAnalyticsLinkService" + }, + { + "service": "google.ads.googleads.v16.services.TravelAssetSuggestionService" + }, + { + "service": "google.ads.googleads.v16.services.UserDataService" + }, + { + "service": "google.ads.googleads.v16.services.UserListService" + } + ], + "timeout": "14400s", + "retryPolicy": { + "initialBackoff": "5s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/third_party/googleapis/google/ads/googleads/v16/googleads_v16.yaml b/third_party/googleapis/google/ads/googleads/v16/googleads_v16.yaml new file mode 100644 index 000000000..eb0648ef9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/googleads_v16.yaml @@ -0,0 +1,630 @@ +type: google.api.Service +config_version: 3 +name: googleads.googleapis.com +title: Google Ads API + +apis: +- name: google.ads.googleads.v16.services.AccountBudgetProposalService +- name: google.ads.googleads.v16.services.AccountLinkService +- name: google.ads.googleads.v16.services.AdGroupAdLabelService +- name: google.ads.googleads.v16.services.AdGroupAdService +- name: google.ads.googleads.v16.services.AdGroupAssetService +- name: google.ads.googleads.v16.services.AdGroupAssetSetService +- name: google.ads.googleads.v16.services.AdGroupBidModifierService +- name: google.ads.googleads.v16.services.AdGroupCriterionCustomizerService +- name: google.ads.googleads.v16.services.AdGroupCriterionLabelService +- name: google.ads.googleads.v16.services.AdGroupCriterionService +- name: google.ads.googleads.v16.services.AdGroupCustomizerService +- name: google.ads.googleads.v16.services.AdGroupExtensionSettingService +- name: google.ads.googleads.v16.services.AdGroupFeedService +- name: google.ads.googleads.v16.services.AdGroupLabelService +- name: google.ads.googleads.v16.services.AdGroupService +- name: google.ads.googleads.v16.services.AdParameterService +- name: google.ads.googleads.v16.services.AdService +- name: google.ads.googleads.v16.services.AssetGroupAssetService +- name: google.ads.googleads.v16.services.AssetGroupListingGroupFilterService +- name: google.ads.googleads.v16.services.AssetGroupService +- name: google.ads.googleads.v16.services.AssetGroupSignalService +- name: google.ads.googleads.v16.services.AssetService +- name: google.ads.googleads.v16.services.AssetSetAssetService +- name: google.ads.googleads.v16.services.AssetSetService +- name: google.ads.googleads.v16.services.AudienceInsightsService +- name: google.ads.googleads.v16.services.AudienceService +- name: google.ads.googleads.v16.services.BatchJobService +- name: google.ads.googleads.v16.services.BiddingDataExclusionService +- name: google.ads.googleads.v16.services.BiddingSeasonalityAdjustmentService +- name: google.ads.googleads.v16.services.BiddingStrategyService +- name: google.ads.googleads.v16.services.BillingSetupService +- name: google.ads.googleads.v16.services.BrandSuggestionService +- name: google.ads.googleads.v16.services.CampaignAssetService +- name: google.ads.googleads.v16.services.CampaignAssetSetService +- name: google.ads.googleads.v16.services.CampaignBidModifierService +- name: google.ads.googleads.v16.services.CampaignBudgetService +- name: google.ads.googleads.v16.services.CampaignConversionGoalService +- name: google.ads.googleads.v16.services.CampaignCriterionService +- name: google.ads.googleads.v16.services.CampaignCustomizerService +- name: google.ads.googleads.v16.services.CampaignDraftService +- name: google.ads.googleads.v16.services.CampaignExtensionSettingService +- name: google.ads.googleads.v16.services.CampaignFeedService +- name: google.ads.googleads.v16.services.CampaignGroupService +- name: google.ads.googleads.v16.services.CampaignLabelService +- name: google.ads.googleads.v16.services.CampaignLifecycleGoalService +- name: google.ads.googleads.v16.services.CampaignService +- name: google.ads.googleads.v16.services.CampaignSharedSetService +- name: google.ads.googleads.v16.services.ConversionActionService +- name: google.ads.googleads.v16.services.ConversionAdjustmentUploadService +- name: google.ads.googleads.v16.services.ConversionCustomVariableService +- name: google.ads.googleads.v16.services.ConversionGoalCampaignConfigService +- name: google.ads.googleads.v16.services.ConversionUploadService +- name: google.ads.googleads.v16.services.ConversionValueRuleService +- name: google.ads.googleads.v16.services.ConversionValueRuleSetService +- name: google.ads.googleads.v16.services.CustomAudienceService +- name: google.ads.googleads.v16.services.CustomConversionGoalService +- name: google.ads.googleads.v16.services.CustomInterestService +- name: google.ads.googleads.v16.services.CustomerAssetService +- name: google.ads.googleads.v16.services.CustomerAssetSetService +- name: google.ads.googleads.v16.services.CustomerClientLinkService +- name: google.ads.googleads.v16.services.CustomerConversionGoalService +- name: google.ads.googleads.v16.services.CustomerCustomizerService +- name: google.ads.googleads.v16.services.CustomerExtensionSettingService +- name: google.ads.googleads.v16.services.CustomerFeedService +- name: google.ads.googleads.v16.services.CustomerLabelService +- name: google.ads.googleads.v16.services.CustomerLifecycleGoalService +- name: google.ads.googleads.v16.services.CustomerManagerLinkService +- name: google.ads.googleads.v16.services.CustomerNegativeCriterionService +- name: google.ads.googleads.v16.services.CustomerService +- name: google.ads.googleads.v16.services.CustomerSkAdNetworkConversionValueSchemaService +- name: google.ads.googleads.v16.services.CustomerUserAccessInvitationService +- name: google.ads.googleads.v16.services.CustomerUserAccessService +- name: google.ads.googleads.v16.services.CustomizerAttributeService +- name: google.ads.googleads.v16.services.ExperimentArmService +- name: google.ads.googleads.v16.services.ExperimentService +- name: google.ads.googleads.v16.services.ExtensionFeedItemService +- name: google.ads.googleads.v16.services.FeedItemService +- name: google.ads.googleads.v16.services.FeedItemSetLinkService +- name: google.ads.googleads.v16.services.FeedItemSetService +- name: google.ads.googleads.v16.services.FeedItemTargetService +- name: google.ads.googleads.v16.services.FeedMappingService +- name: google.ads.googleads.v16.services.FeedService +- name: google.ads.googleads.v16.services.GeoTargetConstantService +- name: google.ads.googleads.v16.services.GoogleAdsFieldService +- name: google.ads.googleads.v16.services.GoogleAdsService +- name: google.ads.googleads.v16.services.IdentityVerificationService +- name: google.ads.googleads.v16.services.InvoiceService +- name: google.ads.googleads.v16.services.KeywordPlanAdGroupKeywordService +- name: google.ads.googleads.v16.services.KeywordPlanAdGroupService +- name: google.ads.googleads.v16.services.KeywordPlanCampaignKeywordService +- name: google.ads.googleads.v16.services.KeywordPlanCampaignService +- name: google.ads.googleads.v16.services.KeywordPlanIdeaService +- name: google.ads.googleads.v16.services.KeywordPlanService +- name: google.ads.googleads.v16.services.KeywordThemeConstantService +- name: google.ads.googleads.v16.services.LabelService +- name: google.ads.googleads.v16.services.OfflineUserDataJobService +- name: google.ads.googleads.v16.services.PaymentsAccountService +- name: google.ads.googleads.v16.services.ProductLinkInvitationService +- name: google.ads.googleads.v16.services.ProductLinkService +- name: google.ads.googleads.v16.services.ReachPlanService +- name: google.ads.googleads.v16.services.RecommendationService +- name: google.ads.googleads.v16.services.RecommendationSubscriptionService +- name: google.ads.googleads.v16.services.RemarketingActionService +- name: google.ads.googleads.v16.services.SharedCriterionService +- name: google.ads.googleads.v16.services.SharedSetService +- name: google.ads.googleads.v16.services.SmartCampaignSettingService +- name: google.ads.googleads.v16.services.SmartCampaignSuggestService +- name: google.ads.googleads.v16.services.ThirdPartyAppAnalyticsLinkService +- name: google.ads.googleads.v16.services.TravelAssetSuggestionService +- name: google.ads.googleads.v16.services.UserDataService +- name: google.ads.googleads.v16.services.UserListService + +types: +- name: google.ads.googleads.v16.errors.GoogleAdsFailure +- name: google.ads.googleads.v16.resources.BatchJob.BatchJobMetadata +- name: google.ads.googleads.v16.resources.OfflineUserDataJobMetadata +- name: google.ads.googleads.v16.services.PromoteExperimentMetadata +- name: google.ads.googleads.v16.services.ScheduleExperimentMetadata + +documentation: + summary: 'Manage your Google Ads accounts, campaigns, and reports with this API.' + overview: |- + The Google Ads API enables an app to integrate with the Google Ads + platform. You can efficiently retrieve and change your Google Ads data + using the API, making it ideal for managing large or complex accounts and + campaigns. + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v16/{name=customers/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v16/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v16/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v16/{name=customers/*/operations}' + - selector: google.longrunning.Operations.WaitOperation + post: '/v16/{name=customers/*/operations/*}:wait' + body: '*' + +authentication: + rules: + - selector: google.ads.googleads.v16.services.AccountBudgetProposalService.MutateAccountBudgetProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AccountLinkService.CreateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AccountLinkService.MutateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupAdLabelService.MutateAdGroupAdLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupAdService.MutateAdGroupAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupAssetService.MutateAdGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupAssetSetService.MutateAdGroupAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupCriterionService.MutateAdGroupCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupCustomizerService.MutateAdGroupCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupFeedService.MutateAdGroupFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupLabelService.MutateAdGroupLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdGroupService.MutateAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdParameterService.MutateAdParameters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdService.GetAd + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AdService.MutateAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AssetGroupAssetService.MutateAssetGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AssetGroupService.MutateAssetGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AssetGroupSignalService.MutateAssetGroupSignals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AssetService.MutateAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AssetSetAssetService.MutateAssetSetAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AssetSetService.MutateAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.AudienceInsightsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.AudienceService.MutateAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.BatchJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.BiddingDataExclusionService.MutateBiddingDataExclusions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.BiddingStrategyService.MutateBiddingStrategies + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.BillingSetupService.MutateBillingSetup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.BrandSuggestionService.SuggestBrands + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignAssetService.MutateCampaignAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignAssetSetService.MutateCampaignAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignBidModifierService.MutateCampaignBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignBudgetService.MutateCampaignBudgets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignConversionGoalService.MutateCampaignConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignCriterionService.MutateCampaignCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignCustomizerService.MutateCampaignCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.CampaignDraftService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignFeedService.MutateCampaignFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignGroupService.MutateCampaignGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignLabelService.MutateCampaignLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignService.MutateCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CampaignSharedSetService.MutateCampaignSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ConversionActionService.MutateConversionActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ConversionCustomVariableService.MutateConversionCustomVariables + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ConversionUploadService.UploadCallConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ConversionUploadService.UploadClickConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ConversionValueRuleService.MutateConversionValueRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomAudienceService.MutateCustomAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomConversionGoalService.MutateCustomConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomInterestService.MutateCustomInterests + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerAssetService.MutateCustomerAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerAssetSetService.MutateCustomerAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerClientLinkService.MutateCustomerClientLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerConversionGoalService.MutateCustomerConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerCustomizerService.MutateCustomerCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerFeedService.MutateCustomerFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerLabelService.MutateCustomerLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerManagerLinkService.MoveManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerManagerLinkService.MutateCustomerManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.CustomerService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomerUserAccessService.MutateCustomerUserAccess + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.CustomizerAttributeService.MutateCustomizerAttributes + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ExperimentArmService.MutateExperimentArms + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.ExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ExtensionFeedItemService.MutateExtensionFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.FeedItemService.MutateFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.FeedItemSetLinkService.MutateFeedItemSetLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.FeedItemSetService.MutateFeedItemSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.FeedItemTargetService.MutateFeedItemTargets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.FeedMappingService.MutateFeedMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.FeedService.MutateFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.GeoTargetConstantService.SuggestGeoTargetConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.GoogleAdsFieldService.GetGoogleAdsField + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.GoogleAdsFieldService.SearchGoogleAdsFields + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.GoogleAdsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.IdentityVerificationService.GetIdentityVerification + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.IdentityVerificationService.StartIdentityVerification + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.InvoiceService.ListInvoices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.KeywordPlanIdeaService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.KeywordPlanService.MutateKeywordPlans + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.LabelService.MutateLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.OfflineUserDataJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.PaymentsAccountService.ListPaymentsAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.ProductLinkInvitationService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ProductLinkService.CreateProductLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ProductLinkService.RemoveProductLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.ReachPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.RecommendationService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.RecommendationSubscriptionService.MutateRecommendationSubscription + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.RemarketingActionService.MutateRemarketingActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.SharedCriterionService.MutateSharedCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.SharedSetService.MutateSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.SmartCampaignSettingService.GetSmartCampaignStatus + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.SmartCampaignSettingService.MutateSmartCampaignSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v16.services.SmartCampaignSuggestService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.TravelAssetSuggestionService.SuggestTravelAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.UserDataService.UploadUserData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v16.services.UserListService.MutateUserLists + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v16/resources/BUILD.bazel new file mode 100644 index 000000000..2be11e1dc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/BUILD.bazel @@ -0,0 +1,97 @@ +# 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 +# +# https://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. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "resources_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v16/common:common_proto", + "//google/ads/googleads/v16/enums:enums_proto", + "//google/ads/googleads/v16/errors:errors_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "resources_java_proto", + deps = [":resources_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "resources_csharp_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "resources_ruby_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "resources_py_proto", + deps = [":resources_proto"], +) diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/accessible_bidding_strategy.proto b/third_party/googleapis/google/ads/googleads/v16/resources/accessible_bidding_strategy.proto new file mode 100644 index 000000000..b6e8779bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/accessible_bidding_strategy.proto @@ -0,0 +1,180 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v16/enums/target_impression_share_location.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Represents a view of BiddingStrategies owned by and shared with the customer. +// +// In contrast to BiddingStrategy, this resource includes strategies owned by +// managers of the customer and shared with this customer - in addition to +// strategies owned by this customer. This resource does not provide metrics and +// only exposes a limited subset of the BiddingStrategy attributes. +message AccessibleBiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + pattern: "customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}" + }; + + // An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + message MaximizeConversionValue { + // Output only. The target return on ad spend (ROAS) option. If set, the bid + // strategy will maximize revenue while averaging the target return on ad + // spend. If the target ROAS is high, the bid strategy may not be able to + // spend the full budget. If the target ROAS is not set, the bid strategy + // will aim to achieve the highest possible ROAS for the budget. + double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + message MaximizeConversions { + // Output only. The target cost per acquisition (CPA) option. This is the + // average amount that you would like to spend per acquisition. + int64 target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bid strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + message TargetCpa { + // Output only. Average CPA target. + // This target should be greater than or equal to minimum billable unit + // based on the currency for the account. + optional int64 target_cpa_micros = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy that sets bids so that a certain percentage + // of search ads are shown at the top of the first page (or other targeted + // location). + message TargetImpressionShare { + // Output only. The targeted location on the search results page. + google.ads.googleads.v16.enums.TargetImpressionShareLocationEnum + .TargetImpressionShareLocation location = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The chosen fraction of ads to be shown in the targeted location in + // micros. For example, 1% equals 10,000. + optional int64 location_fraction_micros = 2; + + // Output only. The highest CPC bid the automated bidding system is + // permitted to specify. This is a required field entered by the advertiser + // that sets the ceiling and specified in local micros. + optional int64 cpc_bid_ceiling_micros = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy that helps you maximize revenue while + // averaging a specific target return on ad spend (ROAS). + message TargetRoas { + // Output only. The chosen revenue (based on conversion data) per unit of + // spend. + optional double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bid strategy that sets your bids to help get as many clicks + // as possible within your budget. + message TargetSpend { + // Output only. The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + // This field is deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + optional int64 target_spend_micros = 1 + [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + optional int64 cpc_bid_ceiling_micros = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the accessible bidding strategy. + // AccessibleBiddingStrategy resource names have the form: + // + // `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the bidding strategy. + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + google.ads.googleads.v16.enums.BiddingStrategyTypeEnum.BiddingStrategyType + type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the Customer which owns the bidding strategy. + int64 owner_customer_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. descriptive_name of the Customer which owns the bidding + // strategy. + string owner_descriptive_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // Output only. An automated bidding strategy to help get the most + // conversion value for your campaigns while spending your budget. + MaximizeConversionValue maximize_conversion_value = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An automated bidding strategy to help get the most + // conversions for your campaigns while spending your budget. + MaximizeConversions maximize_conversions = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that sets bids to help get as many + // conversions as possible at the target cost-per-acquisition (CPA) you set. + TargetCpa target_cpa = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that automatically optimizes towards a + // chosen percentage of impressions. + TargetImpressionShare target_impression_share = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that helps you maximize revenue while + // averaging a specific target Return On Ad Spend (ROAS). + TargetRoas target_roas = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bid strategy that sets your bids to help get as many + // clicks as possible within your budget. + TargetSpend target_spend = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/account_budget.proto b/third_party/googleapis/google/ads/googleads/v16/resources/account_budget.proto new file mode 100644 index 000000000..ba3c89176 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/account_budget.proto @@ -0,0 +1,283 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v16/enums/account_budget_status.proto"; +import "google/ads/googleads/v16/enums/spending_limit_type.proto"; +import "google/ads/googleads/v16/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AccountBudget resource. + +// An account-level budget. It contains information about the budget itself, +// as well as the most recently approved changes to the budget and proposed +// changes that are pending approval. The proposed changes that are pending +// approval, if any, are found in 'pending_proposal'. Effective details about +// the budget are found in fields prefixed 'approved_', 'adjusted_' and those +// without a prefix. Since some effective details may differ from what the user +// had originally requested (for example, spending limit), these differences are +// juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. +// +// This resource is mutated using AccountBudgetProposal and cannot be mutated +// directly. A budget may have at most one pending proposal at any given time. +// It is read through pending_proposal. +// +// Once approved, a budget may be subject to adjustments, such as credit +// adjustments. Adjustments create differences between the 'approved' and +// 'adjusted' fields, which would otherwise be identical. +message AccountBudget { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountBudget" + pattern: "customers/{customer_id}/accountBudgets/{account_budget_id}" + }; + + // A pending proposal associated with the enclosing account-level budget, + // if applicable. + message PendingAccountBudgetProposal { + // Output only. The resource name of the proposal. + // AccountBudgetProposal resource names have the form: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + optional string account_budget_proposal = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; + + // Output only. The type of this proposal, for example, END to end the + // budget associated with this proposal. + google.ads.googleads.v16.enums.AccountBudgetProposalTypeEnum + .AccountBudgetProposalType proposal_type = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name to assign to the account-level budget. + optional string name = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The start time in yyyy-MM-dd HH:mm:ss format. + optional string start_date_time = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users + // reference this budget in their monthly invoices. + optional string purchase_order_number = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with this budget. + optional string notes = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this account-level budget proposal was + // created. Formatted as yyyy-MM-dd HH:mm:ss. + optional string creation_date_time = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The end time of the account-level budget. + oneof end_time { + // Output only. The end time in yyyy-MM-dd HH:mm:ss format. + string end_date_time = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v16.enums.TimeTypeEnum.TimeType end_time_type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit. + oneof spending_limit { + // Output only. The spending limit in micros. One million is equivalent + // to one unit. + int64 spending_limit_micros = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v16.enums.SpendingLimitTypeEnum.SpendingLimitType + spending_limit_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // Output only. The resource name of the account-level budget. + // AccountBudget resource names have the form: + // + // `customers/{customer_id}/accountBudgets/{account_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; + + // Output only. The ID of the account-level budget. + optional int64 id = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the billing setup associated with this + // account-level budget. BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + optional string billing_setup = 24 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The status of this account-level budget. + google.ads.googleads.v16.enums.AccountBudgetStatusEnum.AccountBudgetStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the account-level budget. + optional string name = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed start time of the account-level budget in + // yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, + // this is the time of request. + optional string proposed_start_date_time = 26 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved start time of the account-level budget in + // yyyy-MM-dd HH:mm:ss format. + // + // For example, if a new budget is approved after the proposed start time, + // the approved start time is the time of approval. + optional string approved_start_date_time = 27 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total adjustments amount. + // + // An example of an adjustment is courtesy credits. + int64 total_adjustments_micros = 33 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value of Ads that have been served, in micros. + // + // This includes overdelivery costs, in which case a credit might be + // automatically applied to the budget (see total_adjustments_micros). + int64 amount_served_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference + // this budget in their monthly invoices. + optional string purchase_order_number = 35 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with the budget. + optional string notes = 36 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pending proposal to modify this budget, if applicable. + PendingAccountBudgetProposal pending_proposal = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed end time of the account-level budget. + oneof proposed_end_time { + // Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. + string proposed_end_date_time = 28 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed end time as a well-defined type, for example, + // FOREVER. + google.ads.googleads.v16.enums.TimeTypeEnum.TimeType + proposed_end_time_type = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved end time of the account-level budget. + // + // For example, if a budget's end time is updated and the proposal is approved + // after the proposed end time, the approved end time is the time of approval. + oneof approved_end_time { + // Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. + string approved_end_date_time = 29 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end time as a well-defined type, for example, + // FOREVER. + google.ads.googleads.v16.enums.TimeTypeEnum.TimeType + approved_end_time_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Output only. The proposed spending limit in micros. One million is + // equivalent to one unit. + int64 proposed_spending_limit_micros = 30 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed spending limit as a well-defined type, for + // example, INFINITE. + google.ads.googleads.v16.enums.SpendingLimitTypeEnum.SpendingLimitType + proposed_spending_limit_type = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved spending limit. + // + // For example, if the amount already spent by the account exceeds the + // proposed spending limit at the time the proposal is approved, the approved + // spending limit is set to the amount already spent. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is + // equivalent to one unit. This will only be populated if the proposed + // spending limit is finite, and will always be greater than or equal to the + // proposed spending limit. + int64 approved_spending_limit_micros = 31 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, for + // example, INFINITE. This will only be populated if the approved spending + // limit is INFINITE. + google.ads.googleads.v16.enums.SpendingLimitTypeEnum.SpendingLimitType + approved_spending_limit_type = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit after adjustments have been applied. Adjustments are + // stored in total_adjustments_micros. + // + // This value has the final say on how much the account is allowed to spend. + oneof adjusted_spending_limit { + // Output only. The adjusted spending limit in micros. One million is + // equivalent to one unit. + // + // If the approved spending limit is finite, the adjusted + // spending limit may vary depending on the types of adjustments applied + // to this budget, if applicable. + // + // The different kinds of adjustments are described here: + // https://support.google.com/google-ads/answer/1704323 + // + // For example, a debit adjustment reduces how much the account is + // allowed to spend. + int64 adjusted_spending_limit_micros = 32 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The adjusted spending limit as a well-defined type, for + // example, INFINITE. This will only be populated if the adjusted spending + // limit is INFINITE, which is guaranteed to be true if the approved + // spending limit is INFINITE. + google.ads.googleads.v16.enums.SpendingLimitTypeEnum.SpendingLimitType + adjusted_spending_limit_type = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/account_budget_proposal.proto b/third_party/googleapis/google/ads/googleads/v16/resources/account_budget_proposal.proto new file mode 100644 index 000000000..f5e95678d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/account_budget_proposal.proto @@ -0,0 +1,186 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/account_budget_proposal_status.proto"; +import "google/ads/googleads/v16/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v16/enums/spending_limit_type.proto"; +import "google/ads/googleads/v16/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AccountBudgetProposal resource. + +// An account-level budget proposal. +// +// All fields prefixed with 'proposed' may not necessarily be applied directly. +// For example, proposed spending limits may be adjusted before their +// application. This is true if the 'proposed' field has an 'approved' +// counterpart, for example, spending limits. +// +// Note that the proposal type (proposal_type) changes which fields are +// required and which must remain empty. +message AccountBudgetProposal { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + pattern: "customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}" + }; + + // Immutable. The resource name of the proposal. + // AccountBudgetProposal resource names have the form: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; + + // Output only. The ID of the proposal. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the billing setup associated with this + // proposal. + optional string billing_setup = 26 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Immutable. The resource name of the account-level budget associated with + // this proposal. + optional string account_budget = 27 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; + + // Immutable. The type of this proposal, for example, END to end the budget + // associated with this proposal. + google.ads.googleads.v16.enums.AccountBudgetProposalTypeEnum + .AccountBudgetProposalType proposal_type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status of this proposal. + // When a new proposal is created, the status defaults to PENDING. + google.ads.googleads.v16.enums.AccountBudgetProposalStatusEnum + .AccountBudgetProposalStatus status = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The name to assign to the account-level budget. + optional string proposed_name = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. + optional string approved_start_date_time = 30 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A purchase order number is a value that enables the user to help + // them reference this budget in their monthly invoices. + optional string proposed_purchase_order_number = 35 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Notes associated with this budget. + optional string proposed_notes = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The date time when this account-level budget proposal was + // created, which is not the same as its approval date time, if applicable. + optional string creation_date_time = 37 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date time when this account-level budget was approved, if + // applicable. + optional string approval_date_time = 38 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed start date time of the account-level budget, which cannot be + // in the past. + oneof proposed_start_time { + // Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. + string proposed_start_date_time = 29 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed start date time as a well-defined type, for + // example, NOW. + google.ads.googleads.v16.enums.TimeTypeEnum.TimeType + proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The proposed end date time of the account-level budget, which cannot be in + // the past. + oneof proposed_end_time { + // Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. + string proposed_end_date_time = 31 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed end date time as a well-defined type, for + // example, FOREVER. + google.ads.googleads.v16.enums.TimeTypeEnum.TimeType + proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved end date time of the account-level budget. + oneof approved_end_time { + // Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format. + string approved_end_date_time = 32 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end date time as a well-defined type, for + // example, FOREVER. + google.ads.googleads.v16.enums.TimeTypeEnum.TimeType + approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Immutable. The proposed spending limit in micros. One million is + // equivalent to one unit. + int64 proposed_spending_limit_micros = 33 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed spending limit as a well-defined type, for + // example, INFINITE. + google.ads.googleads.v16.enums.SpendingLimitTypeEnum.SpendingLimitType + proposed_spending_limit_type = 11 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved spending limit. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is + // equivalent to one unit. + int64 approved_spending_limit_micros = 34 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, for + // example, INFINITE. + google.ads.googleads.v16.enums.SpendingLimitTypeEnum.SpendingLimitType + approved_spending_limit_type = 24 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/account_link.proto b/third_party/googleapis/google/ads/googleads/v16/resources/account_link.proto new file mode 100644 index 000000000..9be30f1f8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/account_link.proto @@ -0,0 +1,101 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/account_link_status.proto"; +import "google/ads/googleads/v16/enums/linked_account_type.proto"; +import "google/ads/googleads/v16/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Represents the data sharing connection between a Google Ads account and +// another account +message AccountLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountLink" + pattern: "customers/{customer_id}/accountLinks/{account_link_id}" + }; + + // Immutable. Resource name of the account link. + // AccountLink resource names have the form: + // `customers/{customer_id}/accountLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + } + ]; + + // Output only. The ID of the link. + // This field is read only. + optional int64 account_link_id = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the link. + google.ads.googleads.v16.enums.AccountLinkStatusEnum.AccountLinkStatus + status = 3; + + // Output only. The type of the linked account. + google.ads.googleads.v16.enums.LinkedAccountTypeEnum.LinkedAccountType type = + 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // An account linked to this Google Ads account. + oneof linked_account { + // Immutable. A third party app analytics link. + ThirdPartyAppAnalyticsLinkIdentifier third_party_app_analytics = 5 + [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// The identifiers of a Third Party App Analytics Link. +message ThirdPartyAppAnalyticsLinkIdentifier { + // Immutable. The ID of the app analytics provider. + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + optional int64 app_analytics_provider_id = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A string that uniquely identifies a mobile application from + // which the data was collected to the Google Ads API. For iOS, the ID string + // is the 9 digit string that appears at the end of an App Store URL (for + // example, "422689480" for "Gmail" whose App Store link is + // https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For + // Android, the ID string is the application's package name (for example, + // "com.google.android.gm" for "Gmail" given Google Play link + // https://play.google.com/store/apps/details?id=com.google.android.gm) + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + optional string app_id = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The vendor of the app. + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + google.ads.googleads.v16.enums.MobileAppVendorEnum.MobileAppVendor + app_vendor = 3 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad.proto new file mode 100644 index 000000000..6eeefe857 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad.proto @@ -0,0 +1,221 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/ad_type_infos.proto"; +import "google/ads/googleads/v16/common/custom_parameter.proto"; +import "google/ads/googleads/v16/common/final_app_url.proto"; +import "google/ads/googleads/v16/common/url_collection.proto"; +import "google/ads/googleads/v16/enums/ad_type.proto"; +import "google/ads/googleads/v16/enums/device.proto"; +import "google/ads/googleads/v16/enums/system_managed_entity_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad type. + +// An ad. +message Ad { + option (google.api.resource) = { + type: "googleads.googleapis.com/Ad" + pattern: "customers/{customer_id}/ads/{ad_id}" + }; + + // Immutable. The resource name of the ad. + // Ad resource names have the form: + // + // `customers/{customer_id}/ads/{ad_id}` + string resource_name = 37 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Ad" } + ]; + + // Output only. The ID of the ad. + optional int64 id = 40 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The list of possible final URLs after all cross-domain redirects for the + // ad. + repeated string final_urls = 41; + + // A list of final app URLs that will be used on mobile if the user has the + // specific app installed. + repeated google.ads.googleads.v16.common.FinalAppUrl final_app_urls = 35; + + // The list of possible final mobile URLs after all cross-domain redirects + // for the ad. + repeated string final_mobile_urls = 42; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 43; + + // The suffix to use when constructing a final URL. + optional string final_url_suffix = 44; + + // The list of mappings that can be used to substitute custom parameter tags + // in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + // For mutates, use url custom parameter operations. + repeated google.ads.googleads.v16.common.CustomParameter + url_custom_parameters = 10; + + // The URL that appears in the ad description for some ad formats. + optional string display_url = 45; + + // Output only. The type of ad. + google.ads.googleads.v16.enums.AdTypeEnum.AdType type = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates if this ad was automatically added by Google Ads and + // not by a user. For example, this could happen when ads are automatically + // created as suggestions for new ads based on knowledge of how existing ads + // are performing. + optional bool added_by_google_ads = 46 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The device preference for the ad. You can only specify a preference for + // mobile devices. When this preference is set the ad will be preferred over + // other ads when being displayed on a mobile device. The ad can still be + // displayed on other device types, for example, if no other ads are + // available. If unspecified (no device preference), all devices are targeted. + // This is only supported by some ad types. + google.ads.googleads.v16.enums.DeviceEnum.Device device_preference = 20; + + // Additional URLs for the ad that are tagged with a unique identifier that + // can be referenced from other fields in the ad. + repeated google.ads.googleads.v16.common.UrlCollection url_collections = 26; + + // Immutable. The name of the ad. This is only used to be able to identify the + // ad. It does not need to be unique and does not affect the served ad. The + // name field is currently only supported for DisplayUploadAd, ImageAd, + // ShoppingComparisonListingAd and VideoAd. + optional string name = 47 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. If this ad is system managed, then this field will indicate + // the source. This field is read-only. + google.ads.googleads.v16.enums.SystemManagedResourceSourceEnum + .SystemManagedResourceSource system_managed_resource_source = 27 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Details pertinent to the ad type. Exactly one value must be set. + oneof ad_data { + // Immutable. Details pertaining to a text ad. + google.ads.googleads.v16.common.TextAdInfo text_ad = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to an expanded text ad. + google.ads.googleads.v16.common.ExpandedTextAdInfo expanded_text_ad = 7; + + // Details pertaining to a call ad. + google.ads.googleads.v16.common.CallAdInfo call_ad = 49; + + // Immutable. Details pertaining to an Expanded Dynamic Search Ad. + // This type of ad has its headline, final URLs, and display URL + // auto-generated at serving time according to domain name specific + // information provided by `dynamic_search_ads_setting` linked at the + // campaign level. + google.ads.googleads.v16.common.ExpandedDynamicSearchAdInfo + expanded_dynamic_search_ad = 14 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a hotel ad. + google.ads.googleads.v16.common.HotelAdInfo hotel_ad = 15; + + // Details pertaining to a Smart Shopping ad. + google.ads.googleads.v16.common.ShoppingSmartAdInfo shopping_smart_ad = 17; + + // Details pertaining to a Shopping product ad. + google.ads.googleads.v16.common.ShoppingProductAdInfo shopping_product_ad = + 18; + + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v16.common.ImageAdInfo image_ad = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a Video ad. + google.ads.googleads.v16.common.VideoAdInfo video_ad = 24; + + // Details pertaining to a Video responsive ad. + google.ads.googleads.v16.common.VideoResponsiveAdInfo video_responsive_ad = + 39; + + // Details pertaining to a responsive search ad. + google.ads.googleads.v16.common.ResponsiveSearchAdInfo + responsive_search_ad = 25; + + // Details pertaining to a legacy responsive display ad. + google.ads.googleads.v16.common.LegacyResponsiveDisplayAdInfo + legacy_responsive_display_ad = 28; + + // Details pertaining to an app ad. + google.ads.googleads.v16.common.AppAdInfo app_ad = 29; + + // Immutable. Details pertaining to a legacy app install ad. + google.ads.googleads.v16.common.LegacyAppInstallAdInfo + legacy_app_install_ad = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a responsive display ad. + google.ads.googleads.v16.common.ResponsiveDisplayAdInfo + responsive_display_ad = 31; + + // Details pertaining to a local ad. + google.ads.googleads.v16.common.LocalAdInfo local_ad = 32; + + // Details pertaining to a display upload ad. + google.ads.googleads.v16.common.DisplayUploadAdInfo display_upload_ad = 33; + + // Details pertaining to an app engagement ad. + google.ads.googleads.v16.common.AppEngagementAdInfo app_engagement_ad = 34; + + // Details pertaining to a Shopping Comparison Listing ad. + google.ads.googleads.v16.common.ShoppingComparisonListingAdInfo + shopping_comparison_listing_ad = 36; + + // Details pertaining to a Smart campaign ad. + google.ads.googleads.v16.common.SmartCampaignAdInfo smart_campaign_ad = 48; + + // Details pertaining to an app pre-registration ad. + google.ads.googleads.v16.common.AppPreRegistrationAdInfo + app_pre_registration_ad = 50; + + // Details pertaining to a discovery multi asset ad. + google.ads.googleads.v16.common.DiscoveryMultiAssetAdInfo + discovery_multi_asset_ad = 51; + + // Details pertaining to a discovery carousel ad. + google.ads.googleads.v16.common.DiscoveryCarouselAdInfo + discovery_carousel_ad = 52; + + // Details pertaining to a discovery video responsive ad. + google.ads.googleads.v16.common.DiscoveryVideoResponsiveAdInfo + discovery_video_responsive_ad = 60; + + // Details pertaining to a Demand Gen product ad. + google.ads.googleads.v16.common.DemandGenProductAdInfo + demand_gen_product_ad = 61; + + // Details pertaining to a travel ad. + google.ads.googleads.v16.common.TravelAdInfo travel_ad = 54; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group.proto new file mode 100644 index 000000000..ba5b84c8e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group.proto @@ -0,0 +1,243 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/custom_parameter.proto"; +import "google/ads/googleads/v16/common/targeting_setting.proto"; +import "google/ads/googleads/v16/enums/ad_group_ad_rotation_mode.proto"; +import "google/ads/googleads/v16/enums/ad_group_primary_status.proto"; +import "google/ads/googleads/v16/enums/ad_group_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/ad_group_status.proto"; +import "google/ads/googleads/v16/enums/ad_group_type.proto"; +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/asset_set_type.proto"; +import "google/ads/googleads/v16/enums/bidding_source.proto"; +import "google/ads/googleads/v16/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group resource. + +// An ad group. +message AdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroup" + pattern: "customers/{customer_id}/adGroups/{ad_group_id}" + }; + + // Settings for the audience targeting. + message AudienceSetting { + // Immutable. If true, this ad group uses an Audience resource for audience + // targeting. If false, this ad group may use audience segment criteria + // instead. + bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Immutable. The resource name of the ad group. + // Ad group resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the ad group. + optional int64 id = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the ad group. + // + // This field is required and should not be empty when creating new ad + // groups. + // + // It must contain fewer than 255 UTF-8 full-width characters. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 35; + + // The status of the ad group. + google.ads.googleads.v16.enums.AdGroupStatusEnum.AdGroupStatus status = 5; + + // Immutable. The type of the ad group. + google.ads.googleads.v16.enums.AdGroupTypeEnum.AdGroupType type = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // The ad rotation mode of the ad group. + google.ads.googleads.v16.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode + ad_rotation_mode = 22; + + // Output only. For draft or experiment ad groups, this field is the resource + // name of the base ad group from which this ad group was created. If a draft + // or experiment ad group does not have a base ad group, then this field is + // null. + // + // For base ad groups, this field equals the ad group resource name. + // + // This field is read-only. + optional string base_ad_group = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 37; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v16.common.CustomParameter + url_custom_parameters = 6; + + // Immutable. The campaign to which the ad group belongs. + optional string campaign = 38 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The maximum CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 39; + + // Output only. Value will be same as that of the CPC (cost-per-click) bid + // value when the bidding strategy is one of manual cpc, enhanced cpc, page + // one promoted or target outrank share, otherwise the value will be null. + optional int64 effective_cpc_bid_micros = 57 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The maximum CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 40; + + // The target CPA (cost-per-acquisition). If the ad group's campaign + // bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa + // field set), then this field overrides the target CPA specified in the + // campaign's bidding strategy. + // Otherwise, this value is ignored. + optional int64 target_cpa_micros = 41; + + // The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 42; + + // Average amount in micros that the advertiser is willing to pay for every + // thousand times the ad is shown. + optional int64 target_cpm_micros = 43; + + // The target ROAS (return-on-ad-spend) override. If the ad group's campaign + // bidding strategy is TargetRoas or MaximizeConversionValue (with its + // target_roas field set), then this field overrides the target ROAS specified + // in the campaign's bidding strategy. + // Otherwise, this value is ignored. + optional double target_roas = 44; + + // The percent cpc bid amount, expressed as a fraction of the advertised price + // for some good or service. The valid range for the fraction is [0,1) and the + // value stored here is 1,000,000 * [fraction]. + optional int64 percent_cpc_bid_micros = 45; + + // True if optimized targeting is enabled. Optimized Targeting is the + // replacement for Audience Expansion. + bool optimized_targeting_enabled = 59; + + // Allows advertisers to specify a targeting dimension on which to place + // absolute bids. This is only applicable for campaigns that target only the + // display network and not search. + google.ads.googleads.v16.enums.TargetingDimensionEnum.TargetingDimension + display_custom_bid_dimension = 23; + + // URL template for appending params to Final URL. + optional string final_url_suffix = 46; + + // Setting for targeting related features. + google.ads.googleads.v16.common.TargetingSetting targeting_setting = 25; + + // Immutable. Setting for audience related features. + AudienceSetting audience_setting = 56 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The effective target CPA (cost-per-acquisition). + // This field is read-only. + optional int64 effective_target_cpa_micros = 47 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target CPA. + // This field is read-only. + google.ads.googleads.v16.enums.BiddingSourceEnum.BiddingSource + effective_target_cpa_source = 29 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective target ROAS (return-on-ad-spend). + // This field is read-only. + optional double effective_target_roas = 48 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target ROAS. + // This field is read-only. + google.ads.googleads.v16.enums.BiddingSourceEnum.BiddingSource + effective_target_roas_source = 32 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group. + repeated string labels = 49 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // The asset field types that should be excluded from this ad group. Asset + // links with these field types will not be inherited by this ad group from + // the upper levels. + repeated google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType + excluded_parent_asset_field_types = 54; + + // The asset set types that should be excluded from this ad group. Asset set + // links with these types will not be inherited by this ad group from the + // upper levels. + // Location group types (GMB_DYNAMIC_LOCATION_GROUP, + // CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of + // LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all + // location group asset sets are not allowed to be linked to this ad group, + // and all Location Extension (LE) and Affiliate Location Extensions (ALE) + // will not be served under this ad group. + // Only LOCATION_SYNC is currently supported. + repeated google.ads.googleads.v16.enums.AssetSetTypeEnum.AssetSetType + excluded_parent_asset_set_types = 58; + + // Output only. Provides aggregated view into why an ad group is not serving + // or not serving optimally. + google.ads.googleads.v16.enums.AdGroupPrimaryStatusEnum.AdGroupPrimaryStatus + primary_status = 62 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides reasons for why an ad group is not serving or not + // serving optimally. + repeated google.ads.googleads.v16.enums.AdGroupPrimaryStatusReasonEnum + .AdGroupPrimaryStatusReason primary_status_reasons = 63 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad.proto new file mode 100644 index 000000000..373d1f13b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad.proto @@ -0,0 +1,121 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/ad_group_ad_primary_status.proto"; +import "google/ads/googleads/v16/enums/ad_group_ad_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/ad_group_ad_status.proto"; +import "google/ads/googleads/v16/enums/ad_strength.proto"; +import "google/ads/googleads/v16/enums/policy_approval_status.proto"; +import "google/ads/googleads/v16/enums/policy_review_status.proto"; +import "google/ads/googleads/v16/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group ad resource. + +// An ad group ad. +message AdGroupAd { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAd" + pattern: "customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}" + }; + + // Immutable. The resource name of the ad. + // Ad group ad resource names have the form: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // The status of the ad. + google.ads.googleads.v16.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; + + // Immutable. The ad group to which the ad belongs. + optional string ad_group = 9 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The ad. + Ad ad = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Policy information for the ad. + AdGroupAdPolicySummary policy_summary = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Overall ad strength for this ad group ad. + google.ads.googleads.v16.enums.AdStrengthEnum.AdStrength ad_strength = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of recommendations to improve the ad strength. For + // example, a recommendation could be "Try adding a few more unique headlines + // or unpinning some assets.". + repeated string action_items = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group ad. + repeated string labels = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + } + ]; + + // Output only. Provides aggregated view into why an ad group ad is not + // serving or not serving optimally. + google.ads.googleads.v16.enums.AdGroupAdPrimaryStatusEnum + .AdGroupAdPrimaryStatus primary_status = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides reasons for why an ad group ad is not serving or not + // serving optimally. + repeated google.ads.googleads.v16.enums.AdGroupAdPrimaryStatusReasonEnum + .AdGroupAdPrimaryStatusReason primary_status_reasons = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Contains policy information for an ad. +message AdGroupAdPolicySummary { + // Output only. The list of policy findings for this ad. + repeated google.ads.googleads.v16.common.PolicyTopicEntry + policy_topic_entries = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where in the review process this ad is. + google.ads.googleads.v16.enums.PolicyReviewStatusEnum.PolicyReviewStatus + review_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The overall approval status of this ad, calculated based on + // the status of its individual policy topic entries. + google.ads.googleads.v16.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_asset_combination_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_asset_combination_view.proto new file mode 100644 index 000000000..3eeb6eb7f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_asset_combination_view.proto @@ -0,0 +1,65 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetCombinationViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the asset combination view resource. + +// A view on the usage of ad group ad asset combination. +// Now we only support AdGroupAdAssetCombinationView for Responsive Search Ads, +// with more ad types planned for the future. +message AdGroupAdAssetCombinationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdAssetCombinationView" + pattern: "customers/{customer_id}/adGroupAdAssetCombinationViews/{ad_group_id}~{ad_id}~{asset_combination_id_low}~{asset_combination_id_high}" + }; + + // Output only. The resource name of the ad group ad asset combination view. + // The combination ID is 128 bits long, where the upper 64 bits are stored in + // asset_combination_id_high, and the lower 64 bits are stored in + // asset_combination_id_low. + // AdGroupAd Asset Combination view resource names have the form: + // `customers/{customer_id}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id}~{AdGroupAd.ad.ad_id}~{AssetCombination.asset_combination_id_low}~{AssetCombination.asset_combination_id_high}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdAssetCombinationView" + } + ]; + + // Output only. Served assets. + repeated google.ads.googleads.v16.common.AssetUsage served_assets = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status between the asset combination and the latest + // version of the ad. If true, the asset combination is linked to the latest + // version of the ad. If false, it means the link once existed but has been + // removed and is no longer present in the latest version of the ad. + optional bool enabled = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_asset_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_asset_view.proto new file mode 100644 index 000000000..8519ae00b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_asset_view.proto @@ -0,0 +1,119 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/asset_performance_label.proto"; +import "google/ads/googleads/v16/enums/asset_source.proto"; +import "google/ads/googleads/v16/enums/policy_approval_status.proto"; +import "google/ads/googleads/v16/enums/policy_review_status.proto"; +import "google/ads/googleads/v16/enums/served_asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group ad asset view resource. + +// A link between an AdGroupAd and an Asset. +// Currently we only support AdGroupAdAssetView for AppAds and Responsive Search +// Ads. +message AdGroupAdAssetView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + pattern: "customers/{customer_id}/adGroupAdAssetViews/{ad_group_id}~{ad_id}~{asset_id}~{field_type}" + }; + + // Output only. The resource name of the ad group ad asset view. + // Ad group ad asset view resource names have the form (Before V4): + // + // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + // + // Ad group ad asset view resource names have the form (Beginning from V4): + // + // `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + } + ]; + + // Output only. The ad group ad to which the asset is linked. + optional string ad_group_ad = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The asset which is linked to the ad group ad. + optional string asset = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // Output only. Role that the asset takes in the ad. + google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status between the asset and the latest version of the ad. + // If true, the asset is linked to the latest version of the ad. If false, it + // means the link once existed but has been removed and is no longer present + // in the latest version of the ad. + optional bool enabled = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy information for the ad group ad asset. + AdGroupAdAssetPolicySummary policy_summary = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Performance of an asset linkage. + google.ads.googleads.v16.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel + performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pinned field. + google.ads.googleads.v16.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType + pinned_field = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the ad group ad asset. + google.ads.googleads.v16.enums.AssetSourceEnum.AssetSource source = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Contains policy information for an ad group ad asset. +message AdGroupAdAssetPolicySummary { + // Output only. The list of policy findings for the ad group ad asset. + repeated google.ads.googleads.v16.common.PolicyTopicEntry + policy_topic_entries = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where in the review process this ad group ad asset is. + google.ads.googleads.v16.enums.PolicyReviewStatusEnum.PolicyReviewStatus + review_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The overall approval status of this ad group ad asset, + // calculated based on the status of its individual policy topic entries. + google.ads.googleads.v16.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_label.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_label.proto new file mode 100644 index 000000000..daf2b3244 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_ad_label.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group ad label resource. + +// A relationship between an ad group ad and a label. +message AdGroupAdLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + pattern: "customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group ad label. + // Ad group ad label resource names have the form: + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + } + ]; + + // Immutable. The ad group ad to which the label is attached. + optional string ad_group_ad = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Immutable. The label assigned to the ad group ad. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Label" } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_asset.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_asset.proto new file mode 100644 index 000000000..0ee884b6e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_asset.proto @@ -0,0 +1,107 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/asset_policy.proto"; +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/asset_link_status.proto"; +import "google/ads/googleads/v16/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AdGroupAsset resource. + +// A link between an ad group and an asset. +message AdGroupAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAsset" + pattern: "customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}" + }; + + // Immutable. The resource name of the ad group asset. + // AdGroupAsset resource names have the form: + // + // `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + } + ]; + + // Required. Immutable. The ad group to which the asset is linked. + string ad_group = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Required. Immutable. The asset which is linked to the ad group. + string asset = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // Required. Immutable. Role that the asset takes under the linked ad group. + google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. Source of the adgroup asset link. + google.ads.googleads.v16.enums.AssetSourceEnum.AssetSource source = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the ad group asset. + google.ads.googleads.v16.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; + + // Output only. Provides the PrimaryStatus of this asset link. + // Primary status is meant essentially to differentiate between the plain + // "status" field, which has advertiser set values of enabled, paused, or + // removed. The primary status takes into account other signals (for assets + // its mainly policy and quality approvals) to come up with a more + // comprehensive status to indicate its serving state. + google.ads.googleads.v16.enums.AssetLinkPrimaryStatusEnum + .AssetLinkPrimaryStatus primary_status = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides the details of the primary status and its associated + // reasons. + repeated google.ads.googleads.v16.common.AssetLinkPrimaryStatusDetails + primary_status_details = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides a list of reasons for why an asset is not serving or + // not serving at full capacity. + repeated google.ads.googleads.v16.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_asset_set.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_asset_set.proto new file mode 100644 index 000000000..c7cfa4b12 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_asset_set.proto @@ -0,0 +1,72 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetSetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AdGroupAssetSet resource. + +// AdGroupAssetSet is the linkage between an ad group and an asset set. +// Creating an AdGroupAssetSet links an asset set with an ad group. +message AdGroupAssetSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAssetSet" + pattern: "customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}" + }; + + // Immutable. The resource name of the ad group asset set. + // Ad group asset set resource names have the form: + // + // `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAssetSet" + } + ]; + + // Immutable. The ad group to which this asset set is linked. + string ad_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The asset set which is linked to the ad group. + string asset_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Output only. The status of the ad group asset set. Read-only. + google.ads.googleads.v16.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_audience_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_audience_view.proto new file mode 100644 index 000000000..38ee5cd27 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_audience_view.proto @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group audience view resource. + +// An ad group audience view. +// Includes performance data from interests and remarketing lists for Display +// Network and YouTube Network ads, and remarketing lists for search ads (RLSA), +// aggregated at the audience level. +message AdGroupAudienceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + pattern: "customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the ad group audience view. + // Ad group audience view resource names have the form: + // + // `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_bid_modifier.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_bid_modifier.proto new file mode 100644 index 000000000..78c2b4263 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_bid_modifier.proto @@ -0,0 +1,119 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group bid modifier resource. + +// Represents an ad group bid modifier. +message AdGroupBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + pattern: "customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}" + }; + + // Immutable. The resource name of the ad group bid modifier. + // Ad group bid modifier resource names have the form: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Immutable. The ad group to which this criterion belongs. + optional string ad_group = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent. + // Use 0 to opt out of a Device type. + optional double bid_modifier = 15; + + // Output only. The base ad group from which this draft/trial adgroup bid + // modifier was created. If ad_group is a base ad group then this field will + // be equal to ad_group. If the ad group was created in the draft or trial and + // has no corresponding base ad group, then this field will be null. This + // field is readonly. + optional string base_ad_group = 16 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Bid modifier source. + google.ads.googleads.v16.enums.BidModifierSourceEnum.BidModifierSource + bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for hotel date selection (default dates versus user + // selected). + google.ads.googleads.v16.common.HotelDateSelectionTypeInfo + hotel_date_selection_type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for number of days prior to the stay the booking is + // being made. + google.ads.googleads.v16.common.HotelAdvanceBookingWindowInfo + hotel_advance_booking_window = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for length of hotel stay in nights. + google.ads.googleads.v16.common.HotelLengthOfStayInfo hotel_length_of_stay = + 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for day of the week the booking is for. + google.ads.googleads.v16.common.HotelCheckInDayInfo hotel_check_in_day = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A device criterion. + google.ads.googleads.v16.common.DeviceInfo device = 11 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for a hotel check-in date range. + google.ads.googleads.v16.common.HotelCheckInDateRangeInfo + hotel_check_in_date_range = 17 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion.proto new file mode 100644 index 000000000..4f23b5822 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion.proto @@ -0,0 +1,356 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/common/custom_parameter.proto"; +import "google/ads/googleads/v16/enums/ad_group_criterion_approval_status.proto"; +import "google/ads/googleads/v16/enums/ad_group_criterion_status.proto"; +import "google/ads/googleads/v16/enums/bidding_source.proto"; +import "google/ads/googleads/v16/enums/criterion_system_serving_status.proto"; +import "google/ads/googleads/v16/enums/criterion_type.proto"; +import "google/ads/googleads/v16/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group criterion resource. + +// An ad group criterion. +message AdGroupCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterion" + pattern: "customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}" + }; + + // A container for ad group criterion quality information. + message QualityInfo { + // Output only. The quality score. + // + // This field may not be populated if Google does not have enough + // information to determine a value. + optional int32 quality_score = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The performance of the ad compared to other advertisers. + google.ads.googleads.v16.enums.QualityScoreBucketEnum.QualityScoreBucket + creative_quality_score = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The quality score of the landing page. + google.ads.googleads.v16.enums.QualityScoreBucketEnum.QualityScoreBucket + post_click_quality_score = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The click-through rate compared to that of other + // advertisers. + google.ads.googleads.v16.enums.QualityScoreBucketEnum.QualityScoreBucket + search_predicted_ctr = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Estimates for criterion bids at various positions. + message PositionEstimates { + // Output only. The estimate of the CPC bid required for ad to be shown on + // first page of search results. + optional int64 first_page_cpc_micros = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed + // in first position, at the top of the first page of search results. + optional int64 first_position_cpc_micros = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed + // at the top of the first page of search results. + optional int64 top_of_page_cpc_micros = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how many clicks per week you might get by + // changing your keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_clicks_at_first_position_cpc = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how your cost per week might change when + // changing your keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_cost_at_first_position_cpc = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the ad group criterion. + // Ad group criterion resource names have the form: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 56 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the criterion. + // + // This field is ignored for mutates. + string display_name = 77 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + // + // This is the status of the ad group criterion entity, set by the client. + // Note: UI reports may incorporate additional information that affects + // whether a criterion is eligible to run. In some cases a criterion that's + // REMOVED in the API can still show as enabled in the UI. + // For example, campaigns by default show to users of all age ranges unless + // excluded. The UI will show each age range as "enabled", since they're + // eligible to see the ads; but AdGroupCriterion.status will show "removed", + // since no positive criterion was added. + google.ads.googleads.v16.enums.AdGroupCriterionStatusEnum + .AdGroupCriterionStatus status = 3; + + // Output only. Information regarding the quality of the criterion. + QualityInfo quality_info = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The ad group to which the criterion belongs. + optional string ad_group = 57 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The type of the criterion. + google.ads.googleads.v16.enums.CriterionTypeEnum.CriterionType type = 25 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Whether to target (`false`) or exclude (`true`) the criterion. + // + // This field is immutable. To switch a criterion from positive to negative, + // remove then re-add it. + optional bool negative = 58 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Serving status of the criterion. + google.ads.googleads.v16.enums.CriterionSystemServingStatusEnum + .CriterionSystemServingStatus system_serving_status = 52 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval status of the criterion. + google.ads.googleads.v16.enums.AdGroupCriterionApprovalStatusEnum + .AdGroupCriterionApprovalStatus approval_status = 53 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of disapproval reasons of the criterion. + // + // The different reasons for disapproving a criterion can be found here: + // https://support.google.com/adspolicy/answer/6008942 + // + // This field is read-only. + repeated string disapproval_reasons = 59 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group + // criterion. + repeated string labels = 60 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. + optional double bid_modifier = 61; + + // The CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 62; + + // The CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 63; + + // The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 64; + + // The CPC bid amount, expressed as a fraction of the advertised price + // for some good or service. The valid range for the fraction is [0,1) and the + // value stored here is 1,000,000 * [fraction]. + optional int64 percent_cpc_bid_micros = 65; + + // Output only. The effective CPC (cost-per-click) bid. + optional int64 effective_cpc_bid_micros = 66 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPM (cost-per-thousand viewable impressions) + // bid. + optional int64 effective_cpm_bid_micros = 67 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPV (cost-per-view) bid. + optional int64 effective_cpv_bid_micros = 68 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective Percent CPC bid amount. + optional int64 effective_percent_cpc_bid_micros = 69 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective CPC bid. + google.ads.googleads.v16.enums.BiddingSourceEnum.BiddingSource + effective_cpc_bid_source = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective CPM bid. + google.ads.googleads.v16.enums.BiddingSourceEnum.BiddingSource + effective_cpm_bid_source = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective CPV bid. + google.ads.googleads.v16.enums.BiddingSourceEnum.BiddingSource + effective_cpv_bid_source = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective Percent CPC bid. + google.ads.googleads.v16.enums.BiddingSourceEnum.BiddingSource + effective_percent_cpc_bid_source = 35 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimates for criterion bids at various positions. + PositionEstimates position_estimates = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The list of possible final URLs after all cross-domain redirects for the + // ad. + repeated string final_urls = 70; + + // The list of possible final mobile URLs after all cross-domain redirects. + repeated string final_mobile_urls = 71; + + // URL template for appending params to final URL. + optional string final_url_suffix = 72; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 73; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v16.common.CustomParameter + url_custom_parameters = 14; + + // The ad group criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v16.common.KeywordInfo keyword = 27 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v16.common.PlacementInfo placement = 28 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v16.common.MobileAppCategoryInfo mobile_app_category = + 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v16.common.MobileApplicationInfo mobile_application = + 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing group. + google.ads.googleads.v16.common.ListingGroupInfo listing_group = 32 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v16.common.AgeRangeInfo age_range = 36 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v16.common.GenderInfo gender = 37 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v16.common.IncomeRangeInfo income_range = 38 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v16.common.ParentalStatusInfo parental_status = 39 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + // The Similar Audiences sunset starts May 2023. Refer to + // https://ads-developers.googleblog.com/2022/11/announcing-deprecation-and-sunset-of.html + // for other options. + google.ads.googleads.v16.common.UserListInfo user_list = 42 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v16.common.YouTubeVideoInfo youtube_video = 40 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v16.common.YouTubeChannelInfo youtube_channel = 41 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v16.common.TopicInfo topic = 43 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v16.common.UserInterestInfo user_interest = 45 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage + google.ads.googleads.v16.common.WebpageInfo webpage = 46 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Payment Model. + google.ads.googleads.v16.common.AppPaymentModelInfo app_payment_model = 47 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v16.common.CustomAffinityInfo custom_affinity = 48 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Intent. + google.ads.googleads.v16.common.CustomIntentInfo custom_intent = 49 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience. + google.ads.googleads.v16.common.CustomAudienceInfo custom_audience = 74 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v16.common.CombinedAudienceInfo combined_audience = 75 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Audience. + google.ads.googleads.v16.common.AudienceInfo audience = 79 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v16.common.LocationInfo location = 82 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v16.common.LanguageInfo language = 83 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_customizer.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_customizer.proto new file mode 100644 index 000000000..5f647800e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_customizer.proto @@ -0,0 +1,79 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/customizer_value.proto"; +import "google/ads/googleads/v16/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A customizer value for the associated CustomizerAttribute at the +// AdGroupCriterion level. +message AdGroupCriterionCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + pattern: "customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group criterion customizer. + // Ad group criterion customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + } + ]; + + // Immutable. The ad group criterion to which the customizer attribute is + // linked. It must be a keyword criterion. + optional string ad_group_criterion = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad + // group criterion. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group criterion customizer. + google.ads.googleads.v16.enums.CustomizerValueStatusEnum.CustomizerValueStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The value to associate with the customizer attribute at this + // level. The value must be of the type specified for the CustomizerAttribute. + google.ads.googleads.v16.common.CustomizerValue value = 5 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_label.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_label.proto new file mode 100644 index 000000000..9f8d51ddb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_label.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group criterion label resource. + +// A relationship between an ad group criterion and a label. +message AdGroupCriterionLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + pattern: "customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group criterion label. + // Ad group criterion label resource names have the form: + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // Immutable. The ad group criterion to which the label is attached. + optional string ad_group_criterion = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Immutable. The label assigned to the ad group criterion. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Label" } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_simulation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_simulation.proto new file mode 100644 index 000000000..7b4fc0bd1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_criterion_simulation.proto @@ -0,0 +1,97 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/simulation.proto"; +import "google/ads/googleads/v16/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v16/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group criterion simulation resource. + +// An ad group criterion simulation. Supported combinations of advertising +// channel type, criterion type, simulation type, and simulation modification +// method are detailed below respectively. Hotel AdGroupCriterion simulation +// operations starting in V5. +// +// 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM +// 2. SEARCH - KEYWORD - CPC_BID - UNIFORM +// 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM +// 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM +// 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM +message AdGroupCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + pattern: "customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group criterion simulation. + // Ad group criterion simulation resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + } + ]; + + // Output only. AdGroup ID of the simulation. + optional int64 ad_group_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v16.enums.SimulationTypeEnum.SimulationType type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v16.enums.SimulationModificationMethodEnum + .SimulationModificationMethod modification_method = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD + // format. + optional string start_date = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD + // format. + optional string end_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v16.common.CpcBidSimulationPointList + cpc_bid_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is PERCENT_CPC_BID. + google.ads.googleads.v16.common.PercentCpcBidSimulationPointList + percent_cpc_bid_point_list = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_customizer.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_customizer.proto new file mode 100644 index 000000000..75e9467d3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_customizer.proto @@ -0,0 +1,78 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/customizer_value.proto"; +import "google/ads/googleads/v16/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A customizer value for the associated CustomizerAttribute at the AdGroup +// level. +message AdGroupCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + pattern: "customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group customizer. + // Ad group customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + } + ]; + + // Immutable. The ad group to which the customizer attribute is linked. + string ad_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad + // group. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group customizer. + google.ads.googleads.v16.enums.CustomizerValueStatusEnum.CustomizerValueStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The value to associate with the customizer attribute at this + // level. The value must be of the type specified for the CustomizerAttribute. + google.ads.googleads.v16.common.CustomizerValue value = 5 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_extension_setting.proto new file mode 100644 index 000000000..bb70f0952 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_extension_setting.proto @@ -0,0 +1,79 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/extension_setting_device.proto"; +import "google/ads/googleads/v16/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AdGroupExtensionSetting resource. + +// An ad group extension setting. +message AdGroupExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + pattern: "customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}" + }; + + // Immutable. The resource name of the ad group extension setting. + // AdGroupExtensionSetting resource names have the form: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + } + ]; + + // Immutable. The extension type of the ad group extension setting. + google.ads.googleads.v16.enums.ExtensionTypeEnum.ExtensionType + extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the ad group. The linked extension feed + // items will serve under this ad group. AdGroup resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + optional string ad_group = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The resource names of the extension feed items to serve under the ad group. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v16.enums.ExtensionSettingDeviceEnum + .ExtensionSettingDevice device = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_feed.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_feed.proto new file mode 100644 index 000000000..014b2d6d6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_feed.proto @@ -0,0 +1,82 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/matching_function.proto"; +import "google/ads/googleads/v16/enums/feed_link_status.proto"; +import "google/ads/googleads/v16/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AdGroupFeed resource. + +// An ad group feed. +message AdGroupFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupFeed" + pattern: "customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}" + }; + + // Immutable. The resource name of the ad group feed. + // Ad group feed resource names have the form: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Immutable. The feed being linked to the ad group. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Immutable. The ad group being linked to the feed. + optional string ad_group = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // ad group. Required. + repeated google.ads.googleads.v16.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_types = 4; + + // Matching function associated with the AdGroupFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v16.common.MatchingFunction matching_function = 5; + + // Output only. Status of the ad group feed. + // This field is read-only. + google.ads.googleads.v16.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_label.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_label.proto new file mode 100644 index 000000000..ac4a6281b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_label.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group label resource. + +// A relationship between an ad group and a label. +message AdGroupLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupLabel" + pattern: "customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group label. + // Ad group label resource names have the form: + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // Immutable. The ad group to which the label is attached. + optional string ad_group = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The label assigned to the ad group. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Label" } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_simulation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_simulation.proto new file mode 100644 index 000000000..1b8b84c9d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_group_simulation.proto @@ -0,0 +1,102 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/simulation.proto"; +import "google/ads/googleads/v16/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v16/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad group simulation resource. + +// An ad group simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification method is +// detailed below respectively. +// +// 1. SEARCH - CPC_BID - DEFAULT +// 2. SEARCH - CPC_BID - UNIFORM +// 3. SEARCH - TARGET_CPA - UNIFORM +// 4. SEARCH - TARGET_ROAS - UNIFORM +// 5. DISPLAY - CPC_BID - DEFAULT +// 6. DISPLAY - CPC_BID - UNIFORM +// 7. DISPLAY - TARGET_CPA - UNIFORM +message AdGroupSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupSimulation" + pattern: "customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group simulation. + // Ad group simulation resource names have the form: + // + // `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupSimulation" + } + ]; + + // Output only. Ad group id of the simulation. + optional int64 ad_group_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v16.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v16.enums.SimulationModificationMethodEnum + .SimulationModificationMethod modification_method = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD + // format. + optional string start_date = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD + // format + optional string end_date = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v16.common.CpcBidSimulationPointList + cpc_bid_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is CPV_BID. + google.ads.googleads.v16.common.CpvBidSimulationPointList + cpv_bid_point_list = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is TARGET_CPA. + google.ads.googleads.v16.common.TargetCpaSimulationPointList + target_cpa_point_list = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is TARGET_ROAS. + google.ads.googleads.v16.common.TargetRoasSimulationPointList + target_roas_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_parameter.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_parameter.proto new file mode 100644 index 000000000..468f1ef3f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_parameter.proto @@ -0,0 +1,81 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad parameter resource. + +// An ad parameter that is used to update numeric values (such as prices or +// inventory levels) in any text line of an ad (including URLs). There can +// be a maximum of two AdParameters per ad group criterion. (One with +// parameter_index = 1 and one with parameter_index = 2.) +// In the ad the parameters are referenced by a placeholder of the form +// "{param#:value}". For example, "{param1:$17}" +message AdParameter { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdParameter" + pattern: "customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}" + }; + + // Immutable. The resource name of the ad parameter. + // Ad parameter resource names have the form: + // + // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + } + ]; + + // Immutable. The ad group criterion that this ad parameter belongs to. + optional string ad_group_criterion = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Immutable. The unique index of this ad parameter. Must be either 1 or 2. + optional int64 parameter_index = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Numeric value to insert into the ad text. The following restrictions + // apply: + // - Can use comma or period as a separator, with an optional period or + // comma (respectively) for fractional values. For example, 1,000,000.00 + // and 2.000.000,10 are valid. + // - Can be prepended or appended with a currency symbol. For example, + // $99.99 is valid. + // - Can be prepended or appended with a currency code. For example, 99.99USD + // and EUR200 are valid. + // - Can use '%'. For example, 1.0% and 1,0% are valid. + // - Can use plus or minus. For example, -10.99 and 25+ are valid. + // - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are + // valid. + optional string insertion_text = 7; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/ad_schedule_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/ad_schedule_view.proto new file mode 100644 index 000000000..a5bd7f1e2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/ad_schedule_view.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ad schedule view resource. + +// An ad schedule view summarizes the performance of campaigns by +// AdSchedule criteria. +message AdScheduleView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdScheduleView" + pattern: "customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the ad schedule view. + // AdSchedule view resource names have the form: + // + // `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdScheduleView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/age_range_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/age_range_view.proto new file mode 100644 index 000000000..55abfbc30 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/age_range_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the age range view resource. + +// An age range view. +message AgeRangeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AgeRangeView" + pattern: "customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the age range view. + // Age range view resource names have the form: + // + // `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AgeRangeView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_ad_group.proto b/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_ad_group.proto new file mode 100644 index 000000000..1452f4cc0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_ad_group.proto @@ -0,0 +1,79 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/android_privacy_interaction_type.proto"; +import "google/ads/googleads/v16/enums/android_privacy_network_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacySharedKeyGoogleAdGroupProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AndroidPrivacySharedKeyGoogleAdGroup resource. + +// An Android privacy shared key view for Google ad group key. +message AndroidPrivacySharedKeyGoogleAdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/AndroidPrivacySharedKeyGoogleAdGroup" + pattern: "customers/{customer_id}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id}~{ad_group_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date}" + }; + + // Output only. The resource name of the Android privacy shared key. + // Android privacy shared key resource names have the form: + // + // `customers/{customer_id}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id}~{ad_group_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AndroidPrivacySharedKeyGoogleAdGroup" + } + ]; + + // Output only. The campaign ID used in the share key encoding. + int64 campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The interaction type enum used in the share key encoding. + google.ads.googleads.v16.enums.AndroidPrivacyInteractionTypeEnum + .AndroidPrivacyInteractionType android_privacy_interaction_type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The interaction date used in the shared key encoding in the + // format of "YYYY-MM-DD" in UTC timezone. + string android_privacy_interaction_date = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The network type enum used in the share key encoding. + google.ads.googleads.v16.enums.AndroidPrivacyNetworkTypeEnum + .AndroidPrivacyNetworkType android_privacy_network_type = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ad group ID used in the share key encoding. + int64 ad_group_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. 128 bit hex string of the encoded shared ad group key, + // including a '0x' prefix. This key can be used to do a bitwise OR operator + // with the aggregate conversion key to create a full aggregation key to + // retrieve the Aggregate API Report in Android Privacy Sandbox. + string shared_ad_group_key = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_campaign.proto b/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_campaign.proto new file mode 100644 index 000000000..f6491d004 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_campaign.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/android_privacy_interaction_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacySharedKeyGoogleCampaignProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AndroidPrivacySharedKeyGoogleCampaign resource. + +// An Android privacy shared key view for Google campaign key. +message AndroidPrivacySharedKeyGoogleCampaign { + option (google.api.resource) = { + type: "googleads.googleapis.com/AndroidPrivacySharedKeyGoogleCampaign" + pattern: "customers/{customer_id}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_interaction_date}" + }; + + // Output only. The resource name of the Android privacy shared key. + // Android privacy shared key resource names have the form: + // + // `customers/{customer_id}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_interaction_date(yyyy-mm-dd)}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AndroidPrivacySharedKeyGoogleCampaign" + } + ]; + + // Output only. The campaign ID used in the share key encoding. + int64 campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The interaction type enum used in the share key encoding. + google.ads.googleads.v16.enums.AndroidPrivacyInteractionTypeEnum + .AndroidPrivacyInteractionType android_privacy_interaction_type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The interaction date used in the shared key encoding in the + // format of "YYYY-MM-DD" in UTC timezone. + string android_privacy_interaction_date = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. 128 bit hex string of the encoded shared campaign key, + // including a '0x' prefix. This key can be used to do a bitwise OR operator + // with the aggregate conversion key to create a full aggregation key to + // retrieve the Aggregate API Report in Android Privacy Sandbox. + string shared_campaign_key = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_network_type.proto b/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_network_type.proto new file mode 100644 index 000000000..b51265cd5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/android_privacy_shared_key_google_network_type.proto @@ -0,0 +1,77 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/android_privacy_interaction_type.proto"; +import "google/ads/googleads/v16/enums/android_privacy_network_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AndroidPrivacySharedKeyGoogleNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AndroidPrivacySharedKeyGoogleNetworkType resource. + +// An Android privacy shared key view for Google network type key. +message AndroidPrivacySharedKeyGoogleNetworkType { + option (google.api.resource) = { + type: "googleads.googleapis.com/AndroidPrivacySharedKeyGoogleNetworkType" + pattern: "customers/{customer_id}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date}" + }; + + // Output only. The resource name of the Android privacy shared key. + // Android privacy shared key resource names have the form: + // + // `customers/{customer_id}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AndroidPrivacySharedKeyGoogleNetworkType" + } + ]; + + // Output only. The campaign ID used in the share key encoding. + int64 campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The interaction type enum used in the share key encoding. + google.ads.googleads.v16.enums.AndroidPrivacyInteractionTypeEnum + .AndroidPrivacyInteractionType android_privacy_interaction_type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The interaction date used in the shared key encoding in the + // format of "YYYY-MM-DD" in UTC timezone. + string android_privacy_interaction_date = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The network type enum used in the share key encoding. + google.ads.googleads.v16.enums.AndroidPrivacyNetworkTypeEnum + .AndroidPrivacyNetworkType android_privacy_network_type = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. 128 bit hex string of the encoded shared network type key, + // including a '0x' prefix. This key can be used to do a bitwise OR operator + // with the aggregate conversion key to create a full aggregation key to + // retrieve the Aggregate API Report in Android Privacy Sandbox. + string shared_network_type_key = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset.proto new file mode 100644 index 000000000..a486a127f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset.proto @@ -0,0 +1,230 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/asset_types.proto"; +import "google/ads/googleads/v16/common/custom_parameter.proto"; +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/asset_source.proto"; +import "google/ads/googleads/v16/enums/asset_type.proto"; +import "google/ads/googleads/v16/enums/policy_approval_status.proto"; +import "google/ads/googleads/v16/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the asset resource. + +// Asset is a part of an ad which can be shared across multiple ads. +// It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. +// Assets are immutable and cannot be removed. To stop an asset from serving, +// remove the asset from the entity that is using it. +message Asset { + option (google.api.resource) = { + type: "googleads.googleapis.com/Asset" + pattern: "customers/{customer_id}/assets/{asset_id}" + }; + + // Immutable. The resource name of the asset. + // Asset resource names have the form: + // + // `customers/{customer_id}/assets/{asset_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // Output only. The ID of the asset. + optional int64 id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional name of the asset. + optional string name = 12; + + // Output only. Type of the asset. + google.ads.googleads.v16.enums.AssetTypeEnum.AssetType type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A list of possible final URLs after all cross domain redirects. + repeated string final_urls = 14; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 16; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 17; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated google.ads.googleads.v16.common.CustomParameter + url_custom_parameters = 18; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 19; + + // Output only. Source of the asset. + google.ads.googleads.v16.enums.AssetSourceEnum.AssetSource source = 38 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy information for the asset. + AssetPolicySummary policy_summary = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy information for the asset for each FieldType. + repeated AssetFieldTypePolicySummary field_type_policy_summaries = 40 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The specific type of the asset. + oneof asset_data { + // Immutable. A YouTube video asset. + google.ads.googleads.v16.common.YoutubeVideoAsset youtube_video_asset = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A media bundle asset. + google.ads.googleads.v16.common.MediaBundleAsset media_bundle_asset = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. An image asset. + google.ads.googleads.v16.common.ImageAsset image_asset = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A text asset. + google.ads.googleads.v16.common.TextAsset text_asset = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // A lead form asset. + google.ads.googleads.v16.common.LeadFormAsset lead_form_asset = 9; + + // A book on google asset. + google.ads.googleads.v16.common.BookOnGoogleAsset book_on_google_asset = 10; + + // A promotion asset. + google.ads.googleads.v16.common.PromotionAsset promotion_asset = 15; + + // A callout asset. + google.ads.googleads.v16.common.CalloutAsset callout_asset = 20; + + // A structured snippet asset. + google.ads.googleads.v16.common.StructuredSnippetAsset + structured_snippet_asset = 21; + + // A sitelink asset. + google.ads.googleads.v16.common.SitelinkAsset sitelink_asset = 22; + + // A page feed asset. + google.ads.googleads.v16.common.PageFeedAsset page_feed_asset = 23; + + // A dynamic education asset. + google.ads.googleads.v16.common.DynamicEducationAsset + dynamic_education_asset = 24; + + // A mobile app asset. + google.ads.googleads.v16.common.MobileAppAsset mobile_app_asset = 25; + + // A hotel callout asset. + google.ads.googleads.v16.common.HotelCalloutAsset hotel_callout_asset = 26; + + // A call asset. + google.ads.googleads.v16.common.CallAsset call_asset = 27; + + // A price asset. + google.ads.googleads.v16.common.PriceAsset price_asset = 28; + + // Immutable. A call to action asset. + google.ads.googleads.v16.common.CallToActionAsset call_to_action_asset = 29 + [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic real estate asset. + google.ads.googleads.v16.common.DynamicRealEstateAsset + dynamic_real_estate_asset = 30; + + // A dynamic custom asset. + google.ads.googleads.v16.common.DynamicCustomAsset dynamic_custom_asset = + 31; + + // A dynamic hotels and rentals asset. + google.ads.googleads.v16.common.DynamicHotelsAndRentalsAsset + dynamic_hotels_and_rentals_asset = 32; + + // A dynamic flights asset. + google.ads.googleads.v16.common.DynamicFlightsAsset dynamic_flights_asset = + 33; + + // Immutable. A discovery carousel card asset. + google.ads.googleads.v16.common.DiscoveryCarouselCardAsset + discovery_carousel_card_asset = 34 + [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic travel asset. + google.ads.googleads.v16.common.DynamicTravelAsset dynamic_travel_asset = + 35; + + // A dynamic local asset. + google.ads.googleads.v16.common.DynamicLocalAsset dynamic_local_asset = 36; + + // A dynamic jobs asset. + google.ads.googleads.v16.common.DynamicJobsAsset dynamic_jobs_asset = 37; + + // Output only. A location asset. + google.ads.googleads.v16.common.LocationAsset location_asset = 39 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A hotel property asset. + google.ads.googleads.v16.common.HotelPropertyAsset hotel_property_asset = 41 + [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Contains policy information for an asset under AssetFieldType context. +message AssetFieldTypePolicySummary { + // Output only. FieldType of this asset. + optional google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of this asset. + optional google.ads.googleads.v16.enums.AssetSourceEnum.AssetSource + asset_source = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy summary. + optional AssetPolicySummary policy_summary_info = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Contains policy information for an asset. +message AssetPolicySummary { + // Output only. The list of policy findings for this asset. + repeated google.ads.googleads.v16.common.PolicyTopicEntry + policy_topic_entries = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where in the review process this asset is. + google.ads.googleads.v16.enums.PolicyReviewStatusEnum.PolicyReviewStatus + review_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The overall approval status of this asset, calculated based on + // the status of its individual policy topic entries. + google.ads.googleads.v16.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_field_type_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_field_type_view.proto new file mode 100644 index 000000000..29a0c47c8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_field_type_view.proto @@ -0,0 +1,57 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AssetFieldTypeView resource. + +// An asset field type view. +// This view reports non-overcounted metrics for each asset field type when the +// asset is used as extension. +message AssetFieldTypeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + pattern: "customers/{customer_id}/assetFieldTypeViews/{field_type}" + }; + + // Output only. The resource name of the asset field type view. + // Asset field type view resource names have the form: + // + // `customers/{customer_id}/assetFieldTypeViews/{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + } + ]; + + // Output only. The asset field type of the asset field type view. + google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_group.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group.proto new file mode 100644 index 000000000..09a009445 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group.proto @@ -0,0 +1,108 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/ad_strength.proto"; +import "google/ads/googleads/v16/enums/asset_group_primary_status.proto"; +import "google/ads/googleads/v16/enums/asset_group_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// An asset group. +// AssetGroupAsset is used to link an asset to the asset group. +// AssetGroupSignal is used to associate a signal to an asset group. +message AssetGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroup" + pattern: "customers/{customer_id}/assetGroups/{asset_group_id}" + }; + + // Immutable. The resource name of the asset group. + // Asset group resource names have the form: + // + // `customers/{customer_id}/assetGroups/{asset_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; + + // Output only. The ID of the asset group. + int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The campaign with which this asset group is associated. + // The asset which is linked to the asset group. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Name of the asset group. Required. It must have a minimum length + // of 1 and maximum length of 128. It must be unique under a campaign. + string name = 3 [(google.api.field_behavior) = REQUIRED]; + + // A list of final URLs after all cross domain redirects. In performance max, + // by default, the urls are eligible for expansion unless opted out. + repeated string final_urls = 4; + + // A list of final mobile URLs after all cross domain redirects. In + // performance max, by default, the urls are eligible for expansion + // unless opted out. + repeated string final_mobile_urls = 5; + + // The status of the asset group. + google.ads.googleads.v16.enums.AssetGroupStatusEnum.AssetGroupStatus status = + 6; + + // Output only. The primary status of the asset group. Provides insights into + // why an asset group is not serving or not serving optimally. + google.ads.googleads.v16.enums.AssetGroupPrimaryStatusEnum + .AssetGroupPrimaryStatus primary_status = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides reasons into why an asset group is not serving or not + // serving optimally. It will be empty when the asset group is serving without + // issues. + repeated google.ads.googleads.v16.enums.AssetGroupPrimaryStatusReasonEnum + .AssetGroupPrimaryStatusReason primary_status_reasons = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // First part of text that may appear appended to the url displayed in + // the ad. + string path1 = 7; + + // Second part of text that may appear appended to the url displayed in + // the ad. This field can only be set when path1 is set. + string path2 = 8; + + // Output only. Overall ad strength of this asset group. + google.ads.googleads.v16.enums.AdStrengthEnum.AdStrength ad_strength = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_asset.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_asset.proto new file mode 100644 index 000000000..e96c44954 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_asset.proto @@ -0,0 +1,112 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/asset_policy.proto"; +import "google/ads/googleads/v16/common/policy_summary.proto"; +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/asset_link_status.proto"; +import "google/ads/googleads/v16/enums/asset_performance_label.proto"; +import "google/ads/googleads/v16/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// AssetGroupAsset is the link between an asset and an asset group. +// Adding an AssetGroupAsset links an asset with an asset group. +message AssetGroupAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroupAsset" + pattern: "customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}" + }; + + // Immutable. The resource name of the asset group asset. + // Asset group asset resource name have the form: + // + // `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupAsset" + } + ]; + + // Immutable. The asset group which this asset group asset is linking. + string asset_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; + + // Immutable. The asset which this asset group asset is linking. + string asset = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // The description of the placement of the asset within the asset group. For + // example: HEADLINE, YOUTUBE_VIDEO etc + google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 4; + + // The status of the link between an asset and asset group. + google.ads.googleads.v16.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; + + // Output only. Provides the PrimaryStatus of this asset link. + // Primary status is meant essentially to differentiate between the plain + // "status" field, which has advertiser set values of enabled, paused, or + // removed. The primary status takes into account other signals (for assets + // its mainly policy and quality approvals) to come up with a more + // comprehensive status to indicate its serving state. + google.ads.googleads.v16.enums.AssetLinkPrimaryStatusEnum + .AssetLinkPrimaryStatus primary_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides a list of reasons for why an asset is not serving or + // not serving at full capacity. + repeated google.ads.googleads.v16.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides the details of the primary status and its associated + // reasons. + repeated google.ads.googleads.v16.common.AssetLinkPrimaryStatusDetails + primary_status_details = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The performance of this asset group asset. + google.ads.googleads.v16.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel + performance_label = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The policy information for this asset group asset. + google.ads.googleads.v16.common.PolicySummary policy_summary = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the asset group asset. + google.ads.googleads.v16.enums.AssetSourceEnum.AssetSource source = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_listing_group_filter.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_listing_group_filter.proto new file mode 100644 index 000000000..a23c61299 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_listing_group_filter.proto @@ -0,0 +1,230 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/googleads/v16/enums/listing_group_filter_listing_source.proto"; +import "google/ads/googleads/v16/enums/listing_group_filter_product_category_level.proto"; +import "google/ads/googleads/v16/enums/listing_group_filter_product_channel.proto"; +import "google/ads/googleads/v16/enums/listing_group_filter_product_condition.proto"; +import "google/ads/googleads/v16/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/googleads/v16/enums/listing_group_filter_type_enum.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// AssetGroupListingGroupFilter represents a listing group filter tree node in +// an asset group. +message AssetGroupListingGroupFilter { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + pattern: "customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}" + }; + + // Immutable. The resource name of the asset group listing group filter. + // Asset group listing group filter resource name have the form: + // + // `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + } + ]; + + // Immutable. The asset group which this asset group listing group filter is + // part of. + string asset_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; + + // Output only. The ID of the ListingGroupFilter. + int64 id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Type of a listing group filter node. + google.ads.googleads.v16.enums.ListingGroupFilterTypeEnum + .ListingGroupFilterType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The source of listings filtered by this listing group filter. + google.ads.googleads.v16.enums.ListingGroupFilterListingSourceEnum + .ListingGroupFilterListingSource listing_source = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Dimension value with which this listing group is refining its parent. + // Undefined for the root group. + ListingGroupFilterDimension case_value = 6; + + // Immutable. Resource name of the parent listing group subdivision. Null for + // the root listing group filter node. + string parent_listing_group_filter = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + } + ]; + + // Output only. The path of dimensions defining this listing group filter. + ListingGroupFilterDimensionPath path = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The path defining of dimensions defining a listing group filter. +message ListingGroupFilterDimensionPath { + // Output only. The complete path of dimensions through the listing group + // filter hierarchy (excluding the root node) to this listing group filter. + repeated ListingGroupFilterDimension dimensions = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Listing dimensions for the asset group listing group filter. +message ListingGroupFilterDimension { + // One element of a category at a certain level. Top-level categories + // are at level 1, their children at level 2, and so on. We currently support + // up to 5 levels. The user must specify a dimension type that indicates the + // level of the category. All cases of the same subdivision must have the same + // dimension type (category level). + message ProductCategory { + // ID of the product category. + // + // This ID is equivalent to the google_product_category ID as described in + // this article: https://support.google.com/merchants/answer/6324436 + optional int64 category_id = 1; + + // Indicates the level of the category in the taxonomy. + google.ads.googleads.v16.enums.ListingGroupFilterProductCategoryLevelEnum + .ListingGroupFilterProductCategoryLevel level = 2; + } + + // Brand of the product. + message ProductBrand { + // String value of the product brand. + optional string value = 1; + } + + // Locality of a product offer. + message ProductChannel { + // Value of the locality. + google.ads.googleads.v16.enums.ListingGroupFilterProductChannelEnum + .ListingGroupFilterProductChannel channel = 1; + } + + // Condition of a product offer. + message ProductCondition { + // Value of the condition. + google.ads.googleads.v16.enums.ListingGroupFilterProductConditionEnum + .ListingGroupFilterProductCondition condition = 1; + } + + // Custom attribute of a product offer. + message ProductCustomAttribute { + // String value of the product custom attribute. + optional string value = 1; + + // Indicates the index of the custom attribute. + google.ads.googleads.v16.enums.ListingGroupFilterCustomAttributeIndexEnum + .ListingGroupFilterCustomAttributeIndex index = 2; + } + + // Item id of a product offer. + message ProductItemId { + // Value of the id. + optional string value = 1; + } + + // Type of a product offer. + message ProductType { + // Value of the type. + optional string value = 1; + + // Level of the type. + google.ads.googleads.v16.enums.ListingGroupFilterProductTypeLevelEnum + .ListingGroupFilterProductTypeLevel level = 2; + } + + // Filters for URLs in a page feed and URLs from the advertiser web domain. + // Several root nodes with this dimension are allowed in an asset group and + // their conditions are considered in OR. + message Webpage { + // The webpage conditions are case sensitive and these are and-ed together + // when evaluated for filtering. All the conditions should be of same type. + // Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 + // and URL2 = www.ads.google.com?ocid=1 + // and with "ocid" and "euid" as url_contains conditions, + // URL1 will be matched, but URL2 not. + // + // Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then + // with Label1 and Label2 as custom_label conditions, URL1 will be matched + // but not URL2. + // With Label2 as the only custom_label condition then both URL1 and URL2 + // will be matched. + repeated WebpageCondition conditions = 1; + } + + // Matching condition for URL filtering. + message WebpageCondition { + // Condition for filtering the URLs. + oneof condition { + // Filters the URLs in a page feed that have this custom label. A custom + // label can be added to a campaign by creating an AssetSet of type + // PAGE_FEED and linking it to the campaign using CampaignAssetSet. + string custom_label = 1; + + // Filters the URLs in a page feed and the URLs from the advertiser web + // domain that contain this string. + string url_contains = 2; + } + } + + // Dimension of one of the types below is always present. + oneof dimension { + // Category of a product offer. + ProductCategory product_category = 10; + + // Brand of a product offer. + ProductBrand product_brand = 2; + + // Locality of a product offer. + ProductChannel product_channel = 3; + + // Condition of a product offer. + ProductCondition product_condition = 4; + + // Custom attribute of a product offer. + ProductCustomAttribute product_custom_attribute = 5; + + // Item id of a product offer. + ProductItemId product_item_id = 6; + + // Type of a product offer. + ProductType product_type = 7; + + // Filters for URLs in a page feed and URLs from the advertiser web domain. + Webpage webpage = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_product_group_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_product_group_view.proto new file mode 100644 index 000000000..fa94b8969 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_product_group_view.proto @@ -0,0 +1,66 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AssetGroupProductGroupView resource. + +// An asset group product group view. +message AssetGroupProductGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroupProductGroupView" + pattern: "customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}" + }; + + // Output only. The resource name of the asset group product group view. + // Asset group product group view resource names have the form: + // + // `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupProductGroupView" + } + ]; + + // Output only. The asset group associated with the listing group filter. + string asset_group = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; + + // Output only. The resource name of the asset group listing group filter. + string asset_group_listing_group_filter = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_signal.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_signal.proto new file mode 100644 index 000000000..2ad259eeb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_signal.proto @@ -0,0 +1,95 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/enums/asset_group_signal_approval_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// AssetGroupSignal represents a signal in an asset group. The existence of a +// signal tells the performance max campaign who's most likely to convert. +// Performance Max uses the signal to look for new people with similar or +// stronger intent to find conversions across Search, Display, Video, and more. +message AssetGroupSignal { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroupSignal" + pattern: "customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}" + }; + + // Immutable. The resource name of the asset group signal. + // Asset group signal resource name have the form: + // + // `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupSignal" + } + ]; + + // Immutable. The asset group which this asset group signal belongs to. + string asset_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; + + // Output only. Approval status is the output value for search theme signal + // after Google ads policy review. When using Audience signal, this field is + // not used and will be absent. + google.ads.googleads.v16.enums.AssetGroupSignalApprovalStatusEnum + .AssetGroupSignalApprovalStatus approval_status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Computed for SearchTheme signals. + // When using Audience signal, this field is not used and will be absent. + repeated string disapproval_reasons = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The signal of the asset group. + oneof signal { + // Immutable. The audience signal to be used by the performance max + // campaign. + google.ads.googleads.v16.common.AudienceInfo audience = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The search_theme signal to be used by the performance max + // campaign. + // Mutate errors of search_theme criterion includes + // AssetGroupSignalError.UNSPECIFIED + // AssetGroupSignalError.UNKNOWN + // AssetGroupSignalError.TOO_MANY_WORDS + // AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION + // FieldError.REQUIRED + // StringFormatError.ILLEGAL_CHARS + // StringLengthError.TOO_LONG + // ResourceCountLimitExceededError.RESOURCE_LIMIT + google.ads.googleads.v16.common.SearchThemeInfo search_theme = 5 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_top_combination_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_top_combination_view.proto new file mode 100644 index 000000000..0f9e239f0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_group_top_combination_view.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupTopCombinationViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the asset group top combination view resource. + +// A view on the usage of ad group ad asset combination. +message AssetGroupTopCombinationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroupTopCombinationView" + pattern: "customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{asset_combination_category}" + }; + + // Output only. The resource name of the asset group top combination view. + // AssetGroup Top Combination view resource names have the form: + // `"customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{asset_combination_category}" + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupTopCombinationView" + } + ]; + + // Output only. The top combinations of assets that served together. + repeated AssetGroupAssetCombinationData asset_group_top_combinations = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Asset group asset combination data +message AssetGroupAssetCombinationData { + // Output only. Served assets. + repeated google.ads.googleads.v16.common.AssetUsage + asset_combination_served_assets = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_set.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_set.proto new file mode 100644 index 000000000..e20fc9595 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_set.proto @@ -0,0 +1,122 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/asset_set_types.proto"; +import "google/ads/googleads/v16/enums/asset_set_status.proto"; +import "google/ads/googleads/v16/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// An asset set representing a collection of assets. +// Use AssetSetAsset to link an asset to the asset set. +message AssetSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetSet" + pattern: "customers/{customer_id}/assetSets/{asset_set_id}" + }; + + // Merchant ID and Feed Label from Google Merchant Center. + message MerchantCenterFeed { + // Required. Merchant ID from Google Merchant Center + int64 merchant_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Feed Label from Google Merchant Center. + optional string feed_label = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // For Performance Max for travel goals campaigns with a Hotel + // Center account link. Read-only. + message HotelPropertyData { + // Output only. The hotel center ID of the partner. + optional int64 hotel_center_id = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the hotel partner. + optional string partner_name = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The ID of the asset set. + int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the asset set. + // Asset set resource names have the form: + // + // `customers/{customer_id}/assetSets/{asset_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Required. Name of the asset set. Required. It must have a minimum length of + // 1 and maximum length of 128. + string name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The type of the asset set. Required. + google.ads.googleads.v16.enums.AssetSetTypeEnum.AssetSetType type = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. The status of the asset set. Read-only. + google.ads.googleads.v16.enums.AssetSetStatusEnum.AssetSetStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Merchant ID and Feed Label from Google Merchant Center. + MerchantCenterFeed merchant_center_feed = 5; + + // Immutable. Parent asset set id for the asset set where the elements of this + // asset set come from. For example: the sync level location AssetSet id where + // the the elements in LocationGroup AssetSet come from. This field is + // required and only applicable for Location Group typed AssetSet. + int64 location_group_parent_asset_set_id = 10 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. For Performance Max for travel goals campaigns with a Hotel + // Center account link. Read-only. + HotelPropertyData hotel_property_data = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Asset set data specific to each asset set type. Not all types have specific + // data. + oneof asset_set_source { + // Location asset set data. This will be used for sync level location + // set. This can only be set if AssetSet's type is LOCATION_SYNC. + google.ads.googleads.v16.common.LocationSet location_set = 7; + + // Business Profile location group asset set data. + google.ads.googleads.v16.common.BusinessProfileLocationGroup + business_profile_location_group = 8; + + // Represents information about a Chain dynamic location group. + // Only applicable if the sync level AssetSet's type is LOCATION_SYNC and + // sync source is chain. + google.ads.googleads.v16.common.ChainLocationGroup chain_location_group = 9; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_set_asset.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_set_asset.proto new file mode 100644 index 000000000..5845a2702 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_set_asset.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// AssetSetAsset is the link between an asset and an asset set. +// Adding an AssetSetAsset links an asset with an asset set. +message AssetSetAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetSetAsset" + pattern: "customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}" + }; + + // Immutable. The resource name of the asset set asset. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + } + ]; + + // Immutable. The asset set which this asset set asset is linking to. + string asset_set = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Immutable. The asset which this asset set asset is linking to. + string asset = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // Output only. The status of the asset set asset. Read-only. + google.ads.googleads.v16.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/asset_set_type_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/asset_set_type_view.proto new file mode 100644 index 000000000..f084b6d53 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/asset_set_type_view.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the AssetSetTypeView resource. + +// An asset set type view. +// This view reports non-overcounted metrics for each asset set type. Child +// asset set types are not included in this report. Their stats are aggregated +// under the parent asset set type. +message AssetSetTypeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetSetTypeView" + pattern: "customers/{customer_id}/assetSetTypeViews/{asset_set_type}" + }; + + // Output only. The resource name of the asset set type view. + // Asset set type view resource names have the form: + // + // `customers/{customer_id}/assetSetTypeViews/{asset_set_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetTypeView" + } + ]; + + // Output only. The asset set type of the asset set type view. + google.ads.googleads.v16.enums.AssetSetTypeEnum.AssetSetType asset_set_type = + 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/audience.proto b/third_party/googleapis/google/ads/googleads/v16/resources/audience.proto new file mode 100644 index 000000000..7dbe92f5b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/audience.proto @@ -0,0 +1,97 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/audiences.proto"; +import "google/ads/googleads/v16/enums/audience_scope.proto"; +import "google/ads/googleads/v16/enums/audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AudienceProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Audience resource. + +// Audience is an effective targeting option that lets you +// intersect different segment attributes, such as detailed demographics and +// affinities, to create audiences that represent sections of your target +// segments. +message Audience { + option (google.api.resource) = { + type: "googleads.googleapis.com/Audience" + pattern: "customers/{customer_id}/audiences/{audience_id}" + }; + + // Immutable. The resource name of the audience. + // Audience names have the form: + // + // `customers/{customer_id}/audiences/{audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Audience" + } + ]; + + // Output only. ID of the audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this audience. Indicates whether the audience + // is enabled or removed. + google.ads.googleads.v16.enums.AudienceStatusEnum.AudienceStatus status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the audience. It should be unique across all audiences within the + // account. It must have a minimum length of 1 and maximum length of 255. + // Required when scope is not set or is set to CUSTOMER. Cannot be set or + // updated when scope is ASSET_GROUP. + optional string name = 10; + + // Description of this audience. + string description = 5; + + // Positive dimensions specifying the audience composition. + repeated google.ads.googleads.v16.common.AudienceDimension dimensions = 6; + + // Negative dimension specifying the audience composition. + google.ads.googleads.v16.common.AudienceExclusionDimension + exclusion_dimension = 7; + + // Defines the scope this audience can be used in. By default, the scope is + // CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for + // exclusive use by a single asset_group. Scope may change from ASSET_GROUP to + // CUSTOMER but not from CUSTOMER to ASSET_GROUP. + google.ads.googleads.v16.enums.AudienceScopeEnum.AudienceScope scope = 8; + + // Immutable. The asset group that this audience is scoped under. Must be set + // if and only if scope is ASSET_GROUP. Immutable after creation. If an + // audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field + // will automatically be cleared. + string asset_group = 9 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/batch_job.proto b/third_party/googleapis/google/ads/googleads/v16/resources/batch_job.proto new file mode 100644 index 000000000..130235adb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/batch_job.proto @@ -0,0 +1,113 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/batch_job_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the batch job resource. + +// A list of mutates being processed asynchronously. The mutates are uploaded +// by the user. The mutates themselves aren't readable and the results of the +// job can only be read using BatchJobService.ListBatchJobResults. +message BatchJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/BatchJob" + pattern: "customers/{customer_id}/batchJobs/{batch_job_id}" + }; + + // Additional information about the batch job. This message is also used as + // metadata returned in batch job Long Running Operations. + message BatchJobMetadata { + // Output only. The time when this batch job was created. + // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" + optional string creation_date_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this batch job started running. + // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30" + optional string start_date_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this batch job was completed. + // Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" + optional string completion_date_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fraction (between 0.0 and 1.0) of mutates that have been + // processed. This is empty if the job hasn't started running yet. + optional double estimated_completion_ratio = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of mutate operations in the batch job. + optional int64 operation_count = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of mutate operations executed by the batch job. + // Present only if the job has started running. + optional int64 executed_operation_count = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The approximate upper bound for how long a batch job can be + // executed, in seconds. If the job runs more than the given upper bound, + // the job will be canceled. + optional int32 execution_limit_seconds = 13 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // Immutable. The resource name of the batch job. + // Batch job resource names have the form: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Output only. ID of this batch job. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The next sequence token to use when adding operations. Only + // set when the batch job status is PENDING. + optional string next_add_sequence_token = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Contains additional information about this batch job. + BatchJobMetadata metadata = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this batch job. + google.ads.googleads.v16.enums.BatchJobStatusEnum.BatchJobStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be + // used to poll for completion. Only set when the batch job status is RUNNING + // or DONE. + optional string long_running_operation = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/bidding_data_exclusion.proto b/third_party/googleapis/google/ads/googleads/v16/resources/bidding_data_exclusion.proto new file mode 100644 index 000000000..4eeb91d6e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/bidding_data_exclusion.proto @@ -0,0 +1,112 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v16/enums/device.proto"; +import "google/ads/googleads/v16/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v16/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Represents a bidding data exclusion. +// +// See "About data exclusions" at +// https://support.google.com/google-ads/answer/10370710. +message BiddingDataExclusion { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + pattern: "customers/{customer_id}/biddingDataExclusions/{seasonality_event_id}" + }; + + // Immutable. The resource name of the data exclusion. + // Data exclusion resource names have the form: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + } + ]; + + // Output only. The ID of the data exclusion. + int64 data_exclusion_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the data exclusion. + google.ads.googleads.v16.enums.SeasonalityEventScopeEnum.SeasonalityEventScope + scope = 3; + + // Output only. The status of the data exclusion. + google.ads.googleads.v16.enums.SeasonalityEventStatusEnum + .SeasonalityEventStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The inclusive start time of the data exclusion in yyyy-MM-dd + // HH:mm:ss format. + // + // A data exclusion is backward looking and should be used for events that + // start in the past and end either in the past or future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the data exclusion in yyyy-MM-dd + // HH:mm:ss format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the data exclusion. The name can be at most 255 + // characters. + string name = 7; + + // The description of the data exclusion. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this exclusion. + // Otherwise, only the specified targeted devices will be included in this + // exclusion. + repeated google.ads.googleads.v16.enums.DeviceEnum.Device devices = 9; + + // The data exclusion will apply to the campaigns listed when the scope of + // this exclusion is CAMPAIGN. The maximum number of campaigns per event is + // 2000. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 10 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The data_exclusion will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // exclusion is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v16.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_types = 11; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/bidding_seasonality_adjustment.proto b/third_party/googleapis/google/ads/googleads/v16/resources/bidding_seasonality_adjustment.proto new file mode 100644 index 000000000..f8838813c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/bidding_seasonality_adjustment.proto @@ -0,0 +1,118 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v16/enums/device.proto"; +import "google/ads/googleads/v16/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v16/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Represents a bidding seasonality adjustment. +// +// See "About seasonality adjustments" at +// https://support.google.com/google-ads/answer/10369906. +message BiddingSeasonalityAdjustment { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + pattern: "customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_event_id}" + }; + + // Immutable. The resource name of the seasonality adjustment. + // Seasonality adjustment resource names have the form: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + } + ]; + + // Output only. The ID of the seasonality adjustment. + int64 seasonality_adjustment_id = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the seasonality adjustment. + google.ads.googleads.v16.enums.SeasonalityEventScopeEnum.SeasonalityEventScope + scope = 3; + + // Output only. The status of the seasonality adjustment. + google.ads.googleads.v16.enums.SeasonalityEventStatusEnum + .SeasonalityEventStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The inclusive start time of the seasonality adjustment in + // yyyy-MM-dd HH:mm:ss format. + // + // A seasonality adjustment is forward looking and should be used for events + // that start and end in the future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the seasonality adjustment in + // yyyy-MM-dd HH:mm:ss format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the seasonality adjustment. The name can be at most 255 + // characters. + string name = 7; + + // The description of the seasonality adjustment. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this adjustment. + // Otherwise, only the specified targeted devices will be included in this + // adjustment. + repeated google.ads.googleads.v16.enums.DeviceEnum.Device devices = 9; + + // Conversion rate modifier estimated based on expected conversion rate + // changes. When this field is unset or set to 1.0 no adjustment will be + // applied to traffic. The allowed range is 0.1 to 10.0. + double conversion_rate_modifier = 10; + + // The seasonality adjustment will apply to the campaigns listed when the + // scope of this adjustment is CAMPAIGN. The maximum number of campaigns per + // event is 2000. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 11 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The seasonality adjustment will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // adjustment is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v16.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_types = 12; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/bidding_strategy.proto b/third_party/googleapis/google/ads/googleads/v16/resources/bidding_strategy.proto new file mode 100644 index 000000000..f64b22460 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/bidding_strategy.proto @@ -0,0 +1,156 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/bidding.proto"; +import "google/ads/googleads/v16/enums/bidding_strategy_status.proto"; +import "google/ads/googleads/v16/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the BiddingStrategy resource + +// A bidding strategy. +message BiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategy" + pattern: "customers/{customer_id}/biddingStrategies/{bidding_strategy_id}" + }; + + // Immutable. The resource name of the bidding strategy. + // Bidding strategy resource names have the form: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + optional int64 id = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the bidding strategy. + // All bidding strategies within an account must be named distinctly. + // + // The length of this string should be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 17; + + // Output only. The status of the bidding strategy. + // + // This field is read-only. + google.ads.googleads.v16.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus + status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + // Create a bidding strategy by setting the bidding scheme. + // + // This field is read-only. + google.ads.googleads.v16.enums.BiddingStrategyTypeEnum.BiddingStrategyType + type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The currency used by the bidding strategy (ISO 4217 three-letter + // code). + // + // For bidding strategies in manager customers, this currency can be set on + // creation and defaults to the manager customer's currency. For serving + // customers, this field cannot be set; all strategies in a serving customer + // implicitly use the serving customer's currency. In all cases the + // effective_currency_code field returns the currency used by the strategy. + string currency_code = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The currency used by the bidding strategy (ISO 4217 + // three-letter code). + // + // For bidding strategies in manager customers, this is the currency set by + // the advertiser when creating the strategy. For serving customers, this is + // the customer's currency_code. + // + // Bidding strategy metrics are reported in this currency. + // + // This field is read-only. + optional string effective_currency_code = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // ID of the campaign budget that this portfolio bidding strategy + // is aligned with. When a portfolio and a campaign budget are aligned, that + // means that they are attached to the same set of campaigns. After a bidding + // strategy is aligned with a campaign budget, campaigns that are added to the + // bidding strategy must also use the aligned campaign budget. + int64 aligned_campaign_budget_id = 25; + + // Output only. The number of campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 campaign_count = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of non-removed campaigns attached to this bidding + // strategy. + // + // This field is read-only. + optional int64 non_removed_campaign_count = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // A bidding strategy that raises bids for clicks that seem more likely to + // lead to a conversion and lowers them for clicks where they seem less + // likely. + google.ads.googleads.v16.common.EnhancedCpc enhanced_cpc = 7; + + // An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + google.ads.googleads.v16.common.MaximizeConversionValue + maximize_conversion_value = 21; + + // An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + google.ads.googleads.v16.common.MaximizeConversions maximize_conversions = + 22; + + // A bidding strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + google.ads.googleads.v16.common.TargetCpa target_cpa = 9; + + // A bidding strategy that automatically optimizes towards a chosen + // percentage of impressions. + google.ads.googleads.v16.common.TargetImpressionShare + target_impression_share = 48; + + // A bidding strategy that helps you maximize revenue while averaging a + // specific target Return On Ad Spend (ROAS). + google.ads.googleads.v16.common.TargetRoas target_roas = 11; + + // A bid strategy that sets your bids to help get as many clicks as + // possible within your budget. + google.ads.googleads.v16.common.TargetSpend target_spend = 12; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/bidding_strategy_simulation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/bidding_strategy_simulation.proto new file mode 100644 index 000000000..dbbd5649d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/bidding_strategy_simulation.proto @@ -0,0 +1,88 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/simulation.proto"; +import "google/ads/googleads/v16/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v16/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the bidding strategy simulation resource. + +// A bidding strategy simulation. Supported combinations of simulation type +// and simulation modification method are detailed below respectively. +// +// 1. TARGET_CPA - UNIFORM +// 2. TARGET_ROAS - UNIFORM +message BiddingStrategySimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + pattern: "customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the bidding strategy simulation. + // Bidding strategy simulation resource names have the form: + // + // `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + } + ]; + + // Output only. Bidding strategy shared set id of the simulation. + int64 bidding_strategy_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v16.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v16.enums.SimulationModificationMethodEnum + .SimulationModificationMethod modification_method = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD + // format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD + // format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is TARGET_CPA. + google.ads.googleads.v16.common.TargetCpaSimulationPointList + target_cpa_point_list = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is TARGET_ROAS. + google.ads.googleads.v16.common.TargetRoasSimulationPointList + target_roas_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/billing_setup.proto b/third_party/googleapis/google/ads/googleads/v16/resources/billing_setup.proto new file mode 100644 index 000000000..d3584334d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/billing_setup.proto @@ -0,0 +1,151 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/billing_setup_status.proto"; +import "google/ads/googleads/v16/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the BillingSetup resource. + +// A billing setup, which associates a payments account and an advertiser. A +// billing setup is specific to one advertiser. +message BillingSetup { + option (google.api.resource) = { + type: "googleads.googleapis.com/BillingSetup" + pattern: "customers/{customer_id}/billingSetups/{billing_setup_id}" + }; + + // Container of payments account information for this billing. + message PaymentsAccountInfo { + // Output only. A 16 digit id used to identify the payments account + // associated with the billing setup. + // + // This must be passed as a string with dashes, for example, + // "1234-5678-9012-3456". + optional string payments_account_id = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The name of the payments account associated with the billing + // setup. + // + // This enables the user to specify a meaningful name for a payments account + // to aid in reconciling monthly invoices. + // + // This name will be printed in the monthly invoices. + optional string payments_account_name = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A 12 digit id used to identify the payments profile associated + // with the billing setup. + // + // This must be passed in as a string with dashes, for example, + // "1234-5678-9012". + optional string payments_profile_id = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The name of the payments profile associated with the billing + // setup. + optional string payments_profile_name = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A secondary payments profile id present in uncommon + // situations, for example, when a sequential liability agreement has been + // arranged. + optional string secondary_payments_profile_id = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the billing setup. + // BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The ID of the billing setup. + optional int64 id = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the billing setup. + google.ads.googleads.v16.enums.BillingSetupStatusEnum.BillingSetupStatus + status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the payments account associated with this + // billing setup. Payments resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + // When setting up billing, this is used to signup with an existing payments + // account (and then payments_account_info should not be set). + // When getting a billing setup, this and payments_account_info will be + // populated. + optional string payments_account = 18 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Immutable. The payments account information associated with this billing + // setup. When setting up billing, this is used to signup with a new payments + // account (and then payments_account should not be set). When getting a + // billing setup, this and payments_account will be populated. + PaymentsAccountInfo payments_account_info = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // When creating a new billing setup, this is when the setup should take + // effect. NOW is the only acceptable start time if the customer doesn't have + // any approved setups. + // + // When fetching an existing billing setup, this is the requested start time. + // However, if the setup was approved (see status) after the requested start + // time, then this is the approval time. + oneof start_time { + // Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss + // format. Only a future time is allowed. + string start_date_time = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The start time as a type. Only NOW is allowed. + google.ads.googleads.v16.enums.TimeTypeEnum.TimeType start_time_type = 10 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // When the billing setup ends / ended. This is either FOREVER or the start + // time of the next scheduled billing setup. + oneof end_time { + // Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss + // format. + string end_date_time = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a type. The only possible value is FOREVER. + google.ads.googleads.v16.enums.TimeTypeEnum.TimeType end_time_type = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/call_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/call_view.proto new file mode 100644 index 000000000..c3a0665c8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/call_view.proto @@ -0,0 +1,83 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/call_tracking_display_location.proto"; +import "google/ads/googleads/v16/enums/call_type.proto"; +import "google/ads/googleads/v16/enums/google_voice_call_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CallViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the call view resource. + +// A call view that includes data for call tracking of call-only ads or call +// extensions. +message CallView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CallView" + pattern: "customers/{customer_id}/callViews/{call_detail_id}" + }; + + // Output only. The resource name of the call view. + // Call view resource names have the form: + // + // `customers/{customer_id}/callViews/{call_detail_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CallView" + } + ]; + + // Output only. Country code of the caller. + string caller_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Area code of the caller. Null if the call duration is shorter + // than 15 seconds. + string caller_area_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call duration in seconds. + int64 call_duration_seconds = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call start date time. + string start_call_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call end date time. + string end_call_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The call tracking display location. + google.ads.googleads.v16.enums.CallTrackingDisplayLocationEnum + .CallTrackingDisplayLocation call_tracking_display_location = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the call. + google.ads.googleads.v16.enums.CallTypeEnum.CallType type = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the call. + google.ads.googleads.v16.enums.GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus + call_status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign.proto new file mode 100644 index 000000000..fbe324baf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign.proto @@ -0,0 +1,684 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/bidding.proto"; +import "google/ads/googleads/v16/common/custom_parameter.proto"; +import "google/ads/googleads/v16/common/frequency_cap.proto"; +import "google/ads/googleads/v16/common/real_time_bidding_setting.proto"; +import "google/ads/googleads/v16/common/targeting_setting.proto"; +import "google/ads/googleads/v16/enums/ad_serving_optimization_status.proto"; +import "google/ads/googleads/v16/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v16/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v16/enums/app_campaign_app_store.proto"; +import "google/ads/googleads/v16/enums/app_campaign_bidding_strategy_goal_type.proto"; +import "google/ads/googleads/v16/enums/asset_automation_status.proto"; +import "google/ads/googleads/v16/enums/asset_automation_type.proto"; +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/asset_set_type.proto"; +import "google/ads/googleads/v16/enums/bidding_strategy_system_status.proto"; +import "google/ads/googleads/v16/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v16/enums/brand_safety_suitability.proto"; +import "google/ads/googleads/v16/enums/campaign_experiment_type.proto"; +import "google/ads/googleads/v16/enums/campaign_primary_status.proto"; +import "google/ads/googleads/v16/enums/campaign_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/campaign_serving_status.proto"; +import "google/ads/googleads/v16/enums/campaign_status.proto"; +import "google/ads/googleads/v16/enums/listing_type.proto"; +import "google/ads/googleads/v16/enums/location_source_type.proto"; +import "google/ads/googleads/v16/enums/negative_geo_target_type.proto"; +import "google/ads/googleads/v16/enums/optimization_goal_type.proto"; +import "google/ads/googleads/v16/enums/payment_mode.proto"; +import "google/ads/googleads/v16/enums/performance_max_upgrade_status.proto"; +import "google/ads/googleads/v16/enums/positive_geo_target_type.proto"; +import "google/ads/googleads/v16/enums/vanity_pharma_display_url_mode.proto"; +import "google/ads/googleads/v16/enums/vanity_pharma_text.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Campaign resource. + +// A campaign. +message Campaign { + option (google.api.resource) = { + type: "googleads.googleapis.com/Campaign" + pattern: "customers/{customer_id}/campaigns/{campaign_id}" + }; + + // Information about a campaign being upgraded to Performance Max. + message PerformanceMaxUpgrade { + // Output only. Indicates which Performance Max campaign the campaign is + // upgraded to. + string performance_max_campaign = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Indicates legacy campaign upgraded to Performance Max. + string pre_upgrade_campaign = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The upgrade status of a campaign requested to be upgraded to + // Performance Max. + google.ads.googleads.v16.enums.PerformanceMaxUpgradeStatusEnum + .PerformanceMaxUpgradeStatus status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The network settings for the campaign. + message NetworkSettings { + // Whether ads will be served with google.com search results. + optional bool target_google_search = 5; + + // Whether ads will be served on partner sites in the Google Search Network + // (requires `target_google_search` to also be `true`). + optional bool target_search_network = 6; + + // Whether ads will be served on specified placements in the Google Display + // Network. Placements are specified using the Placement criterion. + optional bool target_content_network = 7; + + // Whether ads will be served on the Google Partner Network. + // This is available only to some select Google partner accounts. + optional bool target_partner_search_network = 8; + + // Whether ads will be served on YouTube. + optional bool target_youtube = 9; + + // Whether ads will be served on the Google TV network. + optional bool target_google_tv_network = 10; + } + + // Campaign-level settings for hotel ads. + message HotelSettingInfo { + // Immutable. The linked Hotel Center account. + optional int64 hotel_center_id = 2 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // The setting for controlling Dynamic Search Ads (DSA). + message DynamicSearchAdsSetting { + // Required. The Internet domain name that this setting represents, for + // example, "google.com" or "www.google.com". + string domain_name = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. The language code specifying the language of the domain, for + // example, "en". + string language_code = 7 [(google.api.field_behavior) = REQUIRED]; + + // Whether the campaign uses advertiser supplied URLs exclusively. + optional bool use_supplied_urls_only = 8; + + // The list of page feeds associated with the campaign. + repeated string feeds = 9 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + }]; + } + + // The setting for Shopping campaigns. Defines the universe of products that + // can be advertised by the campaign, and how this campaign interacts with + // other Shopping campaigns. + message ShoppingSetting { + // ID of the Merchant Center account. + // This field is required for create operations. This field is immutable for + // Shopping campaigns. + optional int64 merchant_id = 5; + + // Feed label of products to include in the campaign. + // Only one of feed_label or sales_country can be set. + // If used instead of sales_country, the feed_label field accepts country + // codes in the same format for example: 'XX'. + // Otherwise can be any string used for feed label in Google Merchant + // Center. + string feed_label = 10; + + // Priority of the campaign. Campaigns with numerically higher priorities + // take precedence over those with lower priorities. + // This field is required for Shopping campaigns, with values between 0 and + // 2, inclusive. + // This field is optional for Smart Shopping campaigns, but must be equal to + // 3 if set. + optional int32 campaign_priority = 7; + + // Whether to include local products. + optional bool enable_local = 8; + + // Immutable. Whether to target Vehicle Listing inventory. This field is + // supported only in Smart Shopping Campaigns. For setting Vehicle Listing + // inventory in Performance Max campaigns, use `listing_type` instead. + bool use_vehicle_inventory = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The ads account IDs of advertising partners cooperating within + // the campaign. + repeated int64 advertising_partner_ids = 11 + [(google.api.field_behavior) = IMMUTABLE]; + + // Disable the optional product feed. This field is currently supported + // only for Demand Gen campaigns. See + // https://support.google.com/google-ads/answer/13721750 to learn more about + // this feature. + optional bool disable_product_feed = 12; + } + + // Campaign-level settings for tracking information. + message TrackingSetting { + // Output only. The url used for dynamic tracking. + optional string tracking_url = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Represents a collection of settings related to ads geotargeting. + message GeoTargetTypeSetting { + // The setting used for positive geotargeting in this particular campaign. + google.ads.googleads.v16.enums.PositiveGeoTargetTypeEnum + .PositiveGeoTargetType positive_geo_target_type = 1; + + // The setting used for negative geotargeting in this particular campaign. + google.ads.googleads.v16.enums.NegativeGeoTargetTypeEnum + .NegativeGeoTargetType negative_geo_target_type = 2; + } + + // Campaign setting for local campaigns. + message LocalCampaignSetting { + // The location source type for this local campaign. + google.ads.googleads.v16.enums.LocationSourceTypeEnum.LocationSourceType + location_source_type = 1; + } + + // Campaign-level settings for App Campaigns. + message AppCampaignSetting { + // Represents the goal which the bidding strategy of this app campaign + // should optimize towards. + google.ads.googleads.v16.enums.AppCampaignBiddingStrategyGoalTypeEnum + .AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1; + + // Immutable. A string that uniquely identifies a mobile application. + optional string app_id = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The application store that distributes this specific app. + google.ads.googleads.v16.enums.AppCampaignAppStoreEnum.AppCampaignAppStore + app_store = 3 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Describes how unbranded pharma ads will be displayed. + message VanityPharma { + // The display mode for vanity pharma URLs. + google.ads.googleads.v16.enums.VanityPharmaDisplayUrlModeEnum + .VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1; + + // The text that will be displayed in display URL of the text ad when + // website description is the selected display mode for vanity pharma URLs. + google.ads.googleads.v16.enums.VanityPharmaTextEnum.VanityPharmaText + vanity_pharma_text = 2; + } + + // Selective optimization setting for this campaign, which includes a set of + // conversion actions to optimize this campaign towards. + // This feature only applies to app campaigns that use MULTI_CHANNEL as + // AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as + // AdvertisingChannelSubType. + message SelectiveOptimization { + // The selected set of conversion actions for optimizing this campaign. + repeated string conversion_actions = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + } + + // Optimization goal setting for this campaign, which includes a set of + // optimization goal types. + message OptimizationGoalSetting { + // The list of optimization goal types. + repeated google.ads.googleads.v16.enums.OptimizationGoalTypeEnum + .OptimizationGoalType optimization_goal_types = 1; + } + + // Settings for the audience targeting. + message AudienceSetting { + // Immutable. If true, this campaign uses an Audience resource for audience + // targeting. If false, this campaign may use audience segment criteria + // instead. + optional bool use_audience_grouped = 1 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // Settings for LocalServicesCampaign subresource. + message LocalServicesCampaignSettings { + // Categorical level bids associated with MANUAL_CPA bidding strategy. + repeated CategoryBid category_bids = 1; + } + + // Category bids in LocalServicesReportingCampaignSettings. + message CategoryBid { + // Category for which the bid will be associated with. For example, + // xcat:service_area_business_plumber. + optional string category_id = 1; + + // Manual CPA bid for the category. Bid must be greater than the + // reserve price associated for that category. Value is in micros + // and in the advertiser's currency. + optional int64 manual_cpa_bid_micros = 2; + } + + // Settings for Travel campaign. + message TravelCampaignSettings { + // Immutable. The Travel account ID associated with the Travel campaign. + optional int64 travel_account_id = 1 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // Settings for Discovery campaign. + message DiscoveryCampaignSettings { + // Immutable. Specifies whether this campaign uses upgraded targeting + // options. When this field is set to `true`, you can use location and + // language targeting at the ad group level as opposed to the standard + // campaign-level targeting. This field defaults to `false`, and can only be + // set when creating a campaign. + optional bool upgraded_targeting = 1 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // Asset automation setting contains pair of AssetAutomationType and the + // asset automation opt-in/out status + message AssetAutomationSetting { + // The asset automation type advertiser would like to opt-in/out. + optional google.ads.googleads.v16.enums.AssetAutomationTypeEnum + .AssetAutomationType asset_automation_type = 1; + + // The opt-in/out status of asset automation type. + optional google.ads.googleads.v16.enums.AssetAutomationStatusEnum + .AssetAutomationStatus asset_automation_status = 2; + } + + // Immutable. The resource name of the campaign. + // Campaign resource names have the form: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The ID of the campaign. + optional int64 id = 59 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the campaign. + // + // This field is required and should not be empty when creating new + // campaigns. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 58; + + // Output only. The primary status of the campaign. + // + // Provides insight into why a campaign is not serving or not serving + // optimally. Modification to the campaign and its related entities might take + // a while to be reflected in this status. + google.ads.googleads.v16.enums.CampaignPrimaryStatusEnum.CampaignPrimaryStatus + primary_status = 81 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The primary status reasons of the campaign. + // + // Provides insight into why a campaign is not serving or not serving + // optimally. These reasons are aggregated to determine an overall + // CampaignPrimaryStatus. + repeated google.ads.googleads.v16.enums.CampaignPrimaryStatusReasonEnum + .CampaignPrimaryStatusReason primary_status_reasons = 82 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the campaign. + // + // When a new campaign is added, the status defaults to ENABLED. + google.ads.googleads.v16.enums.CampaignStatusEnum.CampaignStatus status = 5; + + // Output only. The ad serving status of the campaign. + google.ads.googleads.v16.enums.CampaignServingStatusEnum.CampaignServingStatus + serving_status = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The system status of the campaign's bidding strategy. + google.ads.googleads.v16.enums.BiddingStrategySystemStatusEnum + .BiddingStrategySystemStatus bidding_strategy_system_status = 78 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The ad serving optimization status of the campaign. + google.ads.googleads.v16.enums.AdServingOptimizationStatusEnum + .AdServingOptimizationStatus ad_serving_optimization_status = 8; + + // Immutable. The primary serving target for ads within the campaign. + // The targeting options can be refined in `network_settings`. + // + // This field is required and should not be empty when creating new + // campaigns. + // + // Can be set only when creating campaigns. + // After the campaign is created, the field can not be changed. + google.ads.googleads.v16.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_type = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Optional refinement to `advertising_channel_type`. + // Must be a valid sub-type of the parent channel type. + // + // Can be set only when creating campaigns. + // After campaign is created, the field can not be changed. + google.ads.googleads.v16.enums.AdvertisingChannelSubTypeEnum + .AdvertisingChannelSubType advertising_channel_sub_type = 10 + [(google.api.field_behavior) = IMMUTABLE]; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 60; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v16.common.CustomParameter + url_custom_parameters = 12; + + // The Local Services Campaign related settings. + LocalServicesCampaignSettings local_services_campaign_settings = 75; + + // Settings for Travel campaign. + TravelCampaignSettings travel_campaign_settings = 85; + + // Settings for Discovery campaign. + DiscoveryCampaignSettings discovery_campaign_settings = 87; + + // Settings for Real-Time Bidding, a feature only available for campaigns + // targeting the Ad Exchange network. + google.ads.googleads.v16.common.RealTimeBiddingSetting + real_time_bidding_setting = 39; + + // The network settings for the campaign. + NetworkSettings network_settings = 14; + + // Immutable. The hotel setting for the campaign. + HotelSettingInfo hotel_setting = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // The setting for controlling Dynamic Search Ads (DSA). + DynamicSearchAdsSetting dynamic_search_ads_setting = 33; + + // The setting for controlling Shopping campaigns. + ShoppingSetting shopping_setting = 36; + + // Setting for targeting related features. + google.ads.googleads.v16.common.TargetingSetting targeting_setting = 43; + + // Immutable. Setting for audience related features. + optional AudienceSetting audience_setting = 73 + [(google.api.field_behavior) = IMMUTABLE]; + + // The setting for ads geotargeting. + GeoTargetTypeSetting geo_target_type_setting = 47; + + // The setting for local campaign. + LocalCampaignSetting local_campaign_setting = 50; + + // The setting related to App Campaign. + AppCampaignSetting app_campaign_setting = 51; + + // Output only. The resource names of labels attached to this campaign. + repeated string labels = 61 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + } + ]; + + // Output only. The type of campaign: normal, draft, or experiment. + google.ads.googleads.v16.enums.CampaignExperimentTypeEnum + .CampaignExperimentType experiment_type = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the base campaign of a draft or + // experiment campaign. For base campaigns, this is equal to `resource_name`. + // + // This field is read-only. + optional string base_campaign = 56 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The budget of the campaign. + optional string campaign_budget = 62 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + + // Output only. The type of bidding strategy. + // + // A bidding strategy can be created by setting either the bidding scheme to + // create a standard bidding strategy or the `bidding_strategy` field to + // create a portfolio bidding strategy. + // + // This field is read-only. + google.ads.googleads.v16.enums.BiddingStrategyTypeEnum.BiddingStrategyType + bidding_strategy_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of AccessibleBiddingStrategy, a read-only view + // of the unrestricted attributes of the attached portfolio bidding strategy + // identified by 'bidding_strategy'. Empty, if the campaign does not use a + // portfolio strategy. Unrestricted strategy attributes are available to all + // customers with whom the strategy is shared and are read from the + // AccessibleBiddingStrategy resource. In contrast, restricted attributes are + // only available to the owner customer of the strategy and their managers. + // Restricted attributes can only be read from the BiddingStrategy resource. + string accessible_bidding_strategy = 71 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + } + ]; + + // The date when campaign started in serving customer's timezone in YYYY-MM-DD + // format. + optional string start_date = 63; + + // The campaign group this campaign belongs to. + optional string campaign_group = 76 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignGroup" + }]; + + // The last day of the campaign in serving customer's timezone in YYYY-MM-DD + // format. On create, defaults to 2037-12-30, which means the campaign will + // run indefinitely. To set an existing campaign to run indefinitely, set this + // field to 2037-12-30. + optional string end_date = 64; + + // Suffix used to append query parameters to landing pages that are served + // with parallel tracking. + optional string final_url_suffix = 65; + + // A list that limits how often each user will see this campaign's ads. + repeated google.ads.googleads.v16.common.FrequencyCapEntry frequency_caps = + 40; + + // Output only. 3-Tier Brand Safety setting for the campaign. + google.ads.googleads.v16.enums.BrandSafetySuitabilityEnum + .BrandSafetySuitability video_brand_safety_suitability = 42 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Describes how unbranded pharma ads will be displayed. + VanityPharma vanity_pharma = 44; + + // Selective optimization setting for this campaign, which includes a set of + // conversion actions to optimize this campaign towards. + // This feature only applies to app campaigns that use MULTI_CHANNEL as + // AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as + // AdvertisingChannelSubType. + SelectiveOptimization selective_optimization = 45; + + // Optimization goal setting for this campaign, which includes a set of + // optimization goal types. + OptimizationGoalSetting optimization_goal_setting = 54; + + // Output only. Campaign-level settings for tracking information. + TrackingSetting tracking_setting = 46 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Payment mode for the campaign. + google.ads.googleads.v16.enums.PaymentModeEnum.PaymentMode payment_mode = 52; + + // Output only. Optimization score of the campaign. + // + // Optimization score is an estimate of how well a campaign is set to perform. + // It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the + // campaign is performing at full potential. This field is null for unscored + // campaigns. + // + // See "About optimization score" at + // https://support.google.com/google-ads/answer/9061546. + // + // This field is read-only. + optional double optimization_score = 66 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The asset field types that should be excluded from this campaign. Asset + // links with these field types will not be inherited by this campaign from + // the upper level. + repeated google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType + excluded_parent_asset_field_types = 69; + + // The asset set types that should be excluded from this campaign. Asset set + // links with these types will not be inherited by this campaign from + // the upper level. + // Location group types (GMB_DYNAMIC_LOCATION_GROUP, + // CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of + // LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all + // location group asset sets are not allowed to be linked to this campaign, + // and all Location Extension (LE) and Affiliate Location Extensions (ALE) + // will not be served under this campaign. + // Only LOCATION_SYNC is currently supported. + repeated google.ads.googleads.v16.enums.AssetSetTypeEnum.AssetSetType + excluded_parent_asset_set_types = 80; + + // Represents opting out of URL expansion to more targeted URLs. If opted out + // (true), only the final URLs in the asset group or URLs specified in the + // advertiser's Google Merchant Center or business data feeds are targeted. + // If opted in (false), the entire domain will be targeted. This field can + // only be set for Performance Max campaigns, where the default value is + // false. + optional bool url_expansion_opt_out = 72; + + // Output only. Information about campaigns being upgraded to Performance Max. + PerformanceMaxUpgrade performance_max_upgrade = 77 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The set of hotel properties for Performance Max for travel goals + // campaigns. + optional string hotel_property_asset_set = 83 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Immutable. Listing type of ads served for this campaign. + // Field is restricted for usage with Performance Max campaigns. + optional google.ads.googleads.v16.enums.ListingTypeEnum.ListingType + listing_type = 86 [(google.api.field_behavior) = IMMUTABLE]; + + // Contains the opt-in/out status of each AssetAutomationType. + // See documentation of each asset automation type enum for default + // opt in/out behavior. + repeated AssetAutomationSetting asset_automation_settings = 88; + + // The bidding strategy for the campaign. + // + // Must be either portfolio (created through BiddingStrategy service) or + // standard, that is embedded into the campaign. + oneof campaign_bidding_strategy { + // Portfolio bidding strategy used by campaign. + string bidding_strategy = 67 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + + // Commission is an automatic bidding strategy in which the advertiser pays + // a certain portion of the conversion value. + google.ads.googleads.v16.common.Commission commission = 49; + + // Standard Manual CPA bidding strategy. + // Manual bidding strategy that allows advertiser to set the bid per + // advertiser-specified action. Supported only for Local Services campaigns. + google.ads.googleads.v16.common.ManualCpa manual_cpa = 74; + + // Standard Manual CPC bidding strategy. + // Manual click-based bidding where user pays per click. + google.ads.googleads.v16.common.ManualCpc manual_cpc = 24; + + // Standard Manual CPM bidding strategy. + // Manual impression-based bidding where user pays per thousand + // impressions. + google.ads.googleads.v16.common.ManualCpm manual_cpm = 25; + + // A bidding strategy that pays a configurable amount per video view. + google.ads.googleads.v16.common.ManualCpv manual_cpv = 37; + + // Standard Maximize Conversions bidding strategy that automatically + // maximizes number of conversions while spending your budget. + google.ads.googleads.v16.common.MaximizeConversions maximize_conversions = + 30; + + // Standard Maximize Conversion Value bidding strategy that automatically + // sets bids to maximize revenue while spending your budget. + google.ads.googleads.v16.common.MaximizeConversionValue + maximize_conversion_value = 31; + + // Standard Target CPA bidding strategy that automatically sets bids to + // help get as many conversions as possible at the target + // cost-per-acquisition (CPA) you set. + google.ads.googleads.v16.common.TargetCpa target_cpa = 26; + + // Target Impression Share bidding strategy. An automated bidding strategy + // that sets bids to achieve a chosen percentage of impressions. + google.ads.googleads.v16.common.TargetImpressionShare + target_impression_share = 48; + + // Standard Target ROAS bidding strategy that automatically maximizes + // revenue while averaging a specific target return on ad spend (ROAS). + google.ads.googleads.v16.common.TargetRoas target_roas = 29; + + // Standard Target Spend bidding strategy that automatically sets your bids + // to help get as many clicks as possible within your budget. + google.ads.googleads.v16.common.TargetSpend target_spend = 27; + + // Standard Percent Cpc bidding strategy where bids are a fraction of the + // advertised price for some good or service. + google.ads.googleads.v16.common.PercentCpc percent_cpc = 34; + + // A bidding strategy that automatically optimizes cost per thousand + // impressions. + google.ads.googleads.v16.common.TargetCpm target_cpm = 41; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_asset.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_asset.proto new file mode 100644 index 000000000..8d46e4cd9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_asset.proto @@ -0,0 +1,103 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/asset_policy.proto"; +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/asset_link_status.proto"; +import "google/ads/googleads/v16/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CampaignAsset resource. + +// A link between a Campaign and an Asset. +message CampaignAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAsset" + pattern: "customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}" + }; + + // Immutable. The resource name of the campaign asset. + // CampaignAsset resource names have the form: + // + // `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + } + ]; + + // Immutable. The campaign to which the asset is linked. + optional string campaign = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The asset which is linked to the campaign. + optional string asset = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // Immutable. Role that the asset takes under the linked campaign. + // Required. + google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Source of the campaign asset link. + google.ads.googleads.v16.enums.AssetSourceEnum.AssetSource source = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the campaign asset. + google.ads.googleads.v16.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; + + // Output only. Provides the PrimaryStatus of this asset link. + // Primary status is meant essentially to differentiate between the plain + // "status" field, which has advertiser set values of enabled, paused, or + // removed. The primary status takes into account other signals (for assets + // its mainly policy and quality approvals) to come up with a more + // comprehensive status to indicate its serving state. + google.ads.googleads.v16.enums.AssetLinkPrimaryStatusEnum + .AssetLinkPrimaryStatus primary_status = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides the details of the primary status and its associated + // reasons. + repeated google.ads.googleads.v16.common.AssetLinkPrimaryStatusDetails + primary_status_details = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides a list of reasons for why an asset is not serving or + // not serving at full capacity. + repeated google.ads.googleads.v16.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_asset_set.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_asset_set.proto new file mode 100644 index 000000000..2adde1a32 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_asset_set.proto @@ -0,0 +1,72 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CampaignAsset resource. + +// CampaignAssetSet is the linkage between a campaign and an asset set. +// Adding a CampaignAssetSet links an asset set with a campaign. +message CampaignAssetSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAssetSet" + pattern: "customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}" + }; + + // Immutable. The resource name of the campaign asset set. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + } + ]; + + // Immutable. The campaign to which this asset set is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The asset set which is linked to the campaign. + string asset_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Output only. The status of the campaign asset set asset. Read-only. + google.ads.googleads.v16.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_audience_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_audience_view.proto new file mode 100644 index 000000000..03ab6f73c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_audience_view.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the campaign audience view resource. + +// A campaign audience view. +// Includes performance data from interests and remarketing lists for Display +// Network and YouTube Network ads, and remarketing lists for search ads (RLSA), +// aggregated by campaign and audience criterion. This view only includes +// audiences attached at the campaign level. +message CampaignAudienceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAudienceView" + pattern: "customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the campaign audience view. + // Campaign audience view resource names have the form: + // + // `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAudienceView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_bid_modifier.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_bid_modifier.proto new file mode 100644 index 000000000..51e4faaaf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_bid_modifier.proto @@ -0,0 +1,77 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Campaign Bid Modifier resource. + +// Represents a bid-modifiable only criterion at the campaign level. +message CampaignBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBidModifier" + pattern: "customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}" + }; + + // Immutable. The resource name of the campaign bid modifier. + // Campaign bid modifier resource names have the form: + // + // `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + } + ]; + + // Output only. The campaign to which this criterion belongs. + optional string campaign = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. + optional double bid_modifier = 8; + + // The criterion of this campaign bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for interaction type. Only supported for search + // campaigns. + google.ads.googleads.v16.common.InteractionTypeInfo interaction_type = 5 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_budget.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_budget.proto new file mode 100644 index 000000000..bda9286d5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_budget.proto @@ -0,0 +1,177 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/budget_delivery_method.proto"; +import "google/ads/googleads/v16/enums/budget_period.proto"; +import "google/ads/googleads/v16/enums/budget_status.proto"; +import "google/ads/googleads/v16/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Budget resource. + +// A campaign budget. +message CampaignBudget { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBudget" + pattern: "customers/{customer_id}/campaignBudgets/{campaign_budget_id}" + }; + + // Immutable. The resource name of the campaign budget. + // Campaign budget resource names have the form: + // + // `customers/{customer_id}/campaignBudgets/{campaign_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; + + // Output only. The ID of the campaign budget. + // + // A campaign budget is created using the CampaignBudgetService create + // operation and is assigned a budget ID. A budget ID can be shared across + // different campaigns; the system will then allocate the campaign budget + // among different campaigns to get optimum results. + optional int64 id = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the campaign budget. + // + // When creating a campaign budget through CampaignBudgetService, every + // explicitly shared campaign budget must have a non-null, non-empty name. + // Campaign budgets that are not explicitly shared derive their name from the + // attached campaign's name. + // + // The length of this string must be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 20; + + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. Monthly spend is capped at 30.4 times this amount. + optional int64 amount_micros = 21; + + // The lifetime amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + optional int64 total_amount_micros = 22; + + // Output only. The status of this campaign budget. This field is read-only. + google.ads.googleads.v16.enums.BudgetStatusEnum.BudgetStatus status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The delivery method that determines the rate at which the campaign budget + // is spent. + // + // Defaults to STANDARD if unspecified in a create operation. + google.ads.googleads.v16.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod + delivery_method = 7; + + // Specifies whether the budget is explicitly shared. Defaults to true if + // unspecified in a create operation. + // + // If true, the budget was created with the purpose of sharing + // across one or more campaigns. + // + // If false, the budget was created with the intention of only being used + // with a single campaign. The budget's name and status will stay in sync + // with the campaign's name and status. Attempting to share the budget with a + // second campaign will result in an error. + // + // A non-shared budget can become an explicitly shared. The same operation + // must also assign the budget a name. + // + // A shared campaign budget can never become non-shared. + optional bool explicitly_shared = 23; + + // Output only. The number of campaigns actively using the budget. + // + // This field is read-only. + optional int64 reference_count = 24 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether there is a recommended budget for this + // campaign budget. + // + // This field is read-only. + optional bool has_recommended_budget = 25 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended budget amount. If no recommendation is + // available, this will be set to the budget amount. Amount is specified in + // micros, where one million is equivalent to one currency unit. + // + // This field is read-only. + optional int64 recommended_budget_amount_micros = 26 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Period over which to spend the budget. Defaults to DAILY if not + // specified. + google.ads.googleads.v16.enums.BudgetPeriodEnum.BudgetPeriod period = 13 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The estimated change in weekly clicks if the recommended + // budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_clicks = 27 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly cost in micros if the + // recommended budget is applied. One million is equivalent to one currency + // unit. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_cost_micros = 28 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly interactions if the recommended + // budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_interactions = 29 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly views if the recommended budget + // is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_views = 30 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of the campaign budget. + google.ads.googleads.v16.enums.BudgetTypeEnum.BudgetType type = 18 + [(google.api.field_behavior) = IMMUTABLE]; + + // ID of the portfolio bidding strategy that this shared campaign budget + // is aligned with. When a bidding strategy and a campaign budget are aligned, + // they are attached to the same set of campaigns. After a campaign budget is + // aligned with a bidding strategy, campaigns that are added to the campaign + // budget must also use the aligned bidding strategy. + int64 aligned_bidding_strategy_id = 31; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_conversion_goal.proto new file mode 100644 index 000000000..e6b719127 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_conversion_goal.proto @@ -0,0 +1,71 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/conversion_action_category.proto"; +import "google/ads/googleads/v16/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// The biddability setting for the specified campaign only for all +// conversion actions with a matching category and origin. +message CampaignConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + pattern: "customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{source}" + }; + + // Immutable. The resource name of the campaign conversion goal. + // Campaign conversion goal resource names have the form: + // + // `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + } + ]; + + // Immutable. The campaign with which this campaign conversion goal is + // associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The conversion category of this campaign conversion goal. + google.ads.googleads.v16.enums.ConversionActionCategoryEnum + .ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v16.enums.ConversionOriginEnum.ConversionOrigin origin = + 4; + + // The biddability of the campaign conversion goal. + bool biddable = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_criterion.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_criterion.proto new file mode 100644 index 000000000..c85fab99f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_criterion.proto @@ -0,0 +1,223 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/enums/campaign_criterion_status.proto"; +import "google/ads/googleads/v16/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Campaign Criterion resource. + +// A campaign criterion. +message CampaignCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCriterion" + pattern: "customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}" + }; + + // Immutable. The resource name of the campaign criterion. + // Campaign criterion resource names have the form: + // + // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; + + // Immutable. The campaign to which the criterion belongs. + optional string campaign = 37 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored during mutate. + optional int64 criterion_id = 38 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the criterion. + // + // This field is ignored for mutates. + string display_name = 43 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bids when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. + // Use 0 to opt out of a Device type. + optional float bid_modifier = 39; + + // Immutable. Whether to target (`false`) or exclude (`true`) the criterion. + optional bool negative = 40 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The type of the criterion. + google.ads.googleads.v16.enums.CriterionTypeEnum.CriterionType type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + google.ads.googleads.v16.enums.CampaignCriterionStatusEnum + .CampaignCriterionStatus status = 35; + + // The campaign criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v16.common.KeywordInfo keyword = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v16.common.PlacementInfo placement = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v16.common.MobileAppCategoryInfo mobile_app_category = + 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v16.common.MobileApplicationInfo mobile_application = + 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v16.common.LocationInfo location = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Device. + google.ads.googleads.v16.common.DeviceInfo device = 13 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Schedule. + google.ads.googleads.v16.common.AdScheduleInfo ad_schedule = 15 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v16.common.AgeRangeInfo age_range = 16 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v16.common.GenderInfo gender = 17 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v16.common.IncomeRangeInfo income_range = 18 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v16.common.ParentalStatusInfo parental_status = 19 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + // The Similar Audiences sunset starts May 2023. Refer to + // https://ads-developers.googleblog.com/2022/11/announcing-deprecation-and-sunset-of.html + // for other options. + google.ads.googleads.v16.common.UserListInfo user_list = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v16.common.YouTubeVideoInfo youtube_video = 20 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v16.common.YouTubeChannelInfo youtube_channel = 21 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Proximity. + google.ads.googleads.v16.common.ProximityInfo proximity = 23 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v16.common.TopicInfo topic = 24 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing scope. + google.ads.googleads.v16.common.ListingScopeInfo listing_scope = 25 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v16.common.LanguageInfo language = 26 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. IpBlock. + google.ads.googleads.v16.common.IpBlockInfo ip_block = 27 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. ContentLabel. + google.ads.googleads.v16.common.ContentLabelInfo content_label = 28 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Carrier. + google.ads.googleads.v16.common.CarrierInfo carrier = 29 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v16.common.UserInterestInfo user_interest = 30 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage. + google.ads.googleads.v16.common.WebpageInfo webpage = 31 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Operating system version. + google.ads.googleads.v16.common.OperatingSystemVersionInfo + operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile Device. + google.ads.googleads.v16.common.MobileDeviceInfo mobile_device = 33 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Group + google.ads.googleads.v16.common.LocationGroupInfo location_group = 34 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v16.common.CustomAffinityInfo custom_affinity = 36 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience + google.ads.googleads.v16.common.CustomAudienceInfo custom_audience = 41 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v16.common.CombinedAudienceInfo combined_audience = 42 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Smart Campaign Keyword Theme. + google.ads.googleads.v16.common.KeywordThemeInfo keyword_theme = 45 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. GLS service campaign criterion. + google.ads.googleads.v16.common.LocalServiceIdInfo local_service_id = 46 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Brand list campaign criterion. + google.ads.googleads.v16.common.BrandListInfo brand_list = 47 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_customizer.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_customizer.proto new file mode 100644 index 000000000..621749af4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_customizer.proto @@ -0,0 +1,78 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/customizer_value.proto"; +import "google/ads/googleads/v16/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A customizer value for the associated CustomizerAttribute at the Campaign +// level. +message CampaignCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCustomizer" + pattern: "customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the campaign customizer. + // Campaign customizer resource names have the form: + // + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + } + ]; + + // Immutable. The campaign to which the customizer attribute is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the + // campaign. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the campaign customizer. + google.ads.googleads.v16.enums.CustomizerValueStatusEnum.CustomizerValueStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The value to associate with the customizer attribute at this + // level. The value must be of the type specified for the CustomizerAttribute. + google.ads.googleads.v16.common.CustomizerValue value = 5 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_draft.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_draft.proto new file mode 100644 index 000000000..11f65aee4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_draft.proto @@ -0,0 +1,101 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Campaign Draft resource. + +// A campaign draft. +message CampaignDraft { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignDraft" + pattern: "customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}" + }; + + // Immutable. The resource name of the campaign draft. + // Campaign draft resource names have the form: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Output only. The ID of the draft. + // + // This field is read-only. + optional int64 draft_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The base campaign to which the draft belongs. + optional string base_campaign = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The name of the campaign draft. + // + // This field is required and should not be empty when creating new + // campaign drafts. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 11; + + // Output only. Resource name of the Campaign that results from overlaying the + // draft changes onto the base campaign. + // + // This field is read-only. + optional string draft_campaign = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The status of the campaign draft. This field is read-only. + // + // When a new campaign draft is added, the status defaults to PROPOSED. + google.ads.googleads.v16.enums.CampaignDraftStatusEnum.CampaignDraftStatus + status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether there is an experiment based on this draft currently + // serving. + optional bool has_experiment_running = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be + // used to poll for completion of draft promotion. This is only set if the + // draft promotion is in progress or finished. + optional string long_running_operation = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_extension_setting.proto new file mode 100644 index 000000000..6464d18f1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_extension_setting.proto @@ -0,0 +1,80 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/extension_setting_device.proto"; +import "google/ads/googleads/v16/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CampaignExtensionSetting resource. + +// A campaign extension setting. +message CampaignExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + pattern: "customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}" + }; + + // Immutable. The resource name of the campaign extension setting. + // CampaignExtensionSetting resource names have the form: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v16.enums.ExtensionTypeEnum.ExtensionType + extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the campaign. The linked extension feed + // items will serve under this campaign. Campaign resource names have the + // form: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + optional string campaign = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The resource names of the extension feed items to serve under the campaign. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v16.enums.ExtensionSettingDeviceEnum + .ExtensionSettingDevice device = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_feed.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_feed.proto new file mode 100644 index 000000000..380b6c336 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_feed.proto @@ -0,0 +1,82 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/matching_function.proto"; +import "google/ads/googleads/v16/enums/feed_link_status.proto"; +import "google/ads/googleads/v16/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CampaignFeed resource. + +// A campaign feed. +message CampaignFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignFeed" + pattern: "customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}" + }; + + // Immutable. The resource name of the campaign feed. + // Campaign feed resource names have the form: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Immutable. The feed to which the CampaignFeed belongs. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Immutable. The campaign to which the CampaignFeed belongs. + optional string campaign = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // campaign. Required. + repeated google.ads.googleads.v16.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_types = 4; + + // Matching function associated with the CampaignFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v16.common.MatchingFunction matching_function = 5; + + // Output only. Status of the campaign feed. + // This field is read-only. + google.ads.googleads.v16.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_group.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_group.proto new file mode 100644 index 000000000..6ac33060e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_group.proto @@ -0,0 +1,69 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/campaign_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Campaign group resource. + +// A campaign group. +message CampaignGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignGroup" + pattern: "customers/{customer_id}/campaignGroups/{campaign_group_id}" + }; + + // Immutable. The resource name of the campaign group. + // Campaign group resource names have the form: + // + // `customers/{customer_id}/campaignGroups/{campaign_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignGroup" + } + ]; + + // Output only. The ID of the campaign group. + int64 id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the campaign group. + // + // This field is required and should not be empty when creating new campaign + // groups. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + string name = 4; + + // The status of the campaign group. + // + // When a new campaign group is added, the status defaults to ENABLED. + google.ads.googleads.v16.enums.CampaignGroupStatusEnum.CampaignGroupStatus + status = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_label.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_label.proto new file mode 100644 index 000000000..9036dff87 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_label.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the campaign label resource. + +// Represents a relationship between a campaign and a label. +message CampaignLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignLabel" + pattern: "customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}" + }; + + // Immutable. Name of the resource. + // Campaign label resource names have the form: + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + } + ]; + + // Immutable. The campaign to which the label is attached. + optional string campaign = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The label assigned to the campaign. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Label" } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_lifecycle_goal.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_lifecycle_goal.proto new file mode 100644 index 000000000..923a30f42 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_lifecycle_goal.proto @@ -0,0 +1,77 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/lifecycle_goals.proto"; +import "google/ads/googleads/v16/enums/customer_acquisition_optimization_mode.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLifecycleGoalProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the campaign lifecycle resource. + +// Campaign level customer lifecycle goal settings. +message CampaignLifecycleGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignLifecycleGoal" + pattern: "customers/{customer_id}/campaignLifecycleGoals/{campaign_id}" + }; + + // Immutable. The resource name of the customer lifecycle goal of a campaign. + // + // `customers/{customer_id}/campaignLifecycleGoal/{campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLifecycleGoal" + } + ]; + + // Output only. The campaign where the goal is attached. + string campaign = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The customer acquisition goal settings for the campaign. The + // customer acquisition goal is described in this article: + // https://support.google.com/google-ads/answer/12080169 + CustomerAcquisitionGoalSettings customer_acquisition_goal_settings = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The customer acquisition goal settings for the campaign. +message CustomerAcquisitionGoalSettings { + // Output only. Customer acquisition optimization mode of this campaign. + google.ads.googleads.v16.enums.CustomerAcquisitionOptimizationModeEnum + .CustomerAcquisitionOptimizationMode optimization_mode = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Campaign specific values for the customer acquisition goal. + google.ads.googleads.v16.common.LifecycleGoalValueSettings value_settings = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_search_term_insight.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_search_term_insight.proto new file mode 100644 index 000000000..108e18c0c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_search_term_insight.proto @@ -0,0 +1,62 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSearchTermInsightProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the campaign search term insight resource. + +// A Campaign search term view. +// Historical data is available starting March 2023. +message CampaignSearchTermInsight { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSearchTermInsight" + pattern: "customers/{customer_id}/campaignSearchTermInsights/{campaign_id}~{cluster_id}" + }; + + // Output only. The resource name of the campaign level search term insight. + // Campaign level search term insight resource names have the form: + // + // `customers/{customer_id}/campaignSearchTermInsights/{campaign_id}~{category_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSearchTermInsight" + } + ]; + + // Output only. The label for the search category. An empty string denotes the + // catch-all category for search terms that didn't fit into another category. + optional string category_label = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the insight. + optional int64 id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the campaign. + optional int64 campaign_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_shared_set.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_shared_set.proto new file mode 100644 index 000000000..d9133c6f3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_shared_set.proto @@ -0,0 +1,78 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CampaignSharedSet resource. + +// CampaignSharedSets are used for managing the shared sets associated with a +// campaign. +message CampaignSharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSharedSet" + pattern: "customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}" + }; + + // Immutable. The resource name of the campaign shared set. + // Campaign shared set resource names have the form: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Immutable. The campaign to which the campaign shared set belongs. + optional string campaign = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The shared set associated with the campaign. This may be a + // negative keyword shared set of another customer. This customer should be a + // manager of the other customer, otherwise the campaign shared set will exist + // but have no serving effect. Only negative keyword shared sets can be + // associated with Shopping campaigns. Only negative placement shared sets can + // be associated with Display mobile app campaigns. + optional string shared_set = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The status of this campaign shared set. Read only. + google.ads.googleads.v16.enums.CampaignSharedSetStatusEnum + .CampaignSharedSetStatus status = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/campaign_simulation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_simulation.proto new file mode 100644 index 000000000..8714e4b16 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/campaign_simulation.proto @@ -0,0 +1,116 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/simulation.proto"; +import "google/ads/googleads/v16/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v16/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the campaign simulation resource. + +// A campaign simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification +// method is detailed below respectively. +// +// * SEARCH - CPC_BID - UNIFORM +// * SEARCH - CPC_BID - SCALING +// * SEARCH - TARGET_CPA - UNIFORM +// * SEARCH - TARGET_CPA - SCALING +// * SEARCH - TARGET_ROAS - UNIFORM +// * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM +// * SEARCH - BUDGET - UNIFORM +// * SHOPPING - BUDGET - UNIFORM +// * SHOPPING - TARGET_ROAS - UNIFORM +// * MULTI_CHANNEL - TARGET_CPA - UNIFORM +// * DISCOVERY - TARGET_CPA - DEFAULT +// * DISPLAY - TARGET_CPA - UNIFORM +// * PERFORMANCE_MAX - TARGET_CPA - UNIFORM +// * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM +// * PERFORMANCE_MAX - BUDGET - UNIFORM +message CampaignSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSimulation" + pattern: "customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign simulation. + // Campaign simulation resource names have the form: + // + // `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSimulation" + } + ]; + + // Output only. Campaign id of the simulation. + int64 campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v16.enums.SimulationTypeEnum.SimulationType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v16.enums.SimulationModificationMethodEnum + .SimulationModificationMethod modification_method = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD + // format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD + // format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v16.common.CpcBidSimulationPointList + cpc_bid_point_list = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is TARGET_CPA. + google.ads.googleads.v16.common.TargetCpaSimulationPointList + target_cpa_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is TARGET_ROAS. + google.ads.googleads.v16.common.TargetRoasSimulationPointList + target_roas_point_list = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is + // TARGET_IMPRESSION_SHARE. + google.ads.googleads.v16.common.TargetImpressionShareSimulationPointList + target_impression_share_point_list = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Simulation points if the simulation type is BUDGET. + google.ads.googleads.v16.common.BudgetSimulationPointList + budget_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/carrier_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/carrier_constant.proto new file mode 100644 index 000000000..53651a029 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/carrier_constant.proto @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Carrier constant resource. + +// A carrier criterion that can be used in campaign targeting. +message CarrierConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/CarrierConstant" + pattern: "carrierConstants/{criterion_id}" + }; + + // Output only. The resource name of the carrier criterion. + // Carrier criterion resource names have the form: + // + // `carrierConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CarrierConstant" + } + ]; + + // Output only. The ID of the carrier criterion. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The full name of the carrier in English. + optional string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The country code of the country where the carrier is located, + // for example, "AR", "FR", etc. + optional string country_code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/change_event.proto b/third_party/googleapis/google/ads/googleads/v16/resources/change_event.proto new file mode 100644 index 000000000..9ac416b4b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/change_event.proto @@ -0,0 +1,218 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/change_client_type.proto"; +import "google/ads/googleads/v16/enums/change_event_resource_type.proto"; +import "google/ads/googleads/v16/enums/resource_change_operation.proto"; +import "google/ads/googleads/v16/resources/ad.proto"; +import "google/ads/googleads/v16/resources/ad_group.proto"; +import "google/ads/googleads/v16/resources/ad_group_ad.proto"; +import "google/ads/googleads/v16/resources/ad_group_asset.proto"; +import "google/ads/googleads/v16/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v16/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v16/resources/ad_group_feed.proto"; +import "google/ads/googleads/v16/resources/asset.proto"; +import "google/ads/googleads/v16/resources/asset_set.proto"; +import "google/ads/googleads/v16/resources/asset_set_asset.proto"; +import "google/ads/googleads/v16/resources/campaign.proto"; +import "google/ads/googleads/v16/resources/campaign_asset.proto"; +import "google/ads/googleads/v16/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v16/resources/campaign_budget.proto"; +import "google/ads/googleads/v16/resources/campaign_criterion.proto"; +import "google/ads/googleads/v16/resources/campaign_feed.proto"; +import "google/ads/googleads/v16/resources/customer_asset.proto"; +import "google/ads/googleads/v16/resources/feed.proto"; +import "google/ads/googleads/v16/resources/feed_item.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Change Event resource. + +// Describes the granular change of returned resources of certain resource +// types. Changes made through the UI or API in the past 30 days are included. +// Previous and new values of the changed fields are shown. ChangeEvent could +// have up to 3 minutes delay to reflect a new change. +message ChangeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeEvent" + pattern: "customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}" + }; + + // A wrapper proto presenting all supported resources. + // Only the resource of the change_resource_type will be set. + message ChangedResource { + // Output only. Set if change_resource_type == AD. + Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP. + AdGroup ad_group = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_CRITERION. + AdGroupCriterion ad_group_criterion = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN. + Campaign campaign = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_BUDGET. + CampaignBudget campaign_budget = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER. + AdGroupBidModifier ad_group_bid_modifier = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_CRITERION. + CampaignCriterion campaign_criterion = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == FEED. + Feed feed = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == FEED_ITEM. + FeedItem feed_item = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_FEED. + CampaignFeed campaign_feed = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_FEED. + AdGroupFeed ad_group_feed = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_AD. + AdGroupAd ad_group_ad = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET. + Asset asset = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CUSTOMER_ASSET. + CustomerAsset customer_asset = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_ASSET. + CampaignAsset campaign_asset = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_ASSET. + AdGroupAsset ad_group_asset = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET_SET. + AssetSet asset_set = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET_SET_ASSET. + AssetSetAsset asset_set_asset = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET. + CampaignAssetSet campaign_asset_set = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the change event. + // Change event resource names have the form: + // + // `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeEvent" + } + ]; + + // Output only. Time at which the change was committed on this resource. + string change_date_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the changed resource. This dictates what resource + // will be set in old_resource and new_resource. + google.ads.googleads.v16.enums.ChangeEventResourceTypeEnum + .ChangeEventResourceType change_resource_type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Simply resource this change occurred on. + string change_resource_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the change was made through. + google.ads.googleads.v16.enums.ChangeClientTypeEnum.ChangeClientType + client_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email of the user who made this change. + string user_email = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The old resource before the change. Only changed fields will + // be populated. + ChangedResource old_resource = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The new resource after the change. Only changed fields will be + // populated. + ChangedResource new_resource = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operation on the changed resource. + google.ads.googleads.v16.enums.ResourceChangeOperationEnum + .ResourceChangeOperation resource_change_operation = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of fields that are changed in the returned resource. + google.protobuf.FieldMask changed_fields = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + string ad_group = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The Feed affected by this change. + string feed = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Output only. The FeedItem affected by this change. + string feed_item = 14 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 20 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/change_status.proto b/third_party/googleapis/google/ads/googleads/v16/resources/change_status.proto new file mode 100644 index 000000000..a132733b3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/change_status.proto @@ -0,0 +1,201 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/change_status_operation.proto"; +import "google/ads/googleads/v16/enums/change_status_resource_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Change Status resource. + +// Describes the status of returned resource. ChangeStatus could have up to 3 +// minutes delay to reflect a new change. +message ChangeStatus { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeStatus" + pattern: "customers/{customer_id}/changeStatus/{change_status_id}" + }; + + // Output only. The resource name of the change status. + // Change status resource names have the form: + // + // `customers/{customer_id}/changeStatus/{change_status_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeStatus" + } + ]; + + // Output only. Time at which the most recent change has occurred on this + // resource. + optional string last_change_date_time = 24 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents the type of the changed resource. This dictates + // what fields will be set. For example, for AD_GROUP, campaign and ad_group + // fields will be set. + google.ads.googleads.v16.enums.ChangeStatusResourceTypeEnum + .ChangeStatusResourceType resource_type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + optional string campaign = 17 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + optional string ad_group = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Represents the status of the changed resource. + google.ads.googleads.v16.enums.ChangeStatusOperationEnum.ChangeStatusOperation + resource_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The AdGroupAd affected by this change. + optional string ad_group_ad = 25 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The AdGroupCriterion affected by this change. + optional string ad_group_criterion = 26 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The CampaignCriterion affected by this change. + optional string campaign_criterion = 27 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; + + // Output only. The Feed affected by this change. + optional string feed = 28 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Output only. The FeedItem affected by this change. + optional string feed_item = 29 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The AdGroupFeed affected by this change. + optional string ad_group_feed = 30 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Output only. The CampaignFeed affected by this change. + optional string campaign_feed = 31 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Output only. The AdGroupBidModifier affected by this change. + optional string ad_group_bid_modifier = 32 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Output only. The SharedSet affected by this change. + string shared_set = 33 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The CampaignSharedSet affected by this change. + string campaign_shared_set = 34 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 35 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // Output only. The CustomerAsset affected by this change. + string customer_asset = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + } + ]; + + // Output only. The CampaignAsset affected by this change. + string campaign_asset = 37 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + } + ]; + + // Output only. The AdGroupAsset affected by this change. + string ad_group_asset = 38 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + } + ]; + + // Output only. The CombinedAudience affected by this change. + string combined_audience = 40 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CombinedAudience" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/click_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/click_view.proto new file mode 100644 index 000000000..fe77d5347 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/click_view.proto @@ -0,0 +1,110 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/click_location.proto"; +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ClickView resource. + +// A click view with metrics aggregated at each click level, including both +// valid and invalid clicks. For non-Search campaigns, metrics.clicks +// represents the number of valid and invalid interactions. +// Queries including ClickView must have a filter limiting the results to one +// day and can be requested for dates back to 90 days before the time of the +// request. +message ClickView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ClickView" + pattern: "customers/{customer_id}/clickViews/{date}~{gclid}" + }; + + // Output only. The resource name of the click view. + // Click view resource names have the form: + // + // `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ClickView" + } + ]; + + // Output only. The Google Click ID. + optional string gclid = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location criteria matching the area of interest associated + // with the impression. + google.ads.googleads.v16.common.ClickLocation area_of_interest = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location criteria matching the location of presence + // associated with the impression. + google.ads.googleads.v16.common.ClickLocation location_of_presence = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Page number in search results where the ad was shown. + optional int64 page_number = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The associated ad. + optional string ad_group_ad = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The associated campaign location target, if one exists. + optional string campaign_location_target = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The associated user list, if one exists. + optional string user_list = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. The associated keyword, if one exists and the click + // corresponds to the SEARCH channel. + string keyword = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. Basic information about the associated keyword, if it exists. + google.ads.googleads.v16.common.KeywordInfo keyword_info = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/combined_audience.proto b/third_party/googleapis/google/ads/googleads/v16/resources/combined_audience.proto new file mode 100644 index 000000000..5003e0ba9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/combined_audience.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/combined_audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Combined Audience resource. + +// Describe a resource for combined audiences which includes different +// audiences. +message CombinedAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CombinedAudience" + pattern: "customers/{customer_id}/combinedAudiences/{combined_audience_id}" + }; + + // Immutable. The resource name of the combined audience. + // Combined audience names have the form: + // + // `customers/{customer_id}/combinedAudience/{combined_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CombinedAudience" + } + ]; + + // Output only. ID of the combined audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this combined audience. Indicates whether the + // combined audience is enabled or removed. + google.ads.googleads.v16.enums.CombinedAudienceStatusEnum + .CombinedAudienceStatus status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the combined audience. It should be unique across all + // combined audiences. + string name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Description of this combined audience. + string description = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/conversion_action.proto b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_action.proto new file mode 100644 index 000000000..99c3a5f76 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_action.proto @@ -0,0 +1,227 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/tag_snippet.proto"; +import "google/ads/googleads/v16/enums/attribution_model.proto"; +import "google/ads/googleads/v16/enums/conversion_action_category.proto"; +import "google/ads/googleads/v16/enums/conversion_action_counting_type.proto"; +import "google/ads/googleads/v16/enums/conversion_action_status.proto"; +import "google/ads/googleads/v16/enums/conversion_action_type.proto"; +import "google/ads/googleads/v16/enums/conversion_origin.proto"; +import "google/ads/googleads/v16/enums/data_driven_model_status.proto"; +import "google/ads/googleads/v16/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Conversion Action resource. + +// A conversion action. +message ConversionAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionAction" + pattern: "customers/{customer_id}/conversionActions/{conversion_action_id}" + }; + + // Settings related to this conversion action's attribution model. + message AttributionModelSettings { + // The attribution model type of this conversion action. + google.ads.googleads.v16.enums.AttributionModelEnum.AttributionModel + attribution_model = 1; + + // Output only. The status of the data-driven attribution model for the + // conversion action. + google.ads.googleads.v16.enums.DataDrivenModelStatusEnum + .DataDrivenModelStatus data_driven_model_status = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to the value for conversion events associated with this + // conversion action. + message ValueSettings { + // The value to use when conversion events for this conversion action are + // sent with an invalid, disallowed or missing value, or when + // this conversion action is configured to always use the default value. + optional double default_value = 4; + + // The currency code to use when conversion events for this conversion + // action are sent with an invalid or missing currency code, or when this + // conversion action is configured to always use the default value. + optional string default_currency_code = 5; + + // Controls whether the default value and default currency code are used in + // place of the value and currency code specified in conversion events for + // this conversion action. + optional bool always_use_default_value = 6; + } + + // Settings related to a third party app analytics conversion action. + message ThirdPartyAppAnalyticsSettings { + // Output only. The event name of a third-party app analytics conversion. + optional string event_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the third-party app analytics provider. + string provider_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to a Firebase conversion action. + message FirebaseSettings { + // Output only. The event name of a Firebase conversion. + optional string event_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Firebase project ID of the conversion. + optional string project_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The GA property ID of the conversion. + int64 property_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The GA property name of the conversion. + string property_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to a Google Analytics 4 conversion action. + message GoogleAnalytics4Settings { + // Output only. The name of the GA 4 event. + string event_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the GA 4 property. + string property_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the GA 4 property. + int64 property_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the conversion action. + // Conversion action resource names have the form: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + } + ]; + + // Output only. The ID of the conversion action. + optional int64 id = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the conversion action. + // + // This field is required and should not be empty when creating new + // conversion actions. + optional string name = 22; + + // The status of this conversion action for conversion event accrual. + google.ads.googleads.v16.enums.ConversionActionStatusEnum + .ConversionActionStatus status = 4; + + // Immutable. The type of this conversion action. + google.ads.googleads.v16.enums.ConversionActionTypeEnum.ConversionActionType + type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The conversion origin of this conversion action. + google.ads.googleads.v16.enums.ConversionOriginEnum.ConversionOrigin origin = + 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // If a conversion action's primary_for_goal bit is false, the conversion + // action is non-biddable for all campaigns regardless of their customer + // conversion goal or campaign conversion goal. + // However, custom conversion goals do not respect primary_for_goal, so if + // a campaign has a custom conversion goal configured with a + // primary_for_goal = false conversion action, that conversion action is + // still biddable. + // By default, primary_for_goal will be true if not set. In V9, + // primary_for_goal can only be set to false after creation through an + // 'update' operation because it's not declared as optional. + optional bool primary_for_goal = 31; + + // The category of conversions reported for this conversion action. + google.ads.googleads.v16.enums.ConversionActionCategoryEnum + .ConversionActionCategory category = 6; + + // Output only. The resource name of the conversion action owner customer, or + // null if this is a system-defined conversion action. + optional string owner_customer = 23 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Whether this conversion action should be included in the "conversions" + // metric. + optional bool include_in_conversions_metric = 24; + + // The maximum number of days that may elapse between an interaction + // (for example, a click) and a conversion event. + optional int64 click_through_lookback_window_days = 25; + + // The maximum number of days which may elapse between an impression and a + // conversion without an interaction. + optional int64 view_through_lookback_window_days = 26; + + // Settings related to the value for conversion events associated with this + // conversion action. + ValueSettings value_settings = 11; + + // How to count conversion events for the conversion action. + google.ads.googleads.v16.enums.ConversionActionCountingTypeEnum + .ConversionActionCountingType counting_type = 12; + + // Settings related to this conversion action's attribution model. + AttributionModelSettings attribution_model_settings = 13; + + // Output only. The snippets used for tracking conversions. + repeated google.ads.googleads.v16.common.TagSnippet tag_snippets = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The phone call duration in seconds after which a conversion should be + // reported for this conversion action. + // + // The value must be between 0 and 10000, inclusive. + optional int64 phone_call_duration_seconds = 27; + + // App ID for an app conversion action. + optional string app_id = 28; + + // Output only. Mobile app vendor for an app conversion action. + google.ads.googleads.v16.enums.MobileAppVendorEnum.MobileAppVendor + mobile_app_vendor = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Firebase settings for Firebase conversion types. + FirebaseSettings firebase_settings = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Third Party App Analytics settings for third party conversion + // types. + ThirdPartyAppAnalyticsSettings third_party_app_analytics_settings = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Google Analytics 4 settings for Google Analytics 4 conversion + // types. + GoogleAnalytics4Settings google_analytics_4_settings = 34 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/conversion_custom_variable.proto b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_custom_variable.proto new file mode 100644 index 000000000..e32088dbe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_custom_variable.proto @@ -0,0 +1,86 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/conversion_custom_variable_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Conversion Custom Variable resource. + +// A conversion custom variable +// See "About custom variables for conversions" at +// https://support.google.com/google-ads/answer/9964350 +message ConversionCustomVariable { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + pattern: "customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}" + }; + + // Immutable. The resource name of the conversion custom variable. + // Conversion custom variable resource names have the form: + // + // `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + } + ]; + + // Output only. The ID of the conversion custom variable. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the conversion custom variable. + // Name should be unique. The maximum length of name is 100 characters. + // There should not be any extra spaces before and after. + string name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The tag of the conversion custom variable. It is used + // in the event snippet and sent to Google Ads along with conversion pings. + // For conversion uploads in Google Ads API, the resource name of the + // conversion custom variable is used. Tag should be unique. The maximum size + // of tag is 100 bytes. There should not be any extra spaces before and after. + // Currently only lowercase letters, numbers and underscores are allowed in + // the tag. + string tag = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The status of the conversion custom variable for conversion event accrual. + google.ads.googleads.v16.enums.ConversionCustomVariableStatusEnum + .ConversionCustomVariableStatus status = 5; + + // Output only. The resource name of the customer that owns the conversion + // custom variable. + string owner_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/conversion_goal_campaign_config.proto b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_goal_campaign_config.proto new file mode 100644 index 000000000..1b25e3f82 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_goal_campaign_config.proto @@ -0,0 +1,67 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/goal_config_level.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Conversion goal settings for a Campaign. +message ConversionGoalCampaignConfig { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + pattern: "customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}" + }; + + // Immutable. The resource name of the conversion goal campaign config. + // Conversion goal campaign config resource names have the form: + // + // `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + } + ]; + + // Immutable. The campaign with which this conversion goal campaign config is + // associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The level of goal config the campaign is using. + google.ads.googleads.v16.enums.GoalConfigLevelEnum.GoalConfigLevel + goal_config_level = 3; + + // The custom conversion goal the campaign is using for optimization. + string custom_conversion_goal = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/conversion_value_rule.proto b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_value_rule.proto new file mode 100644 index 000000000..9b6698d1c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_value_rule.proto @@ -0,0 +1,143 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/conversion_value_rule_status.proto"; +import "google/ads/googleads/v16/enums/value_rule_device_type.proto"; +import "google/ads/googleads/v16/enums/value_rule_geo_location_match_type.proto"; +import "google/ads/googleads/v16/enums/value_rule_operation.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Conversion Value Rule resource. + +// A conversion value rule +message ConversionValueRule { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRule" + pattern: "customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}" + }; + + // Action applied when rule is applied. + message ValueRuleAction { + // Specifies applied operation. + google.ads.googleads.v16.enums.ValueRuleOperationEnum.ValueRuleOperation + operation = 1; + + // Specifies applied value. + double value = 2; + } + + // Condition on Geo dimension. + message ValueRuleGeoLocationCondition { + // Geo locations that advertisers want to exclude. + repeated string excluded_geo_target_constants = 1 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Excluded Geo location match type. + google.ads.googleads.v16.enums.ValueRuleGeoLocationMatchTypeEnum + .ValueRuleGeoLocationMatchType excluded_geo_match_type = 2; + + // Geo locations that advertisers want to include. + repeated string geo_target_constants = 3 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Included Geo location match type. + google.ads.googleads.v16.enums.ValueRuleGeoLocationMatchTypeEnum + .ValueRuleGeoLocationMatchType geo_match_type = 4; + } + + // Condition on Device dimension. + message ValueRuleDeviceCondition { + // Value for device type condition. + repeated google.ads.googleads.v16.enums.ValueRuleDeviceTypeEnum + .ValueRuleDeviceType device_types = 1; + } + + // Condition on Audience dimension. + message ValueRuleAudienceCondition { + // User Lists. + // The Similar Audiences sunset starts May 2023. Refer to + // https://ads-developers.googleblog.com/2022/11/announcing-deprecation-and-sunset-of.html + // for other options. + repeated string user_lists = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; + + // User Interests. + repeated string user_interests = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + }]; + } + + // Immutable. The resource name of the conversion value rule. + // Conversion value rule resource names have the form: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + } + ]; + + // Output only. The ID of the conversion value rule. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Action applied when the rule is triggered. + ValueRuleAction action = 3; + + // Condition for Geo location that must be satisfied for the value rule to + // apply. + ValueRuleGeoLocationCondition geo_location_condition = 4; + + // Condition for device type that must be satisfied for the value rule to + // apply. + ValueRuleDeviceCondition device_condition = 5; + + // Condition for audience that must be satisfied for the value rule to apply. + ValueRuleAudienceCondition audience_condition = 6; + + // Output only. The resource name of the conversion value rule's owner + // customer. When the value rule is inherited from a manager customer, + // owner_customer will be the resource name of the manager whereas the + // customer in the resource_name will be of the requesting serving customer. + // ** Read-only ** + string owner_customer = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // The status of the conversion value rule. + google.ads.googleads.v16.enums.ConversionValueRuleStatusEnum + .ConversionValueRuleStatus status = 8; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/conversion_value_rule_set.proto b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_value_rule_set.proto new file mode 100644 index 000000000..f55abbd2c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/conversion_value_rule_set.proto @@ -0,0 +1,108 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/conversion_action_category.proto"; +import "google/ads/googleads/v16/enums/conversion_value_rule_set_status.proto"; +import "google/ads/googleads/v16/enums/value_rule_set_attachment_type.proto"; +import "google/ads/googleads/v16/enums/value_rule_set_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Conversion Value Rule Set resource. + +// A conversion value rule set +message ConversionValueRuleSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + pattern: "customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}" + }; + + // Immutable. The resource name of the conversion value rule set. + // Conversion value rule set resource names have the form: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + } + ]; + + // Output only. The ID of the conversion value rule set. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource names of rules within the rule set. + repeated string conversion_value_rules = 3 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // Defines dimensions for Value Rule conditions. The condition types of value + // rules within this value rule set must be of these dimensions. The first + // entry in this list is the primary dimension of the included value rules. + // When using value rule primary dimension segmentation, conversion values + // will be segmented into the values adjusted by value rules and the original + // values, if some value rules apply. + repeated google.ads.googleads.v16.enums.ValueRuleSetDimensionEnum + .ValueRuleSetDimension dimensions = 4; + + // Output only. The resource name of the conversion value rule set's owner + // customer. When the value rule set is inherited from a manager customer, + // owner_customer will be the resource name of the manager whereas the + // customer in the resource_name will be of the requesting serving customer. + // ** Read-only ** + string owner_customer = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Immutable. Defines the scope where the conversion value rule set is + // attached. + google.ads.googleads.v16.enums.ValueRuleSetAttachmentTypeEnum + .ValueRuleSetAttachmentType attachment_type = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // The resource name of the campaign when the conversion value rule + // set is attached to a campaign. + string campaign = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // Output only. The status of the conversion value rule set. + // ** Read-only ** + google.ads.googleads.v16.enums.ConversionValueRuleSetStatusEnum + .ConversionValueRuleSetStatus status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The conversion action categories of the conversion value rule + // set. + repeated google.ads.googleads.v16.enums.ConversionActionCategoryEnum + .ConversionActionCategory conversion_action_categories = 9 + [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/currency_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/currency_constant.proto new file mode 100644 index 000000000..1b75c240d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/currency_constant.proto @@ -0,0 +1,65 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Currency Constant resource. + +// A currency constant. +message CurrencyConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/CurrencyConstant" + pattern: "currencyConstants/{code}" + }; + + // Output only. The resource name of the currency constant. + // Currency constant resource names have the form: + // + // `currencyConstants/{code}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CurrencyConstant" + } + ]; + + // Output only. ISO 4217 three-letter currency code, for example, "USD" + optional string code = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Full English name of the currency. + optional string name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Standard symbol for describing this currency, for example, '$' + // for US Dollars. + optional string symbol = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The billable unit for this currency. Billed amounts should be + // multiples of this value. + optional int64 billable_unit_micros = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/custom_audience.proto b/third_party/googleapis/google/ads/googleads/v16/resources/custom_audience.proto new file mode 100644 index 000000000..e19fa619c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/custom_audience.proto @@ -0,0 +1,109 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/custom_audience_member_type.proto"; +import "google/ads/googleads/v16/enums/custom_audience_status.proto"; +import "google/ads/googleads/v16/enums/custom_audience_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Custom Audience resource. + +// A custom audience. This is a list of users by interest. +message CustomAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomAudience" + pattern: "customers/{customer_id}/customAudiences/{custom_audience_id}" + }; + + // Immutable. The resource name of the custom audience. + // Custom audience resource names have the form: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + } + ]; + + // Output only. ID of the custom audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this custom audience. Indicates whether the custom + // audience is enabled or removed. + google.ads.googleads.v16.enums.CustomAudienceStatusEnum.CustomAudienceStatus + status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the custom audience. It should be unique for all custom audiences + // created by a customer. + // This field is required for creating operations. + string name = 4; + + // Type of the custom audience. + // ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom + // audience but kept for existing audiences) + google.ads.googleads.v16.enums.CustomAudienceTypeEnum.CustomAudienceType + type = 5; + + // Description of this custom audience. + string description = 6; + + // List of custom audience members that this custom audience is composed of. + // Members can be added during CustomAudience creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomAudienceMember members = 7; +} + +// A member of custom audience. A member can be a KEYWORD, URL, +// PLACE_CATEGORY or APP. It can only be created or removed but not changed. +message CustomAudienceMember { + // The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP. + google.ads.googleads.v16.enums.CustomAudienceMemberTypeEnum + .CustomAudienceMemberType member_type = 1; + + // The CustomAudienceMember value. One field is populated depending on the + // member type. + oneof value { + // A keyword or keyword phrase — at most 10 words and 80 characters. + // Languages with double-width characters such as Chinese, Japanese, + // or Korean, are allowed 40 characters, which describes the user's + // interests or actions. + string keyword = 2; + + // An HTTP URL, protocol-included — at most 2048 characters, which includes + // contents users have interests in. + string url = 3; + + // A place type described by a place category users visit. + int64 place_category = 4; + + // A package name of Android apps which users installed such as + // com.google.example. + string app = 5; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/custom_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v16/resources/custom_conversion_goal.proto new file mode 100644 index 000000000..1c89c6bcf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/custom_conversion_goal.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/custom_conversion_goal_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Custom conversion goal that can make arbitrary conversion actions biddable. +message CustomConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomConversionGoal" + pattern: "customers/{customer_id}/customConversionGoals/{goal_id}" + }; + + // Immutable. The resource name of the custom conversion goal. + // Custom conversion goal resource names have the form: + // + // `customers/{customer_id}/customConversionGoals/{goal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + } + ]; + + // Immutable. The ID for this custom conversion goal. + int64 id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The name for this custom conversion goal. + string name = 3; + + // Conversion actions that the custom conversion goal makes biddable. + repeated string conversion_actions = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The status of the custom conversion goal. + google.ads.googleads.v16.enums.CustomConversionGoalStatusEnum + .CustomConversionGoalStatus status = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/custom_interest.proto b/third_party/googleapis/google/ads/googleads/v16/resources/custom_interest.proto new file mode 100644 index 000000000..27898d844 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/custom_interest.proto @@ -0,0 +1,91 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/custom_interest_member_type.proto"; +import "google/ads/googleads/v16/enums/custom_interest_status.proto"; +import "google/ads/googleads/v16/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Custom Interest resource. + +// A custom interest. This is a list of users by interest. +message CustomInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomInterest" + pattern: "customers/{customer_id}/customInterests/{custom_interest_id}" + }; + + // Immutable. The resource name of the custom interest. + // Custom interest resource names have the form: + // + // `customers/{customer_id}/customInterests/{custom_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + } + ]; + + // Output only. Id of the custom interest. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of this custom interest. Indicates whether the custom interest is + // enabled or removed. + google.ads.googleads.v16.enums.CustomInterestStatusEnum.CustomInterestStatus + status = 3; + + // Name of the custom interest. It should be unique across the same custom + // affinity audience. + // This field is required for create operations. + optional string name = 9; + + // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. + // By default the type is set to CUSTOM_AFFINITY. + google.ads.googleads.v16.enums.CustomInterestTypeEnum.CustomInterestType + type = 5; + + // Description of this custom interest audience. + optional string description = 10; + + // List of custom interest members that this custom interest is composed of. + // Members can be added during CustomInterest creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomInterestMember members = 7; +} + +// A member of custom interest audience. A member can be a keyword or url. +// It is immutable, that is, it can only be created or removed but not changed. +message CustomInterestMember { + // The type of custom interest member, KEYWORD or URL. + google.ads.googleads.v16.enums.CustomInterestMemberTypeEnum + .CustomInterestMemberType member_type = 1; + + // Keyword text when member_type is KEYWORD or URL string when + // member_type is URL. + optional string parameter = 3; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer.proto new file mode 100644 index 000000000..dfb16670d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer.proto @@ -0,0 +1,299 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/conversion_tracking_status_enum.proto"; +import "google/ads/googleads/v16/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; +import "google/ads/googleads/v16/enums/customer_status.proto"; +import "google/ads/googleads/v16/enums/local_services_verification_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Customer resource. + +// A customer. +message Customer { + option (google.api.resource) = { + type: "googleads.googleapis.com/Customer" + pattern: "customers/{customer_id}" + }; + + // Immutable. The resource name of the customer. + // Customer resource names have the form: + // + // `customers/{customer_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. The ID of the customer. + optional int64 id = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional, non-unique descriptive name of the customer. + optional string descriptive_name = 20; + + // Immutable. The currency in which the account operates. + // A subset of the currency codes from the ISO 4217 standard is + // supported. + optional string currency_code = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The local timezone ID of the customer. + optional string time_zone = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // The URL template for constructing a tracking URL out of parameters. + // Only mutable in an `update` operation. + optional string tracking_url_template = 23; + + // The URL template for appending params to the final URL. + // Only mutable in an `update` operation. + optional string final_url_suffix = 24; + + // Whether auto-tagging is enabled for the customer. + optional bool auto_tagging_enabled = 25; + + // Output only. Whether the Customer has a Partners program badge. If the + // Customer is not associated with the Partners program, this will be false. + // For more information, see + // https://support.google.com/partners/answer/3125774. + optional bool has_partners_badge = 26 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the customer is a manager. + optional bool manager = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the customer is a test account. + optional bool test_account = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Call reporting setting for a customer. Only mutable in an `update` + // operation. + CallReportingSetting call_reporting_setting = 10; + + // Output only. Conversion tracking setting for a customer. + ConversionTrackingSetting conversion_tracking_setting = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Remarketing setting for a customer. + RemarketingSetting remarketing_setting = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reasons why the customer is not eligible to use + // PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. + // This field is read-only. + repeated google.ads.googleads.v16.enums + .CustomerPayPerConversionEligibilityFailureReasonEnum + .CustomerPayPerConversionEligibilityFailureReason + pay_per_conversion_eligibility_failure_reasons = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Optimization score of the customer. + // + // Optimization score is an estimate of how well a customer's campaigns are + // set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null + // for all manager customers, and for unscored non-manager customers. + // + // See "About optimization score" at + // https://support.google.com/google-ads/answer/9061546. + // + // This field is read-only. + optional double optimization_score = 29 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Optimization score weight of the customer. + // + // Optimization score weight can be used to compare/aggregate optimization + // scores across multiple non-manager customers. The aggregate optimization + // score of a manager is computed as the sum over all of their customers of + // `Customer.optimization_score * Customer.optimization_score_weight`. This + // field is 0 for all manager customers, and for unscored non-manager + // customers. + // + // This field is read-only. + double optimization_score_weight = 30 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the customer. + google.ads.googleads.v16.enums.CustomerStatusEnum.CustomerStatus status = 36 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if feed based location has been migrated to asset based + // location. + optional bool location_asset_auto_migration_done = 38 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if feed based image has been migrated to asset based + // image. + optional bool image_asset_auto_migration_done = 39 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp of migration from feed based location to asset base + // location in yyyy-MM-dd HH:mm:ss format. + optional string location_asset_auto_migration_done_date_time = 40 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp of migration from feed based image to asset base + // image in yyyy-MM-dd HH:mm:ss format. + optional string image_asset_auto_migration_done_date_time = 41 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Customer Agreement Setting for a customer. + CustomerAgreementSetting customer_agreement_setting = 44 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Settings for Local Services customer. + LocalServicesSettings local_services_settings = 45 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Call reporting setting for a customer. Only mutable in an `update` operation. +message CallReportingSetting { + // Enable reporting of phone call events by redirecting them through Google + // System. + optional bool call_reporting_enabled = 10; + + // Whether to enable call conversion reporting. + optional bool call_conversion_reporting_enabled = 11; + + // Customer-level call conversion action to attribute a call conversion to. + // If not set a default conversion action is used. Only in effect when + // call_conversion_reporting_enabled is set to true. + optional string call_conversion_action = 12 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; +} + +// A collection of customer-wide settings related to Google Ads Conversion +// Tracking. +message ConversionTrackingSetting { + // Output only. The conversion tracking id used for this account. This id + // doesn't indicate whether the customer uses conversion tracking + // (conversion_tracking_status does). This field is read-only. + optional int64 conversion_tracking_id = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The conversion tracking id of the customer's manager. This is + // set when the customer is opted into cross account conversion tracking, and + // it overrides conversion_tracking_id. This field can only be managed through + // the Google Ads UI. This field is read-only. + optional int64 cross_account_conversion_tracking_id = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the customer has accepted customer data terms. If + // using cross-account conversion tracking, this value is inherited from the + // manager. This field is read-only. For more + // information, see https://support.google.com/adspolicy/answer/7475709. + bool accepted_customer_data_terms = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Conversion tracking status. It indicates whether the customer + // is using conversion tracking, and who is the conversion tracking owner of + // this customer. If this customer is using cross-account conversion tracking, + // the value returned will differ based on the `login-customer-id` of the + // request. + google.ads.googleads.v16.enums.ConversionTrackingStatusEnum + .ConversionTrackingStatus conversion_tracking_status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the customer is opted-in for enhanced conversions + // for leads. If using cross-account conversion tracking, this value is + // inherited from the manager. This field is read-only. + bool enhanced_conversions_for_leads_enabled = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the customer where conversions are + // created and managed. This field is read-only. + string google_ads_conversion_customer = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Remarketing setting for a customer. +message RemarketingSetting { + // Output only. The Google tag. + optional string google_global_site_tag = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Customer Agreement Setting for a customer. +message CustomerAgreementSetting { + // Output only. Whether the customer has accepted lead form term of service. + bool accepted_lead_form_terms = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Settings for Local Services customer. +message LocalServicesSettings { + // Output only. A read-only list of geo vertical level license statuses. + repeated GranularLicenseStatus granular_license_statuses = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A read-only list of geo vertical level insurance statuses. + repeated GranularInsuranceStatus granular_insurance_statuses = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// License status at geo + vertical level. +message GranularLicenseStatus { + // Output only. Geotarget criterion ID associated with the status. Can be on + // country or state/province geo level, depending on requirements and + // location. See https://developers.google.com/google-ads/api/data/geotargets + // for more information. + optional int64 geo_criterion_id = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Service category associated with the status. For example, + // xcat:service_area_business_plumber. + // For more details see: + // https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids + optional string category_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Granular license status, per geo + vertical. + optional google.ads.googleads.v16.enums.LocalServicesVerificationStatusEnum + .LocalServicesVerificationStatus verification_status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Insurance status at geo + vertical level. +message GranularInsuranceStatus { + // Output only. Geotarget criterion ID associated with the status. Can be on + // country or state/province geo level, depending on requirements and + // location. See https://developers.google.com/google-ads/api/data/geotargets + // for more information. + optional int64 geo_criterion_id = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Service category associated with the status. For example, + // xcat:service_area_business_plumber. + // For more details see: + // https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids + optional string category_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Granular insurance status, per geo + vertical. + optional google.ads.googleads.v16.enums.LocalServicesVerificationStatusEnum + .LocalServicesVerificationStatus verification_status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_asset.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_asset.proto new file mode 100644 index 000000000..e37e594a7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_asset.proto @@ -0,0 +1,98 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/asset_policy.proto"; +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status.proto"; +import "google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto"; +import "google/ads/googleads/v16/enums/asset_link_status.proto"; +import "google/ads/googleads/v16/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerAsset resource. + +// A link between a customer and an asset. +message CustomerAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerAsset" + pattern: "customers/{customer_id}/customerAssets/{asset_id}~{field_type}" + }; + + // Immutable. The resource name of the customer asset. + // CustomerAsset resource names have the form: + // + // `customers/{customer_id}/customerAssets/{asset_id}~{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + } + ]; + + // Required. Immutable. The asset which is linked to the customer. + string asset = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // Required. Immutable. Role that the asset takes for the customer link. + google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType field_type = + 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. Source of the customer asset link. + google.ads.googleads.v16.enums.AssetSourceEnum.AssetSource source = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the customer asset. + google.ads.googleads.v16.enums.AssetLinkStatusEnum.AssetLinkStatus status = 4; + + // Output only. Provides the PrimaryStatus of this asset link. + // Primary status is meant essentially to differentiate between the plain + // "status" field, which has advertiser set values of enabled, paused, or + // removed. The primary status takes into account other signals (for assets + // its mainly policy and quality approvals) to come up with a more + // comprehensive status to indicate its serving state. + google.ads.googleads.v16.enums.AssetLinkPrimaryStatusEnum + .AssetLinkPrimaryStatus primary_status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides the details of the primary status and its associated + // reasons. + repeated google.ads.googleads.v16.common.AssetLinkPrimaryStatusDetails + primary_status_details = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides a list of reasons for why an asset is not serving or + // not serving at full capacity. + repeated google.ads.googleads.v16.enums.AssetLinkPrimaryStatusReasonEnum + .AssetLinkPrimaryStatusReason primary_status_reasons = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_asset_set.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_asset_set.proto new file mode 100644 index 000000000..5dfc3678e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_asset_set.proto @@ -0,0 +1,72 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetSetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerAssetSet resource. + +// CustomerAssetSet is the linkage between a customer and an asset set. +// Adding a CustomerAssetSet links an asset set with a customer. +message CustomerAssetSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerAssetSet" + pattern: "customers/{customer_id}/customerAssetSets/{asset_set_id}" + }; + + // Immutable. The resource name of the customer asset set. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/customerAssetSets/{asset_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAssetSet" + } + ]; + + // Immutable. The asset set which is linked to the customer. + string asset_set = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Immutable. The customer to which this asset set is linked. + string customer = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. The status of the customer asset set asset. Read-only. + google.ads.googleads.v16.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus + status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_client.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_client.proto new file mode 100644 index 000000000..97cb83f71 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_client.proto @@ -0,0 +1,106 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerClient resource. + +// A link between the given customer and a client customer. CustomerClients only +// exist for manager customers. All direct and indirect client customers are +// included, as well as the manager itself. +message CustomerClient { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClient" + pattern: "customers/{customer_id}/customerClients/{client_customer_id}" + }; + + // Output only. The resource name of the customer client. + // CustomerClient resource names have the form: + // `customers/{customer_id}/customerClients/{client_customer_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClient" + } + ]; + + // Output only. The resource name of the client-customer which is linked to + // the given customer. Read only. + optional string client_customer = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. Specifies whether this is a + // [hidden account](https://support.google.com/google-ads/answer/7519830). + // Read only. + optional bool hidden = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Distance between given customer and client. For self link, the + // level value will be 0. Read only. + optional int64 level = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Common Locale Data Repository (CLDR) string representation of + // the time zone of the client, for example, America/Los_Angeles. Read only. + optional string time_zone = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies if the client is a test account. Read only. + optional bool test_account = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies if the client is a manager. Read only. + optional bool manager = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Descriptive name for the client. Read only. + optional string descriptive_name = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Currency code (for example, 'USD', 'EUR') for the client. Read + // only. + optional string currency_code = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the client customer. Read only. + optional int64 id = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of the labels owned by the requesting + // customer that are applied to the client customer. Label resource names have + // the form: + // + // `customers/{customer_id}/labels/{label_id}` + repeated string applied_labels = 21 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Label" } + ]; + + // Output only. The status of the client customer. Read only. + google.ads.googleads.v16.enums.CustomerStatusEnum.CustomerStatus status = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_client_link.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_client_link.proto new file mode 100644 index 000000000..b6aa790b2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_client_link.proto @@ -0,0 +1,71 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerClientLink resource. + +// Represents customer client link relationship. +message CustomerClientLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClientLink" + pattern: "customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerClientLink resource names have the form: + // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + } + ]; + + // Immutable. The client customer linked to this customer. + optional string client_customer = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. This is uniquely identifies a customer client link. Read only. + optional int64 manager_link_id = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // This is the status of the link between client and manager. + google.ads.googleads.v16.enums.ManagerLinkStatusEnum.ManagerLinkStatus + status = 5; + + // The visibility of the link. Users can choose whether or not to see hidden + // links in the Google Ads UI. + // Default value is false + optional bool hidden = 9; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_conversion_goal.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_conversion_goal.proto new file mode 100644 index 000000000..2f1120ba0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_conversion_goal.proto @@ -0,0 +1,65 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/conversion_action_category.proto"; +import "google/ads/googleads/v16/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Biddability control for conversion actions with a matching category and +// origin. +message CustomerConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + pattern: "customers/{customer_id}/customerConversionGoals/{category}~{source}" + }; + + // Immutable. The resource name of the customer conversion goal. + // Customer conversion goal resource names have the form: + // + // `customers/{customer_id}/customerConversionGoals/{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + } + ]; + + // The conversion category of this customer conversion goal. Only + // conversion actions that have this category will be included in this goal. + google.ads.googleads.v16.enums.ConversionActionCategoryEnum + .ConversionActionCategory category = 2; + + // The conversion origin of this customer conversion goal. Only + // conversion actions that have this conversion origin will be included in + // this goal. + google.ads.googleads.v16.enums.ConversionOriginEnum.ConversionOrigin origin = + 3; + + // The biddability of the customer conversion goal. + bool biddable = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_customizer.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_customizer.proto new file mode 100644 index 000000000..1860496a4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_customizer.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/customizer_value.proto"; +import "google/ads/googleads/v16/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A customizer value for the associated CustomizerAttribute at the Customer +// level. +message CustomerCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerCustomizer" + pattern: "customers/{customer_id}/customerCustomizers/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customer customizer. + // Customer customizer resource names have the form: + // + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the + // customer. + string customizer_attribute = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the customer customizer attribute. + google.ads.googleads.v16.enums.CustomizerValueStatusEnum.CustomizerValueStatus + status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The value to associate with the customizer attribute at this + // level. The value must be of the type specified for the CustomizerAttribute. + google.ads.googleads.v16.common.CustomizerValue value = 4 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_extension_setting.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_extension_setting.proto new file mode 100644 index 000000000..d9dfa3072 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_extension_setting.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/extension_setting_device.proto"; +import "google/ads/googleads/v16/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerExtensionSetting resource. + +// A customer extension setting. +message CustomerExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + pattern: "customers/{customer_id}/customerExtensionSettings/{extension_type}" + }; + + // Immutable. The resource name of the customer extension setting. + // CustomerExtensionSetting resource names have the form: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v16.enums.ExtensionTypeEnum.ExtensionType + extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The resource names of the extension feed items to serve under the customer. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 5 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v16.enums.ExtensionSettingDeviceEnum + .ExtensionSettingDevice device = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_feed.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_feed.proto new file mode 100644 index 000000000..fe2fe3839 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_feed.proto @@ -0,0 +1,74 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/matching_function.proto"; +import "google/ads/googleads/v16/enums/feed_link_status.proto"; +import "google/ads/googleads/v16/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerFeed resource. + +// A customer feed. +message CustomerFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerFeed" + pattern: "customers/{customer_id}/customerFeeds/{feed_id}" + }; + + // Immutable. The resource name of the customer feed. + // Customer feed resource names have the form: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + } + ]; + + // Immutable. The feed being linked to the customer. + optional string feed = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // customer. Required. + repeated google.ads.googleads.v16.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_types = 3; + + // Matching function associated with the CustomerFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v16.common.MatchingFunction matching_function = 4; + + // Output only. Status of the customer feed. + // This field is read-only. + google.ads.googleads.v16.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_label.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_label.proto new file mode 100644 index 000000000..c3ca0a2a5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_label.proto @@ -0,0 +1,69 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the customer label resource. + +// Represents a relationship between a customer and a label. This customer may +// not have access to all the labels attached to it. Additional CustomerLabels +// may be returned by increasing permissions with login-customer-id. +message CustomerLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerLabel" + pattern: "customers/{customer_id}/customerLabels/{label_id}" + }; + + // Immutable. Name of the resource. + // Customer label resource names have the form: + // `customers/{customer_id}/customerLabels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + } + ]; + + // Output only. The resource name of the customer to which the label is + // attached. Read only. + optional string customer = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. The resource name of the label assigned to the customer. + // + // Note: the Customer ID portion of the label resource name is not + // validated when creating a new CustomerLabel. + optional string label = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Label" } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_lifecycle_goal.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_lifecycle_goal.proto new file mode 100644 index 000000000..95afbcd49 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_lifecycle_goal.proto @@ -0,0 +1,85 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/lifecycle_goals.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLifecycleGoalProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the customer lifecycle resource. + +// Account level customer lifecycle goal settings. +message CustomerLifecycleGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerLifecycleGoal" + pattern: "customers/{customer_id}/customerLifecycleGoals" + }; + + // Lifecycle goal common settings, including existing user lists and existing + // high lifetime value user lists, shared among different types of lifecycle + // goals. + message LifecycleGoalCustomerDefinitionSettings { + // Output only. User lists which represent existing customers. + repeated string existing_user_lists = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. User lists which represent customers of high lifetime value. + // In current stage, high lifetime value feature is in beta and this field + // is read-only. + repeated string high_lifetime_value_user_lists = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + } + + // Immutable. The resource name of the customer lifecycle goal. + // Customer lifecycle resource names have the form: + // + // `customers/{customer_id}/customerLifecycleGoal` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLifecycleGoal" + } + ]; + + // Output only. Common lifecycle goal settings shared among different types of + // lifecycle goals. + LifecycleGoalCustomerDefinitionSettings + lifecycle_goal_customer_definition_settings = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Customer acquisition goal customer level value settings. + google.ads.googleads.v16.common.LifecycleGoalValueSettings + customer_acquisition_goal_value_settings = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_manager_link.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_manager_link.proto new file mode 100644 index 000000000..cd00c8185 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_manager_link.proto @@ -0,0 +1,66 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerManagerLink resource. + +// Represents customer-manager link relationship. +message CustomerManagerLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerManagerLink" + pattern: "customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerManagerLink resource names have the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + } + ]; + + // Output only. The manager customer linked to the customer. + optional string manager_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. ID of the customer-manager link. This field is read only. + optional int64 manager_link_id = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the link between the customer and the manager. + google.ads.googleads.v16.enums.ManagerLinkStatusEnum.ManagerLinkStatus + status = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_negative_criterion.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_negative_criterion.proto new file mode 100644 index 000000000..1b1c6c65c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_negative_criterion.proto @@ -0,0 +1,92 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Customer Negative Criterion resource. + +// A negative criterion for exclusions at the customer level. +message CustomerNegativeCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + pattern: "customers/{customer_id}/customerNegativeCriteria/{criterion_id}" + }; + + // Immutable. The resource name of the customer negative criterion. + // Customer negative criterion resource names have the form: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + } + ]; + + // Output only. The ID of the criterion. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v16.enums.CriterionTypeEnum.CriterionType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The customer negative criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. ContentLabel. + google.ads.googleads.v16.common.ContentLabelInfo content_label = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileApplication. + google.ads.googleads.v16.common.MobileApplicationInfo mobile_application = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileAppCategory. + google.ads.googleads.v16.common.MobileAppCategoryInfo mobile_app_category = + 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v16.common.PlacementInfo placement = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v16.common.YouTubeVideoInfo youtube_video = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v16.common.YouTubeChannelInfo youtube_channel = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. NegativeKeywordList. + google.ads.googleads.v16.common.NegativeKeywordListInfo + negative_keyword_list = 11 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_search_term_insight.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_search_term_insight.proto new file mode 100644 index 000000000..5847cefb9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_search_term_insight.proto @@ -0,0 +1,59 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSearchTermInsightProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the customer search term insight resource. + +// A Customer search term view. +// Historical data is available starting March 2023. +message CustomerSearchTermInsight { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerSearchTermInsight" + pattern: "customers/{customer_id}/customerSearchTermInsights/{cluster_id}" + }; + + // Output only. The resource name of the customer level search term insight. + // Customer level search term insight resource names have the form: + // + // `customers/{customer_id}/customerSearchTermInsights/{category_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerSearchTermInsight" + } + ]; + + // Output only. The label for the search category. An empty string denotes the + // catch-all category for search terms that didn't fit into another category. + optional string category_label = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the insight. + optional int64 id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_sk_ad_network_conversion_value_schema.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_sk_ad_network_conversion_value_schema.proto new file mode 100644 index 000000000..1c6a3950b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_sk_ad_network_conversion_value_schema.proto @@ -0,0 +1,163 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the SkAdNetworkConversionVauleSchema resource. + +// A CustomerSkAdNetworkConversionValueSchema. +message CustomerSkAdNetworkConversionValueSchema { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerSkAdNetworkConversionValueSchema" + pattern: "customers/{customer_id}/customerSkAdNetworkConversionValueSchemas/{account_link_id}" + }; + + // The CustomerLink specific SkAdNetworkConversionValueSchema. + message SkAdNetworkConversionValueSchema { + // Mappings for fine grained conversion value. + message FineGrainedConversionValueMappings { + // Output only. Fine grained conversion value. Valid values are in the + // inclusive range [0,63]. + int32 fine_grained_conversion_value = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Conversion events the fine grained conversion value maps + // to. + ConversionValueMapping conversion_value_mapping = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Represents mapping from one conversion value to one or more conversion + // events. + message ConversionValueMapping { + // Output only. The minimum of the time range in which a user was last + // active during the measurement window. + int64 min_time_post_install_hours = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The maximum of the time range in which a user was last + // active during the measurement window. + int64 max_time_post_install_hours = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The conversion value may be mapped to multiple events with + // various attributes. + repeated Event mapped_events = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Defines a Google conversion event that the conversion value is mapped to. + message Event { + // Defines a range for revenue values. + message RevenueRange { + // Output only. For revenue ranges, the minimum value in `currency_code` + // for which this conversion value would be updated. A value of 0 will + // be treated as unset. + double min_event_revenue = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. For revenue ranges, the maximum value in `currency_code` + // for which this conversion value would be updated. A value of 0 will + // be treated as unset. + double max_event_revenue = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Defines a range for event counter values. + message EventOccurrenceRange { + // Output only. For event counter ranges, the minimum of the defined + // range. A value of 0 will be treated as unset. + int64 min_event_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. For event counter ranges, the maximum of the defined + // range. A value of 0 will be treated as unset. + int64 max_event_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Google event name represented by this conversion value. + string mapped_event_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The reported currency for the event_revenue. ISO 4217 + // three-letter currency code, for example, "USD" + string currency_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Either a range or specific value for event revenue. + oneof revenue_rate { + // Output only. The event revenue range. + RevenueRange event_revenue_range = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The specific event revenue value. + double event_revenue_value = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Either a range or specific value for event counter. + oneof event_rate { + // Output only. The event counter range. + EventOccurrenceRange event_occurrence_range = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. For specific event counter values. + int64 event_counter = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // Required. Output only. Apple App Store app ID. + string app_id = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. A time window (measured in hours) post-install, after which + // the App Attribution Partner or advertiser stops calling + // [updateConversionValue] + // (https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue). + int32 measurement_window_hours = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Fine grained conversion value mappings. + repeated FineGrainedConversionValueMappings + fine_grained_conversion_value_mappings = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the schema. + // CustomerSkAdNetworkConversionValueSchema resource names have the form: + // customers/{customer_id}/customerSkAdNetworkConversionValueSchemas/{account_link_id} + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerSkAdNetworkConversionValueSchema" + } + ]; + + // Output only. The schema for the specified resource. + SkAdNetworkConversionValueSchema schema = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_user_access.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_user_access.proto new file mode 100644 index 000000000..a24309fb9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_user_access.proto @@ -0,0 +1,73 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerUserAccess resource. + +// Represents the permission of a single user onto a single customer. +message CustomerUserAccess { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccess" + pattern: "customers/{customer_id}/customerUserAccesses/{user_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccesses/{user_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + } + ]; + + // Output only. User id of the user with the customer access. + // Read only field + int64 user_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Email address of the user. + // Read only field + optional string email_address = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Access role of the user. + google.ads.googleads.v16.enums.AccessRoleEnum.AccessRole access_role = 4; + + // Output only. The customer user access creation time. + // Read only field + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string access_creation_date_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email address of the inviter user. + // Read only field + optional string inviter_user_email_address = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customer_user_access_invitation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customer_user_access_invitation.proto new file mode 100644 index 000000000..f2f28543e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customer_user_access_invitation.proto @@ -0,0 +1,75 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/access_invitation_status.proto"; +import "google/ads/googleads/v16/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the CustomerUserAccessInvitation resource. + +// Represent an invitation to a new user on this customer account. +message CustomerUserAccessInvitation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + pattern: "customers/{customer_id}/customerUserAccessInvitations/{invitation_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + } + ]; + + // Output only. The ID of the invitation. + // This field is read-only. + int64 invitation_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Access role of the user. + google.ads.googleads.v16.enums.AccessRoleEnum.AccessRole access_role = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Email address the invitation was sent to. + // This can differ from the email address of the account + // that accepts the invite. + string email_address = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time invitation was created. + // This field is read-only. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string creation_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Invitation status of the user. + google.ads.googleads.v16.enums.AccessInvitationStatusEnum + .AccessInvitationStatus invitation_status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/customizer_attribute.proto b/third_party/googleapis/google/ads/googleads/v16/resources/customizer_attribute.proto new file mode 100644 index 000000000..39012b520 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/customizer_attribute.proto @@ -0,0 +1,75 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/customizer_attribute_status.proto"; +import "google/ads/googleads/v16/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A customizer attribute. +// Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or +// AdGroupCriterionCustomizer to associate a customizer attribute and +// set its value at the customer, campaign, ad group, or ad group criterion +// level, respectively. +message CustomizerAttribute { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomizerAttribute" + pattern: "customers/{customer_id}/customizerAttributes/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customizer attribute. + // Customizer Attribute resource names have the form: + // + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The ID of the customizer attribute. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Name of the customizer attribute. Required. It must + // have a minimum length of 1 and maximum length of 40. Name of an enabled + // customizer attribute must be unique (case insensitive). + string name = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. The type of the customizer attribute. + google.ads.googleads.v16.enums.CustomizerAttributeTypeEnum + .CustomizerAttributeType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status of the customizer attribute. + google.ads.googleads.v16.enums.CustomizerAttributeStatusEnum + .CustomizerAttributeStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/detail_placement_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/detail_placement_view.proto new file mode 100644 index 000000000..18a3d1d7a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/detail_placement_view.proto @@ -0,0 +1,73 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the detail placement view resource. + +// A view with metrics aggregated by ad group and URL or YouTube video. +message DetailPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailPlacementView" + pattern: "customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the detail placement view. + // Detail placement view resource names have the form: + // + // `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailPlacementView" + } + ]; + + // Output only. The automatic placement string at detail level, e. g. website + // URL, mobile application ID, or a YouTube video ID. + optional string placement = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name is URL name for websites, YouTube video name + // for YouTube videos, and translated mobile app name for mobile apps. + optional string display_name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, for example, domain, link to the + // mobile application in app store, or a YouTube channel URL. + optional string group_placement_target_url = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the placement, for example, website, link to the mobile + // application in app store, or a YouTube video URL. + optional string target_url = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of the placement, for example, Website, YouTube Video, + // and Mobile Application. + google.ads.googleads.v16.enums.PlacementTypeEnum.PlacementType + placement_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/detailed_demographic.proto b/third_party/googleapis/google/ads/googleads/v16/resources/detailed_demographic.proto new file mode 100644 index 000000000..093af38d0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/detailed_demographic.proto @@ -0,0 +1,75 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Detailed Demographic resource. + +// A detailed demographic: a particular interest-based vertical to be targeted +// to reach users based on long-term life facts. +message DetailedDemographic { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailedDemographic" + pattern: "customers/{customer_id}/detailedDemographics/{detailed_demographic_id}" + }; + + // Output only. The resource name of the detailed demographic. + // Detailed demographic resource names have the form: + // + // `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. The ID of the detailed demographic. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the detailed demographic. For example,"Highest + // Level of Educational Attainment" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the detailed_demographic. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. True if the detailed demographic is launched to all channels + // and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the detailed demographic. + repeated google.ads.googleads.v16.common.CriterionCategoryAvailability + availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/display_keyword_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/display_keyword_view.proto new file mode 100644 index 000000000..462d5b2ba --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/display_keyword_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the display keyword view resource. + +// A display keyword view. +message DisplayKeywordView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DisplayKeywordView" + pattern: "customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the display keyword view. + // Display Keyword view resource names have the form: + // + // `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DisplayKeywordView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/distance_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/distance_view.proto new file mode 100644 index 000000000..1d9a96bd3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/distance_view.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the DistanceView resource. + +// A distance view with metrics aggregated by the user's distance from an +// advertiser's location extensions. Each DistanceBucket includes all +// impressions that fall within its distance and a single impression will +// contribute to the metrics for all DistanceBuckets that include the user's +// distance. +message DistanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DistanceView" + pattern: "customers/{customer_id}/distanceViews/{placeholder_chain_id}~{distance_bucket}" + }; + + // Output only. The resource name of the distance view. + // Distance view resource names have the form: + // + // `customers/{customer_id}/distanceViews/1~{distance_bucket}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DistanceView" + } + ]; + + // Output only. Grouping of user distance from location extensions. + google.ads.googleads.v16.enums.DistanceBucketEnum.DistanceBucket + distance_bucket = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if the DistanceBucket is using the metric system, false + // otherwise. + optional bool metric_system = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/domain_category.proto b/third_party/googleapis/google/ads/googleads/v16/resources/domain_category.proto new file mode 100644 index 000000000..2d519697c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/domain_category.proto @@ -0,0 +1,94 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Domain Category resource. + +// A category generated automatically by crawling a domain. If a campaign uses +// the DynamicSearchAdsSetting, then domain categories will be generated for +// the domain. The categories can be targeted using WebpageConditionInfo. +// See: https://support.google.com/google-ads/answer/2471185 +message DomainCategory { + option (google.api.resource) = { + type: "googleads.googleapis.com/DomainCategory" + pattern: "customers/{customer_id}/domainCategories/{campaign_id}~{base64_category}~{language_code}" + }; + + // Output only. The resource name of the domain category. + // Domain category resource names have the form: + // + // `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DomainCategory" + } + ]; + + // Output only. The campaign this category is recommended for. + optional string campaign = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Recommended category for the website domain, for example, if + // you have a website about electronics, the categories could be "cameras", + // "televisions", etc. + optional string category = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The language code specifying the language of the website, for + // example, "en" for English. The language can be specified in the + // DynamicSearchAdsSetting required for dynamic search ads. This is the + // language of the pages from your website that you want Google Ads to find, + // create ads for, and match searches with. + optional string language_code = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The domain for the website. The domain can be specified in the + // DynamicSearchAdsSetting required for dynamic search ads. + optional string domain = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Fraction of pages on your site that this category matches. + optional double coverage_fraction = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The position of this category in the set of categories. Lower + // numbers indicate a better match for the domain. null indicates not + // recommended. + optional int64 category_rank = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether this category has sub-categories. + optional bool has_children = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended cost per click for the category. + optional int64 recommended_cpc_bid_micros = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/dynamic_search_ads_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/dynamic_search_ads_search_term_view.proto new file mode 100644 index 000000000..5461113cf --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/dynamic_search_ads_search_term_view.proto @@ -0,0 +1,88 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Dynamic Search Ads Search Term View resource. + +// A dynamic search ads search term view. +message DynamicSearchAdsSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + pattern: "customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}" + }; + + // Output only. The resource name of the dynamic search ads search term view. + // Dynamic search ads search term view resource names have the form: + // + // `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + } + ]; + + // Output only. Search term + // + // This field is read-only. + optional string search_term = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The dynamically generated headline of the Dynamic Search Ad. + // + // This field is read-only. + optional string headline = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The dynamically selected landing page URL of the impression. + // + // This field is read-only. + optional string landing_page = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of page feed item served for the impression. + // + // This field is read-only. + optional string page_url = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query matches a negative keyword. + // + // This field is read-only. + optional bool has_negative_keyword = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query is added to targeted keywords. + // + // This field is read-only. + optional bool has_matching_keyword = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query matches a negative url. + // + // This field is read-only. + optional bool has_negative_url = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/expanded_landing_page_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/expanded_landing_page_view.proto new file mode 100644 index 000000000..10c3a4f1c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/expanded_landing_page_view.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the expanded landing page view resource. + +// A landing page view with metrics aggregated at the expanded final URL +// level. +message ExpandedLandingPageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + pattern: "customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}" + }; + + // Output only. The resource name of the expanded landing page view. + // Expanded landing page view resource names have the form: + // + // `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + } + ]; + + // Output only. The final URL that clicks are directed to. + optional string expanded_final_url = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/experiment.proto b/third_party/googleapis/google/ads/googleads/v16/resources/experiment.proto new file mode 100644 index 000000000..f3d56fb15 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/experiment.proto @@ -0,0 +1,115 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/metric_goal.proto"; +import "google/ads/googleads/v16/enums/async_action_status.proto"; +import "google/ads/googleads/v16/enums/experiment_status.proto"; +import "google/ads/googleads/v16/enums/experiment_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Experiment resource. + +// A Google ads experiment for users to experiment changes on multiple +// campaigns, compare the performance, and apply the effective changes. +message Experiment { + option (google.api.resource) = { + type: "googleads.googleapis.com/Experiment" + pattern: "customers/{customer_id}/experiments/{trial_id}" + }; + + // Immutable. The resource name of the experiment. + // Experiment resource names have the form: + // + // `customers/{customer_id}/experiments/{experiment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; + + // Output only. The ID of the experiment. Read only. + optional int64 experiment_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the experiment. It must have a minimum length of 1 + // and maximum length of 1024. It must be unique under a customer. + string name = 10 [(google.api.field_behavior) = REQUIRED]; + + // The description of the experiment. It must have a minimum length of 1 and + // maximum length of 2048. + string description = 11; + + // For system managed experiments, the advertiser must provide a suffix during + // construction, in the setup stage before moving to initiated. The suffix + // will be appended to the in-design and experiment campaign names so that the + // name is base campaign name + suffix. + string suffix = 12; + + // Required. The product/feature that uses this experiment. + google.ads.googleads.v16.enums.ExperimentTypeEnum.ExperimentType type = 13 + [(google.api.field_behavior) = REQUIRED]; + + // The Advertiser-chosen status of this experiment. + google.ads.googleads.v16.enums.ExperimentStatusEnum.ExperimentStatus status = + 14; + + // Date when the experiment starts. By default, the experiment starts + // now or on the campaign's start date, whichever is later. If this field is + // set, then the experiment starts at the beginning of the specified date in + // the customer's time zone. + // + // Format: YYYY-MM-DD + // Example: 2019-03-14 + optional string start_date = 15; + + // Date when the experiment ends. By default, the experiment ends on + // the campaign's end date. If this field is set, then the experiment ends at + // the end of the specified date in the customer's time zone. + // + // Format: YYYY-MM-DD + // Example: 2019-04-18 + optional string end_date = 16; + + // The goals of this experiment. + repeated google.ads.googleads.v16.common.MetricGoal goals = 17; + + // Output only. The resource name of the long-running operation that can be + // used to poll for completion of experiment schedule or promote. The most + // recent long running operation is returned. + optional string long_running_operation = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the experiment promotion process. + google.ads.googleads.v16.enums.AsyncActionStatusEnum.AsyncActionStatus + promote_status = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Set to true if changes to base campaigns should be synced to the + // trial campaigns. Any changes made directly to trial campaigns will be + // preserved. This field can only be set when the experiment is being created. + optional bool sync_enabled = 20 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/experiment_arm.proto b/third_party/googleapis/google/ads/googleads/v16/resources/experiment_arm.proto new file mode 100644 index 000000000..328a7853a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/experiment_arm.proto @@ -0,0 +1,84 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Experiment arm resource. + +// A Google ads experiment for users to experiment changes on multiple +// campaigns, compare the performance, and apply the effective changes. +message ExperimentArm { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExperimentArm" + pattern: "customers/{customer_id}/experimentArms/{trial_id}~{trial_arm_id}" + }; + + // Immutable. The resource name of the experiment arm. + // Experiment arm resource names have the form: + // + // `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExperimentArm" + } + ]; + + // Immutable. The experiment to which the ExperimentArm belongs. + string experiment = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; + + // Required. The name of the experiment arm. It must have a minimum length of + // 1 and maximum length of 1024. It must be unique under an experiment. + string name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Whether this arm is a control arm. A control arm is the arm against + // which the other arms are compared. + bool control = 4; + + // Traffic split of the trial arm. The value should be between 1 and 100 + // and must total 100 between the two trial arms. + int64 traffic_split = 5; + + // List of campaigns in the trial arm. The max length is one. + repeated string campaigns = 6 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // Output only. The in design campaigns in the treatment experiment arm. + repeated string in_design_campaigns = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/extension_feed_item.proto b/third_party/googleapis/google/ads/googleads/v16/resources/extension_feed_item.proto new file mode 100644 index 000000000..f53883731 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/extension_feed_item.proto @@ -0,0 +1,160 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/common/extensions.proto"; +import "google/ads/googleads/v16/enums/extension_type.proto"; +import "google/ads/googleads/v16/enums/feed_item_status.proto"; +import "google/ads/googleads/v16/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ExtensionFeedItem resource. + +// An extension feed item. +message ExtensionFeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + pattern: "customers/{customer_id}/extensionFeedItems/{feed_item_id}" + }; + + // Immutable. The resource name of the extension feed item. + // Extension feed item resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + } + ]; + + // Output only. The ID of this feed item. Read-only. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The extension type of the extension feed item. + // This field is read-only. + google.ads.googleads.v16.enums.ExtensionTypeEnum.ExtensionType + extension_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 26; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 27; + + // List of non-overlapping schedules specifying all time intervals + // for which the feed item may serve. There can be a maximum of 6 schedules + // per day. + repeated google.ads.googleads.v16.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v16.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice + device = 17; + + // The targeted geo target constant. + optional string targeted_geo_target_constant = 30 + [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // The targeted keyword. + google.ads.googleads.v16.common.KeywordInfo targeted_keyword = 22; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v16.enums.FeedItemStatusEnum.FeedItemStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Extension type. + oneof extension { + // Sitelink. + google.ads.googleads.v16.common.SitelinkFeedItem sitelink_feed_item = 2; + + // Structured snippet extension. + google.ads.googleads.v16.common.StructuredSnippetFeedItem + structured_snippet_feed_item = 3; + + // App extension. + google.ads.googleads.v16.common.AppFeedItem app_feed_item = 7; + + // Call extension. + google.ads.googleads.v16.common.CallFeedItem call_feed_item = 8; + + // Callout extension. + google.ads.googleads.v16.common.CalloutFeedItem callout_feed_item = 9; + + // Text message extension. + google.ads.googleads.v16.common.TextMessageFeedItem text_message_feed_item = + 10; + + // Price extension. + google.ads.googleads.v16.common.PriceFeedItem price_feed_item = 11; + + // Promotion extension. + google.ads.googleads.v16.common.PromotionFeedItem promotion_feed_item = 12; + + // Output only. Location extension. Locations are synced from a Business + // Profile into a feed. This field is read-only. + google.ads.googleads.v16.common.LocationFeedItem location_feed_item = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Affiliate location extension. Feed locations are populated + // by Google Ads based on a chain ID. This field is read-only. + google.ads.googleads.v16.common.AffiliateLocationFeedItem + affiliate_location_feed_item = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Hotel Callout extension. + google.ads.googleads.v16.common.HotelCalloutFeedItem + hotel_callout_feed_item = 23; + + // Immutable. Advertiser provided image extension. + google.ads.googleads.v16.common.ImageFeedItem image_feed_item = 31 + [(google.api.field_behavior) = IMMUTABLE]; + } + + // Targeting at either the campaign or ad group level. Feed items that target + // a campaign or ad group will only serve with that resource. + oneof serving_resource_targeting { + // The targeted campaign. + string targeted_campaign = 28 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The targeted ad group. + string targeted_ad_group = 29 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/feed.proto b/third_party/googleapis/google/ads/googleads/v16/resources/feed.proto new file mode 100644 index 000000000..06168554a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/feed.proto @@ -0,0 +1,191 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/affiliate_location_feed_relationship_type.proto"; +import "google/ads/googleads/v16/enums/feed_attribute_type.proto"; +import "google/ads/googleads/v16/enums/feed_origin.proto"; +import "google/ads/googleads/v16/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Feed resource. + +// A feed. +message Feed { + option (google.api.resource) = { + type: "googleads.googleapis.com/Feed" + pattern: "customers/{customer_id}/feeds/{feed_id}" + }; + + // Data used to configure a location feed populated from Business Profile. + message PlacesLocationFeedData { + // Data used for authorization using OAuth. + message OAuthInfo { + // The HTTP method used to obtain authorization. + optional string http_method = 4; + + // The HTTP request URL used to obtain authorization. + optional string http_request_url = 5; + + // The HTTP authorization header used to obtain authorization. + optional string http_authorization_header = 6; + } + + // Immutable. Required authentication token (from OAuth API) for the email. + // This field can only be specified in a create request. All its subfields + // are not selectable. + OAuthInfo oauth_info = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Email address of a Business Profile or email address of a + // manager of the Business Profile. Required. + optional string email_address = 7; + + // Plus page ID of the managed business whose locations should be used. If + // this field is not set, then all businesses accessible by the user + // (specified by email_address) are used. + // This field is mutate-only and is not selectable. + string business_account_id = 8; + + // Used to filter Business Profile listings by business name. If + // business_name_filter is set, only listings with a matching business name + // are candidates to be sync'd into FeedItems. + optional string business_name_filter = 9; + + // Used to filter Business Profile listings by categories. If entries + // exist in category_filters, only listings that belong to any of the + // categories are candidates to be sync'd into FeedItems. If no entries + // exist in category_filters, then all listings are candidates for syncing. + repeated string category_filters = 11; + + // Used to filter Business Profile listings by labels. If entries exist in + // label_filters, only listings that has any of the labels set are + // candidates to be synchronized into FeedItems. If no entries exist in + // label_filters, then all listings are candidates for syncing. + repeated string label_filters = 12; + } + + // Data used to configure an affiliate location feed populated with the + // specified chains. + message AffiliateLocationFeedData { + // The list of chains that the affiliate location feed will sync the + // locations from. + repeated int64 chain_ids = 3; + + // The relationship the chains have with the advertiser. + google.ads.googleads.v16.enums.AffiliateLocationFeedRelationshipTypeEnum + .AffiliateLocationFeedRelationshipType relationship_type = 2; + } + + // Immutable. The resource name of the feed. + // Feed resource names have the form: + // + // `customers/{customer_id}/feeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Output only. The ID of the feed. + // This field is read-only. + optional int64 id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Name of the feed. Required. + optional string name = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The Feed's attributes. Required on CREATE, unless + // system_feed_generation_data is provided, in which case Google Ads will + // update the feed with the correct attributes. + // Disallowed on UPDATE. Use attribute_operations to add new attributes. + repeated FeedAttribute attributes = 4; + + // The list of operations changing the feed attributes. Attributes can only + // be added, not removed. + repeated FeedAttributeOperation attribute_operations = 9; + + // Immutable. Specifies who manages the FeedAttributes for the Feed. + google.ads.googleads.v16.enums.FeedOriginEnum.FeedOrigin origin = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the feed. + // This field is read-only. + google.ads.googleads.v16.enums.FeedStatusEnum.FeedStatus status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The system data for the Feed. This data specifies information for + // generating the feed items of the system generated feed. + oneof system_feed_generation_data { + // Data used to configure a location feed populated from Business Profile. + PlacesLocationFeedData places_location_feed_data = 6; + + // Data used to configure an affiliate location feed populated with + // the specified chains. + AffiliateLocationFeedData affiliate_location_feed_data = 7; + } +} + +// FeedAttributes define the types of data expected to be present in a Feed. A +// single FeedAttribute specifies the expected type of the FeedItemAttributes +// with the same FeedAttributeId. Optionally, a FeedAttribute can be marked as +// being part of a FeedItem's unique key. +message FeedAttribute { + // ID of the attribute. + optional int64 id = 5; + + // The name of the attribute. Required. + optional string name = 6; + + // Data type for feed attribute. Required. + google.ads.googleads.v16.enums.FeedAttributeTypeEnum.FeedAttributeType type = + 3; + + // Indicates that data corresponding to this attribute is part of a + // FeedItem's unique key. It defaults to false if it is unspecified. Note + // that a unique key is not required in a Feed's schema, in which case the + // FeedItems must be referenced by their feed_item_id. + optional bool is_part_of_key = 7; +} + +// Operation to be performed on a feed attribute list in a mutate. +message FeedAttributeOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the attribute to the existing attributes. + ADD = 2; + } + + // Output only. Type of list operation to perform. + Operator operator = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed attribute being added to the list. + FeedAttribute value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/feed_item.proto b/third_party/googleapis/google/ads/googleads/v16/resources/feed_item.proto new file mode 100644 index 000000000..7b3919bfa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/feed_item.proto @@ -0,0 +1,232 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/custom_parameter.proto"; +import "google/ads/googleads/v16/common/feed_common.proto"; +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/feed_item_quality_approval_status.proto"; +import "google/ads/googleads/v16/enums/feed_item_quality_disapproval_reason.proto"; +import "google/ads/googleads/v16/enums/feed_item_status.proto"; +import "google/ads/googleads/v16/enums/feed_item_validation_status.proto"; +import "google/ads/googleads/v16/enums/geo_targeting_restriction.proto"; +import "google/ads/googleads/v16/enums/placeholder_type.proto"; +import "google/ads/googleads/v16/enums/policy_approval_status.proto"; +import "google/ads/googleads/v16/enums/policy_review_status.proto"; +import "google/ads/googleads/v16/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the FeedItem resource. + +// A feed item. +message FeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItem" + pattern: "customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item. + // Feed item resource names have the form: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The feed to which this feed item belongs. + optional string feed = 11 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Output only. The ID of this feed item. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 13; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 14; + + // The feed item's attribute values. + repeated FeedItemAttributeValue attribute_values = 6; + + // Geo targeting restriction specifies the type of location that can be used + // for targeting. + google.ads.googleads.v16.enums.GeoTargetingRestrictionEnum + .GeoTargetingRestriction geo_targeting_restriction = 7; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v16.common.CustomParameter + url_custom_parameters = 8; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v16.enums.FeedItemStatusEnum.FeedItemStatus status = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of info about a feed item's validation and approval state + // for active feed mappings. There will be an entry in the list for each type + // of feed mapping associated with the feed, for example, a feed with a + // sitelink and a call feed mapping would cause every feed item associated + // with that feed to have an entry in this list for both sitelink and call. + // This field is read-only. + repeated FeedItemPlaceholderPolicyInfo policy_infos = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A feed item attribute value. +message FeedItemAttributeValue { + // Id of the feed attribute for which the value is associated with. + optional int64 feed_attribute_id = 11; + + // Int64 value. Should be set if feed_attribute_id refers to a feed attribute + // of type INT64. + optional int64 integer_value = 12; + + // Bool value. Should be set if feed_attribute_id refers to a feed attribute + // of type BOOLEAN. + optional bool boolean_value = 13; + + // String value. Should be set if feed_attribute_id refers to a feed attribute + // of type STRING, URL or DATE_TIME. + // For STRING the maximum length is 1500 characters. For URL the maximum + // length is 2076 characters. For DATE_TIME the string must be in the format + // "YYYYMMDD HHMMSS". + optional string string_value = 14; + + // Double value. Should be set if feed_attribute_id refers to a feed attribute + // of type DOUBLE. + optional double double_value = 15; + + // Price value. Should be set if feed_attribute_id refers to a feed attribute + // of type PRICE. + google.ads.googleads.v16.common.Money price_value = 6; + + // Repeated int64 value. Should be set if feed_attribute_id refers to a feed + // attribute of type INT64_LIST. + repeated int64 integer_values = 16; + + // Repeated bool value. Should be set if feed_attribute_id refers to a feed + // attribute of type BOOLEAN_LIST. + repeated bool boolean_values = 17; + + // Repeated string value. Should be set if feed_attribute_id refers to a feed + // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST. + // For STRING_LIST and URL_LIST the total size of the list in bytes may not + // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200. + // + // For STRING_LIST the maximum length of each string element is 1500 + // characters. For URL_LIST the maximum length is 2076 characters. For + // DATE_TIME the format of the string must be the same as start and end time + // for the feed item. + repeated string string_values = 18; + + // Repeated double value. Should be set if feed_attribute_id refers to a feed + // attribute of type DOUBLE_LIST. + repeated double double_values = 19; +} + +// Policy, validation, and quality approval info for a feed item for the +// specified placeholder type. +message FeedItemPlaceholderPolicyInfo { + // Output only. The placeholder type. + google.ads.googleads.v16.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The FeedMapping that contains the placeholder type. + optional string feed_mapping_resource_name = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the placeholder type is in the review process. + google.ads.googleads.v16.enums.PolicyReviewStatusEnum.PolicyReviewStatus + review_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The overall approval status of the placeholder type, + // calculated based on the status of its individual policy topic entries. + google.ads.googleads.v16.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus + approval_status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The list of policy findings for the placeholder type. + repeated google.ads.googleads.v16.common.PolicyTopicEntry + policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The validation status of the placeholder type. + google.ads.googleads.v16.enums.FeedItemValidationStatusEnum + .FeedItemValidationStatus validation_status = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of placeholder type validation errors. + repeated FeedItemValidationError validation_errors = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Placeholder type quality evaluation approval status. + google.ads.googleads.v16.enums.FeedItemQualityApprovalStatusEnum + .FeedItemQualityApprovalStatus quality_approval_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of placeholder type quality evaluation disapproval + // reasons. + repeated google.ads.googleads.v16.enums.FeedItemQualityDisapprovalReasonEnum + .FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Stores a validation error and the set of offending feed attributes which +// together are responsible for causing a feed item validation error. +message FeedItemValidationError { + // Output only. Error code indicating what validation error was triggered. The + // description of the error can be found in the 'description' field. + google.ads.googleads.v16.errors.FeedItemValidationErrorEnum + .FeedItemValidationError validation_error = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description of the validation error. + optional string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of feed attributes in the feed item flagged during + // validation. If empty, no specific feed attributes can be associated with + // the error (for example, error across the entire feed item). + repeated int64 feed_attribute_ids = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Any extra information related to this error which is not + // captured by validation_error and feed_attribute_id (for example, + // placeholder field IDs when feed_attribute_id is not mapped). Note that + // extra_info is not localized. + optional string extra_info = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_set.proto b/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_set.proto new file mode 100644 index 000000000..990bac56c --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_set.proto @@ -0,0 +1,84 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/feed_item_set_filter_type_infos.proto"; +import "google/ads/googleads/v16/enums/feed_item_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Represents a set of feed items. The set can be used and shared among certain +// feed item features. For instance, the set can be referenced within the +// matching functions of CustomerFeed, CampaignFeed, and AdGroupFeed. +message FeedItemSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSet" + pattern: "customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}" + }; + + // Immutable. The resource name of the feed item set. + // Feed item set resource names have the form: + // `customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; + + // Immutable. The resource name of the feed containing the feed items in the + // set. Immutable. Required. + string feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Output only. ID of the set. + int64 feed_item_set_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the set. Must be unique within the account. + string display_name = 4; + + // Output only. Status of the feed item set. + // This field is read-only. + google.ads.googleads.v16.enums.FeedItemSetStatusEnum.FeedItemSetStatus + status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Represents a filter on locations in a feed item set. + // Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. + oneof dynamic_set_filter { + // Filter for dynamic location set. + // It is only used for sets of locations. + google.ads.googleads.v16.common.DynamicLocationSetFilter + dynamic_location_set_filter = 5; + + // Filter for dynamic affiliate location set. + // This field doesn't apply generally to feed item sets. It is only used for + // sets of affiliate locations. + google.ads.googleads.v16.common.DynamicAffiliateLocationSetFilter + dynamic_affiliate_location_set_filter = 6; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_set_link.proto b/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_set_link.proto new file mode 100644 index 000000000..c4c5620f8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_set_link.proto @@ -0,0 +1,65 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the FeedItemSetLink resource. + +// Represents a link between a FeedItem and a FeedItemSet. +message FeedItemSetLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSetLink" + pattern: "customers/{customer_id}/feedItemSetLinks/{feed_id}~{feed_item_set_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item set link. + // Feed item set link resource names have the form: + // `customers/{customer_id}/feedItemSetLinks/{feed_id}~{feed_item_set_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + } + ]; + + // Immutable. The linked FeedItem. + string feed_item = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The linked FeedItemSet. + string feed_item_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_target.proto b/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_target.proto new file mode 100644 index 000000000..58cb7d222 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/feed_item_target.proto @@ -0,0 +1,114 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/enums/feed_item_target_device.proto"; +import "google/ads/googleads/v16/enums/feed_item_target_status.proto"; +import "google/ads/googleads/v16/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the FeedItemTarget resource. + +// A feed item target. +message FeedItemTarget { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemTarget" + pattern: "customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}" + }; + + // Immutable. The resource name of the feed item target. + // Feed item target resource names have the form: + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + } + ]; + + // Immutable. The feed item to which this feed item target belongs. + optional string feed_item = 12 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The target type of this feed item target. This field is + // read-only. + google.ads.googleads.v16.enums.FeedItemTargetTypeEnum.FeedItemTargetType + feed_item_target_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the targeted resource. This field is read-only. + optional int64 feed_item_target_id = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the feed item target. + // This field is read-only. + google.ads.googleads.v16.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus + status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The targeted resource. + oneof target { + // Immutable. The targeted campaign. + string campaign = 14 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The targeted ad group. + string ad_group = 15 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The targeted keyword. + google.ads.googleads.v16.common.KeywordInfo keyword = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted geo target constant resource name. + string geo_target_constant = 16 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Immutable. The targeted device. + google.ads.googleads.v16.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice + device = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted schedule. + google.ads.googleads.v16.common.AdScheduleInfo ad_schedule = 10 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/feed_mapping.proto b/third_party/googleapis/google/ads/googleads/v16/resources/feed_mapping.proto new file mode 100644 index 000000000..08906e193 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/feed_mapping.proto @@ -0,0 +1,234 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/ad_customizer_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/affiliate_location_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/app_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/call_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/callout_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/custom_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/dsa_page_feed_criterion_field.proto"; +import "google/ads/googleads/v16/enums/education_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/feed_mapping_criterion_type.proto"; +import "google/ads/googleads/v16/enums/feed_mapping_status.proto"; +import "google/ads/googleads/v16/enums/flight_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/hotel_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/image_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/job_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/local_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/location_extension_targeting_criterion_field.proto"; +import "google/ads/googleads/v16/enums/location_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/message_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/placeholder_type.proto"; +import "google/ads/googleads/v16/enums/price_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/promotion_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/real_estate_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/sitelink_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/structured_snippet_placeholder_field.proto"; +import "google/ads/googleads/v16/enums/travel_placeholder_field.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the FeedMapping resource. + +// A feed mapping. +message FeedMapping { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedMapping" + pattern: "customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}" + }; + + // Immutable. The resource name of the feed mapping. + // Feed mapping resource names have the form: + // + // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + } + ]; + + // Immutable. The feed of this feed mapping. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // Immutable. Feed attributes to field mappings. These mappings are a + // one-to-many relationship meaning that 1 feed attribute can be used to + // populate multiple placeholder fields, but 1 placeholder field can only draw + // data from 1 feed attribute. Ad Customizer is an exception, 1 placeholder + // field can be mapped to multiple feed attributes. Required. + repeated AttributeFieldMapping attribute_field_mappings = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the feed mapping. + // This field is read-only. + google.ads.googleads.v16.enums.FeedMappingStatusEnum.FeedMappingStatus + status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Feed mapping target. Can be either a placeholder or a criterion. For a + // given feed, the active FeedMappings must have unique targets. Required. + oneof target { + // Immutable. The placeholder type of this mapping (for example, if the + // mapping maps feed attributes to placeholder fields). + google.ads.googleads.v16.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_type = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The criterion type of this mapping (for example, if the + // mapping maps feed attributes to criterion fields). + google.ads.googleads.v16.enums.FeedMappingCriterionTypeEnum + .FeedMappingCriterionType criterion_type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Maps from feed attribute id to a placeholder or criterion field id. +message AttributeFieldMapping { + // Immutable. Feed attribute from which to map. + optional int64 feed_attribute_id = 24 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The placeholder field ID. If a placeholder field enum is not + // published in the current API version, then this field will be populated and + // the field oneof will be empty. This field is read-only. + optional int64 field_id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Placeholder or criterion field to be populated using data from + // the above feed attribute. Required. + oneof field { + // Immutable. Sitelink Placeholder Fields. + google.ads.googleads.v16.enums.SitelinkPlaceholderFieldEnum + .SitelinkPlaceholderField sitelink_field = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Call Placeholder Fields. + google.ads.googleads.v16.enums.CallPlaceholderFieldEnum.CallPlaceholderField + call_field = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Placeholder Fields. + google.ads.googleads.v16.enums.AppPlaceholderFieldEnum.AppPlaceholderField + app_field = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Location Placeholder Fields. This field is read-only. + google.ads.googleads.v16.enums.LocationPlaceholderFieldEnum + .LocationPlaceholderField location_field = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Affiliate Location Placeholder Fields. This field is + // read-only. + google.ads.googleads.v16.enums.AffiliateLocationPlaceholderFieldEnum + .AffiliateLocationPlaceholderField affiliate_location_field = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Callout Placeholder Fields. + google.ads.googleads.v16.enums.CalloutPlaceholderFieldEnum + .CalloutPlaceholderField callout_field = 8 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Structured Snippet Placeholder Fields. + google.ads.googleads.v16.enums.StructuredSnippetPlaceholderFieldEnum + .StructuredSnippetPlaceholderField structured_snippet_field = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Message Placeholder Fields. + google.ads.googleads.v16.enums.MessagePlaceholderFieldEnum + .MessagePlaceholderField message_field = 10 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Price Placeholder Fields. + google.ads.googleads.v16.enums.PricePlaceholderFieldEnum + .PricePlaceholderField price_field = 11 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Promotion Placeholder Fields. + google.ads.googleads.v16.enums.PromotionPlaceholderFieldEnum + .PromotionPlaceholderField promotion_field = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Customizer Placeholder Fields + google.ads.googleads.v16.enums.AdCustomizerPlaceholderFieldEnum + .AdCustomizerPlaceholderField ad_customizer_field = 13 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Dynamic Search Ad Page Feed Fields. + google.ads.googleads.v16.enums.DsaPageFeedCriterionFieldEnum + .DsaPageFeedCriterionField dsa_page_feed_field = 14 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Target Fields. + google.ads.googleads.v16.enums.LocationExtensionTargetingCriterionFieldEnum + .LocationExtensionTargetingCriterionField + location_extension_targeting_field = 15 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Education Placeholder Fields + google.ads.googleads.v16.enums.EducationPlaceholderFieldEnum + .EducationPlaceholderField education_field = 16 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Flight Placeholder Fields + google.ads.googleads.v16.enums.FlightPlaceholderFieldEnum + .FlightPlaceholderField flight_field = 17 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Placeholder Fields + google.ads.googleads.v16.enums.CustomPlaceholderFieldEnum + .CustomPlaceholderField custom_field = 18 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Hotel Placeholder Fields + google.ads.googleads.v16.enums.HotelPlaceholderFieldEnum + .HotelPlaceholderField hotel_field = 19 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Real Estate Placeholder Fields + google.ads.googleads.v16.enums.RealEstatePlaceholderFieldEnum + .RealEstatePlaceholderField real_estate_field = 20 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Travel Placeholder Fields + google.ads.googleads.v16.enums.TravelPlaceholderFieldEnum + .TravelPlaceholderField travel_field = 21 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Local Placeholder Fields + google.ads.googleads.v16.enums.LocalPlaceholderFieldEnum + .LocalPlaceholderField local_field = 22 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Job Placeholder Fields + google.ads.googleads.v16.enums.JobPlaceholderFieldEnum.JobPlaceholderField + job_field = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Image Placeholder Fields + google.ads.googleads.v16.enums.ImagePlaceholderFieldEnum + .ImagePlaceholderField image_field = 26 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/feed_placeholder_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/feed_placeholder_view.proto new file mode 100644 index 000000000..be4690746 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/feed_placeholder_view.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the FeedPlaceholderView resource. + +// A feed placeholder view. +message FeedPlaceholderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + pattern: "customers/{customer_id}/feedPlaceholderViews/{placeholder_type}" + }; + + // Output only. The resource name of the feed placeholder view. + // Feed placeholder view resource names have the form: + // + // `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + } + ]; + + // Output only. The placeholder type of the feed placeholder view. + google.ads.googleads.v16.enums.PlaceholderTypeEnum.PlaceholderType + placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/gender_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/gender_view.proto new file mode 100644 index 000000000..15559b888 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/gender_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the gender view resource. + +// A gender view. +message GenderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GenderView" + pattern: "customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the gender view. + // Gender view resource names have the form: + // + // `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GenderView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/geo_target_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/geo_target_constant.proto new file mode 100644 index 000000000..effb65c7b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/geo_target_constant.proto @@ -0,0 +1,85 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the geo target constant resource. + +// A geo target constant. +message GeoTargetConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeoTargetConstant" + pattern: "geoTargetConstants/{criterion_id}" + }; + + // Output only. The resource name of the geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{geo_target_constant_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The ID of the geo target constant. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant English name. + optional string name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-3166-1 alpha-2 country code that is associated with + // the target. + optional string country_code = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant target type. + optional string target_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant status. + google.ads.googleads.v16.enums.GeoTargetConstantStatusEnum + .GeoTargetConstantStatus status = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fully qualified English name, consisting of the target's + // name and that of its parent and country. + optional string canonical_name = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the parent geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{parent_geo_target_constant_id}` + optional string parent_geo_target = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/geographic_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/geographic_view.proto new file mode 100644 index 000000000..48cdc0995 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/geographic_view.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the geographic view resource. + +// A geographic view. +// +// Geographic View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at either actual physical location of +// the user or an area of interest. If other segment fields are used, you may +// get more than one row per country. +message GeographicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeographicView" + pattern: "customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}" + }; + + // Output only. The resource name of the geographic view. + // Geographic view resource names have the form: + // + // `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeographicView" + } + ]; + + // Output only. Type of the geo targeting of the campaign. + google.ads.googleads.v16.enums.GeoTargetingTypeEnum.GeoTargetingType + location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/google_ads_field.proto b/third_party/googleapis/google/ads/googleads/v16/resources/google_ads_field.proto new file mode 100644 index 000000000..54ccc7202 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/google_ads_field.proto @@ -0,0 +1,113 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/google_ads_field_category.proto"; +import "google/ads/googleads/v16/enums/google_ads_field_data_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Google Ads Field resource. + +// A field or resource (artifact) used by GoogleAdsService. +message GoogleAdsField { + option (google.api.resource) = { + type: "googleads.googleapis.com/GoogleAdsField" + pattern: "googleAdsFields/{google_ads_field}" + }; + + // Output only. The resource name of the artifact. + // Artifact resource names have the form: + // + // `googleAdsFields/{name}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; + + // Output only. The name of the artifact. + optional string name = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The category of the artifact. + google.ads.googleads.v16.enums.GoogleAdsFieldCategoryEnum + .GoogleAdsFieldCategory category = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a SELECT clause in search + // queries. + optional bool selectable = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a WHERE clause in search + // queries. + optional bool filterable = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a ORDER BY clause in + // search queries. + optional bool sortable = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources, segments, and metrics that are + // selectable with the described artifact. + repeated string selectable_with = 25 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources that are selectable with the + // described artifact. Fields from these resources do not segment metrics when + // included in search queries. + // + // This field is only set for artifacts whose category is RESOURCE. + repeated string attribute_resources = 26 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all metrics that are selectable + // with the described artifact when it is used in the FROM clause. It is only + // set for artifacts whose category is RESOURCE. + repeated string metrics = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all artifacts, whether a segment + // or another resource, that segment metrics when included in search queries + // and when the described artifact is used in the FROM clause. It is only set + // for artifacts whose category is RESOURCE. + repeated string segments = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Values the artifact can assume if it is a field of type ENUM. + // + // This field is only set for artifacts of category SEGMENT or ATTRIBUTE. + repeated string enum_values = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field determines the operators that can be used with the + // artifact in WHERE clauses. + google.ads.googleads.v16.enums.GoogleAdsFieldDataTypeEnum + .GoogleAdsFieldDataType data_type = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of proto describing the artifact's data type. + optional string type_url = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the field artifact is repeated. + optional bool is_repeated = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/group_placement_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/group_placement_view.proto new file mode 100644 index 000000000..a68f57c1d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/group_placement_view.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the group placement view resource. + +// A group placement view. +message GroupPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GroupPlacementView" + pattern: "customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the group placement view. + // Group placement view resource names have the form: + // + // `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GroupPlacementView" + } + ]; + + // Output only. The automatic placement string at group level, e. g. web + // domain, mobile app ID, or a YouTube channel ID. + optional string placement = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Domain name for websites and YouTube channel name for YouTube + // channels. + optional string display_name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, for example, domain, link to the + // mobile application in app store, or a YouTube channel URL. + optional string target_url = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of the placement, for example, Website, YouTube Channel, + // Mobile Application. + google.ads.googleads.v16.enums.PlacementTypeEnum.PlacementType + placement_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/hotel_group_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/hotel_group_view.proto new file mode 100644 index 000000000..c0e857ec7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/hotel_group_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the hotel group view resource. + +// A hotel group view. +message HotelGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelGroupView" + pattern: "customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the hotel group view. + // Hotel Group view resource names have the form: + // + // `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelGroupView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/hotel_performance_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/hotel_performance_view.proto new file mode 100644 index 000000000..a41486af5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/hotel_performance_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the hotel performance view resource. + +// A hotel performance view. +message HotelPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelPerformanceView" + pattern: "customers/{customer_id}/hotelPerformanceView" + }; + + // Output only. The resource name of the hotel performance view. + // Hotel performance view resource names have the form: + // + // `customers/{customer_id}/hotelPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelPerformanceView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/hotel_reconciliation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/hotel_reconciliation.proto new file mode 100644 index 000000000..f4628536d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/hotel_reconciliation.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/hotel_reconciliation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the hotel reconciliation resource. + +// A hotel reconciliation. It contains conversion information from Hotel +// bookings to reconcile with advertiser records. These rows may be updated +// or canceled before billing through Bulk Uploads. +message HotelReconciliation { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelReconciliation" + pattern: "customers/{customer_id}/hotelReconciliations/{commission_id}" + }; + + // Immutable. The resource name of the hotel reconciliation. + // Hotel reconciliation resource names have the form: + // + // `customers/{customer_id}/hotelReconciliations/{commission_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelReconciliation" + } + ]; + + // Required. Output only. The commission ID is Google's ID for this booking. + // Every booking event is assigned a Commission ID to help you match it to a + // guest stay. + string commission_id = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. The order ID is the identifier for this booking as provided in + // the 'transaction_id' parameter of the conversion tracking tag. + string order_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name for the Campaign associated with the + // conversion. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Identifier for the Hotel Center account which provides the + // rates for the Hotel campaign. + int64 hotel_center_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique identifier for the booked property, as provided in the + // Hotel Center feed. The hotel ID comes from the 'ID' parameter of the + // conversion tracking tag. + string hotel_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-in date recorded when the booking is made. If the + // check-in date is modified at reconciliation, the revised date will then + // take the place of the original date in this column. Format is YYYY-MM-DD. + string check_in_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-out date recorded when the booking is made. If the + // check-in date is modified at reconciliation, the revised date will then + // take the place of the original date in this column. Format is YYYY-MM-DD. + string check_out_date = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Reconciled value is the final value of a booking as + // paid by the guest. If original booking value changes for any reason, such + // as itinerary changes or room upsells, the reconciled value should be the + // full final amount collected. If a booking is canceled, the reconciled value + // should include the value of any cancellation fees or non-refundable nights + // charged. Value is in millionths of the base unit currency. For example, + // $12.35 would be represented as 12350000. Currency unit is in the default + // customer currency. + int64 reconciled_value_micros = 8 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Whether a given booking has been billed. Once billed, a + // booking can't be modified. + bool billed = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Current status of a booking with regards to + // reconciliation and billing. Bookings should be reconciled within 45 days + // after the check-out date. Any booking not reconciled within 45 days will be + // billed at its original value. + google.ads.googleads.v16.enums.HotelReconciliationStatusEnum + .HotelReconciliationStatus status = 10 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/income_range_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/income_range_view.proto new file mode 100644 index 000000000..d1a00d99b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/income_range_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the income range view resource. + +// An income range view. +message IncomeRangeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/IncomeRangeView" + pattern: "customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the income range view. + // Income range view resource names have the form: + // + // `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/IncomeRangeView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/invoice.proto b/third_party/googleapis/google/ads/googleads/v16/resources/invoice.proto new file mode 100644 index 000000000..02a027860 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/invoice.proto @@ -0,0 +1,390 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/dates.proto"; +import "google/ads/googleads/v16/enums/invoice_type.proto"; +import "google/ads/googleads/v16/enums/month_of_year.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Invoice resource. + +// An invoice. All invoice information is snapshotted to match the PDF invoice. +// For invoices older than the launch of InvoiceService, the snapshotted +// information may not match the PDF invoice. +message Invoice { + option (google.api.resource) = { + type: "googleads.googleapis.com/Invoice" + pattern: "customers/{customer_id}/invoices/{invoice_id}" + }; + + // Represents a summarized view at account level. + message AccountSummary { + // Output only. The account associated with the account summary. + optional string customer = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pretax billing correction subtotal amount, in micros. + optional int64 billing_correction_subtotal_amount_micros = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Tax on billing correction, in micros. + optional int64 billing_correction_tax_amount_micros = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total billing correction amount, in micros. + optional int64 billing_correction_total_amount_micros = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pretax coupon adjustment subtotal amount, in micros. + optional int64 coupon_adjustment_subtotal_amount_micros = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Tax on coupon adjustment, in micros. + optional int64 coupon_adjustment_tax_amount_micros = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total coupon adjustment amount, in micros. + optional int64 coupon_adjustment_total_amount_micros = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pretax excess credit adjustment subtotal amount, in micros. + optional int64 excess_credit_adjustment_subtotal_amount_micros = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Tax on excess credit adjustment, in micros. + optional int64 excess_credit_adjustment_tax_amount_micros = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total excess credit adjustment amount, in micros. + optional int64 excess_credit_adjustment_total_amount_micros = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pretax regulatory costs subtotal amount, in micros. + optional int64 regulatory_costs_subtotal_amount_micros = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Tax on regulatory costs, in micros. + optional int64 regulatory_costs_tax_amount_micros = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total regulatory costs amount, in micros. + optional int64 regulatory_costs_total_amount_micros = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pretax export charge subtotal amount, in micros. + optional int64 export_charge_subtotal_amount_micros = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Tax on export charge, in micros. + optional int64 export_charge_tax_amount_micros = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total export charge amount, in micros. + optional int64 export_charge_total_amount_micros = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total pretax subtotal amount attributable to the account + // during the service period, in micros. + optional int64 subtotal_amount_micros = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total tax amount attributable to the account during the + // service period, in micros. + optional int64 tax_amount_micros = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total amount attributable to the account during the service + // period, in micros. This equals the sum of the subtotal_amount_micros and + // tax_amount_micros. + optional int64 total_amount_micros = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Represents a summarized account budget billable cost. + message AccountBudgetSummary { + // Output only. The resource name of the customer associated with this + // account budget. This contains the customer ID, which appears on the + // invoice PDF as "Account ID". Customer resource names have the form: + // + // `customers/{customer_id}` + optional string customer = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The descriptive name of the account budget's customer. It + // appears on the invoice PDF as "Account". + optional string customer_descriptive_name = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the account budget associated with this + // summarized billable cost. AccountBudget resource names have the form: + // + // `customers/{customer_id}/accountBudgets/{account_budget_id}` + optional string account_budget = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the account budget. It appears on the invoice + // PDF as "Account budget". + optional string account_budget_name = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The purchase order number of the account budget. It appears + // on the invoice PDF as "Purchase order". + optional string purchase_order_number = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax subtotal amount attributable to this budget + // during the service period, in micros. + optional int64 subtotal_amount_micros = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The tax amount attributable to this budget during the + // service period, in micros. + optional int64 tax_amount_micros = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total amount attributable to this budget during the + // service period, in micros. This equals the sum of the account budget + // subtotal amount and the account budget tax amount. + optional int64 total_amount_micros = 17 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The billable activity date range of the account budget, + // within the service date range of this invoice. The end date is inclusive. + // This can be different from the account budget's start and end time. + google.ads.googleads.v16.common.DateRange billable_activity_date_range = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax served amount attributable to this budget during + // the service period, in micros. This is only useful to reconcile invoice + // and delivery data. + optional int64 served_amount_micros = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax billed amount attributable to this budget during + // the service period, in micros. This does not account for any adjustments. + optional int64 billed_amount_micros = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax overdelivery amount attributable to this budget + // during the service period, in micros (negative value). + optional int64 overdelivery_amount_micros = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax invalid activity amount attributable to this + // budget in previous months, in micros (negative value). + optional int64 invalid_activity_amount_micros = 21 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The list of summarized invalid activity credits with + // original linkages. + repeated InvalidActivitySummary invalid_activity_summaries = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details about the invalid activity for the invoice that contain + // additional details about invoice against which corrections are made. + message InvalidActivitySummary { + // Output only. Original month of service related to this invalid activity + // credit. + optional google.ads.googleads.v16.enums.MonthOfYearEnum.MonthOfYear + original_month_of_service = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Original year of service related to this invalid activity + // credit. + optional string original_year_of_service = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Original invoice number related to this invalid activity + // credit. + optional string original_invoice_id = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Original account budget name related to this invalid + // activity credit. + optional string original_account_budget_name = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Original purchase order number related to this invalid + // activity credit. + optional string original_purchase_order_number = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Invalid activity amount in micros. + optional int64 amount_micros = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the invoice. Multiple customers can share + // a given invoice, so multiple resource names may point to the same invoice. + // Invoice resource names have the form: + // + // `customers/{customer_id}/invoices/{invoice_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Invoice" + } + ]; + + // Output only. The ID of the invoice. It appears on the invoice PDF as + // "Invoice number". + optional string id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of invoice. + google.ads.googleads.v16.enums.InvoiceTypeEnum.InvoiceType type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of this invoice's billing setup. + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + optional string billing_setup = 26 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A 16 digit ID used to identify the payments account associated + // with the billing setup, for example, "1234-5678-9012-3456". It appears on + // the invoice PDF as "Billing Account Number". + optional string payments_account_id = 27 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A 12 digit ID used to identify the payments profile associated + // with the billing setup, for example, "1234-5678-9012". It appears on the + // invoice PDF as "Billing ID". + optional string payments_profile_id = 28 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The issue date in yyyy-mm-dd format. It appears on the invoice + // PDF as either "Issue date" or "Invoice date". + optional string issue_date = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The due date in yyyy-mm-dd format. + optional string due_date = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The service period date range of this invoice. The end date is + // inclusive. + google.ads.googleads.v16.common.DateRange service_date_range = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The currency code. All costs are returned in this currency. A + // subset of the currency codes derived from the ISO 4217 standard is + // supported. + optional string currency_code = 31 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax subtotal amount of invoice level adjustments, in + // micros. + int64 adjustments_subtotal_amount_micros = 19 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The sum of taxes on the invoice level adjustments, in micros. + int64 adjustments_tax_amount_micros = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total amount of invoice level adjustments, in micros. + int64 adjustments_total_amount_micros = 21 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax subtotal amount of invoice level regulatory costs, + // in micros. + int64 regulatory_costs_subtotal_amount_micros = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The sum of taxes on the invoice level regulatory costs, in + // micros. + int64 regulatory_costs_tax_amount_micros = 23 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total amount of invoice level regulatory costs, in micros. + int64 regulatory_costs_total_amount_micros = 24 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax subtotal amount of invoice level export charges, in + // micros. + optional int64 export_charge_subtotal_amount_micros = 40 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The sum of taxes on the invoice level export charges, in + // micros. + optional int64 export_charge_tax_amount_micros = 41 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total amount of invoice level export charges, in micros. + optional int64 export_charge_total_amount_micros = 42 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pretax subtotal amount, in micros. This is equal to the + // sum of the AccountBudgetSummary subtotal amounts and + // Invoice.adjustments_subtotal_amount_micros. + optional int64 subtotal_amount_micros = 33 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The sum of all taxes on the invoice, in micros. This equals + // the sum of the AccountBudgetSummary tax amounts, plus taxes not associated + // with a specific account budget. + optional int64 tax_amount_micros = 34 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total amount, in micros. This equals the sum of + // Invoice.subtotal_amount_micros, Invoice.tax_amount_micros, + // Invoice.regulatory_costs_subtotal_amount_micros, and + // Invoice.export_charge_subtotal_amount_micros (which is separated into a + // separate line item starting with V14.1). + optional int64 total_amount_micros = 35 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the original invoice corrected, wrote + // off, or canceled by this invoice, if applicable. If `corrected_invoice` is + // set, `replaced_invoices` will not be set. Invoice resource names have the + // form: + // + // `customers/{customer_id}/invoices/{invoice_id}` + optional string corrected_invoice = 36 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the original invoice(s) being rebilled or + // replaced by this invoice, if applicable. There might be multiple replaced + // invoices due to invoice consolidation. The replaced invoices may not belong + // to the same payments account. If `replaced_invoices` is set, + // `corrected_invoice` will not be set. Invoice resource names have the form: + // + // `customers/{customer_id}/invoices/{invoice_id}` + repeated string replaced_invoices = 37 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL to a PDF copy of the invoice. Users need to pass in + // their OAuth token to request the PDF with this URL. + optional string pdf_url = 38 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The list of summarized account budget information associated + // with this invoice. + repeated AccountBudgetSummary account_budget_summaries = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The list of summarized account information associated with + // this invoice. + repeated AccountSummary account_summaries = 39 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan.proto b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan.proto new file mode 100644 index 000000000..6d6236513 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan.proto @@ -0,0 +1,83 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/dates.proto"; +import "google/ads/googleads/v16/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the keyword plan resource. + +// A Keyword Planner plan. +// Max number of saved keyword plans: 10000. +// It's possible to remove plans if limit is reached. +message KeywordPlan { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlan" + pattern: "customers/{customer_id}/keywordPlans/{keyword_plan_id}" + }; + + // Immutable. The resource name of the Keyword Planner plan. + // KeywordPlan resource names have the form: + // + // `customers/{customer_id}/keywordPlans/{kp_plan_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // Output only. The ID of the keyword plan. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan. + // + // This field is required and should not be empty when creating new keyword + // plans. + optional string name = 6; + + // The date period used for forecasting the plan. + KeywordPlanForecastPeriod forecast_period = 4; +} + +// The forecasting period associated with the keyword plan. +message KeywordPlanForecastPeriod { + // Required. The date used for forecasting the Plan. + oneof interval { + // A future date range relative to the current date used for forecasting. + google.ads.googleads.v16.enums.KeywordPlanForecastIntervalEnum + .KeywordPlanForecastInterval date_interval = 1; + + // The custom date range used for forecasting. It cannot be greater than + // a year. + // The start and end dates must be in the future. Otherwise, an error will + // be returned when the forecasting action is performed. + // The start and end dates are inclusive. + google.ads.googleads.v16.common.DateRange date_range = 2; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_ad_group.proto b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_ad_group.proto new file mode 100644 index 000000000..1f5e70034 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_ad_group.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the keyword plan ad group resource. + +// A Keyword Planner ad group. +// Max number of keyword plan ad groups per plan: 200. +message KeywordPlanAdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + pattern: "customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}" + }; + + // Immutable. The resource name of the Keyword Planner ad group. + // KeywordPlanAdGroup resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + } + ]; + + // The keyword plan campaign to which this ad group belongs. + optional string keyword_plan_campaign = 6 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the keyword plan ad group. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan ad group. + // + // This field is required and should not be empty when creating keyword plan + // ad group. + optional string name = 8; + + // A default ad group max cpc bid in micros in account currency for all + // biddable keywords under the keyword plan ad group. + // If not set, will inherit from parent campaign. + optional int64 cpc_bid_micros = 9; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_ad_group_keyword.proto b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_ad_group_keyword.proto new file mode 100644 index 000000000..87bf78d16 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_ad_group_keyword.proto @@ -0,0 +1,76 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the keyword plan ad group keyword resource. + +// A Keyword Plan ad group keyword. +// Max number of keyword plan keywords per plan: 10000. +message KeywordPlanAdGroupKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + pattern: "customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan ad group keyword. + // KeywordPlanAdGroupKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + } + ]; + + // The Keyword Plan ad group to which this keyword belongs. + optional string keyword_plan_ad_group = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + + // Output only. The ID of the Keyword Plan keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v16.enums.KeywordMatchTypeEnum.KeywordMatchType + match_type = 5; + + // A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency + // is the same as the account currency code. This will override any CPC bid + // set at the keyword plan ad group level. Not applicable for negative + // keywords. (negative = true) This field is Optional. + optional int64 cpc_bid_micros = 11; + + // Immutable. If true, the keyword is negative. + optional bool negative = 12 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_campaign.proto b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_campaign.proto new file mode 100644 index 000000000..db7885d7f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_campaign.proto @@ -0,0 +1,98 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the keyword plan campaign resource. + +// A Keyword Plan campaign. +// Max number of keyword plan campaigns per plan allowed: 1. +message KeywordPlanCampaign { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + pattern: "customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}" + }; + + // Immutable. The resource name of the Keyword Plan campaign. + // KeywordPlanCampaign resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + } + ]; + + // The keyword plan this campaign belongs to. + optional string keyword_plan = 9 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + }]; + + // Output only. The ID of the Keyword Plan campaign. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the Keyword Plan campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional string name = 11; + + // The languages targeted for the Keyword Plan campaign. + // Max allowed: 1. + repeated string language_constants = 12 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + }]; + + // Targeting network. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + google.ads.googleads.v16.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 6; + + // A default max cpc bid in micros, and in the account currency, for all ad + // groups under the campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional int64 cpc_bid_micros = 13; + + // The geo targets. + // Max number allowed: 20. + repeated KeywordPlanGeoTarget geo_targets = 8; +} + +// A geo target. +message KeywordPlanGeoTarget { + // Required. The resource name of the geo target. + optional string geo_target_constant = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_campaign_keyword.proto b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_campaign_keyword.proto new file mode 100644 index 000000000..e17f49018 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_plan_campaign_keyword.proto @@ -0,0 +1,71 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the keyword plan negative keyword resource. + +// A Keyword Plan Campaign keyword. +// Only negative keywords are supported for Campaign Keyword. +message KeywordPlanCampaignKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + pattern: "customers/{customer_id}/keywordPlanCampaignKeywords/{keyword_plan_campaign_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan Campaign keyword. + // KeywordPlanCampaignKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + } + ]; + + // The Keyword Plan campaign to which this negative keyword belongs. + optional string keyword_plan_campaign = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the Keyword Plan negative keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v16.enums.KeywordMatchTypeEnum.KeywordMatchType + match_type = 5; + + // Immutable. If true, the keyword is negative. + // Must be set to true. Only negative campaign keywords are supported. + optional bool negative = 11 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/keyword_theme_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_theme_constant.proto new file mode 100644 index 000000000..1813688da --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_theme_constant.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Smart Campaign keyword theme constant resource. + +// A Smart Campaign keyword theme constant. +message KeywordThemeConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + pattern: "keywordThemeConstants/{express_category_id}~{express_sub_category_id}" + }; + + // Output only. The resource name of the keyword theme constant. + // Keyword theme constant resource names have the form: + // + // `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + } + ]; + + // Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". + // To display and query matching purpose, the keyword theme needs to be + // localized. + optional string country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-639-1 language code with 2 letters of the constant, + // eg. "en". To display and query matching purpose, the keyword theme needs to + // be localized. + optional string language_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the keyword theme or sub keyword theme. + optional string display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/keyword_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_view.proto new file mode 100644 index 000000000..badf7870e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/keyword_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the keyword view resource. + +// A keyword view. +message KeywordView { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordView" + pattern: "customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the keyword view. + // Keyword view resource names have the form: + // + // `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/label.proto b/third_party/googleapis/google/ads/googleads/v16/resources/label.proto new file mode 100644 index 000000000..224b9988f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/label.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/text_label.proto"; +import "google/ads/googleads/v16/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A label. +message Label { + option (google.api.resource) = { + type: "googleads.googleapis.com/Label" + pattern: "customers/{customer_id}/labels/{label_id}" + }; + + // Immutable. Name of the resource. + // Label resource names have the form: + // `customers/{customer_id}/labels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Label" } + ]; + + // Output only. ID of the label. Read only. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the label. + // + // This field is required and should not be empty when creating a new label. + // + // The length of this string should be between 1 and 80, inclusive. + optional string name = 7; + + // Output only. Status of the label. Read only. + google.ads.googleads.v16.enums.LabelStatusEnum.LabelStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.googleads.v16.common.TextLabel text_label = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/landing_page_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/landing_page_view.proto new file mode 100644 index 000000000..1010a040a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/landing_page_view.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the landing page view resource. + +// A landing page view with metrics aggregated at the unexpanded final URL +// level. +message LandingPageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/LandingPageView" + pattern: "customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}" + }; + + // Output only. The resource name of the landing page view. + // Landing page view resource names have the form: + // + // `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LandingPageView" + } + ]; + + // Output only. The advertiser-specified final URL. + optional string unexpanded_final_url = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/language_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/language_constant.proto new file mode 100644 index 000000000..c2fde6b3a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/language_constant.proto @@ -0,0 +1,64 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the language constant resource. + +// A language. +message LanguageConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/LanguageConstant" + pattern: "languageConstants/{criterion_id}" + }; + + // Output only. The resource name of the language constant. + // Language constant resource names have the form: + // + // `languageConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + } + ]; + + // Output only. The ID of the language constant. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The language code, for example, "en_US", "en_AU", "es", "fr", + // etc. + optional string code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The full name of the language in English, for example, + // "English (US)", "Spanish", etc. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the language is targetable. + optional bool targetable = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/lead_form_submission_data.proto b/third_party/googleapis/google/ads/googleads/v16/resources/lead_form_submission_data.proto new file mode 100644 index 000000000..e792cabf5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/lead_form_submission_data.proto @@ -0,0 +1,122 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/lead_form_field_user_input_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormSubmissionDataProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the lead form submission data resource. + +// Data from lead form submissions. +message LeadFormSubmissionData { + option (google.api.resource) = { + type: "googleads.googleapis.com/LeadFormSubmissionData" + pattern: "customers/{customer_id}/leadFormSubmissionData/{lead_form_user_submission_id}" + }; + + // Output only. The resource name of the lead form submission data. + // Lead form submission data resource names have the form: + // + // `customers/{customer_id}/leadFormSubmissionData/{lead_form_submission_data_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LeadFormSubmissionData" + } + ]; + + // Output only. ID of this lead form submission. + string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Asset associated with the submitted lead form. + string asset = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // Output only. Campaign associated with the submitted lead form. + string campaign = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Submission data associated with a lead form. + repeated LeadFormSubmissionField lead_form_submission_fields = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Submission data associated with a custom lead form. + repeated CustomLeadFormSubmissionField custom_lead_form_submission_fields = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. AdGroup associated with the submitted lead form. + string ad_group = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. AdGroupAd associated with the submitted lead form. + string ad_group_ad = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. Google Click Id associated with the submissed lead form. + string gclid = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date and time at which the lead form was submitted. The + // format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 + // 12:32:45-08:00". + string submission_date_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Fields in the submitted lead form. +message LeadFormSubmissionField { + // Output only. Field type for lead form fields. + google.ads.googleads.v16.enums.LeadFormFieldUserInputTypeEnum + .LeadFormFieldUserInputType field_type = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Field value for lead form fields. + string field_value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Fields in the submitted custom question +message CustomLeadFormSubmissionField { + // Output only. Question text for custom question, maximum number of + // characters is 300. + string question_text = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Field value for custom question response, maximum number of + // characters is 70. + string field_value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/life_event.proto b/third_party/googleapis/google/ads/googleads/v16/resources/life_event.proto new file mode 100644 index 000000000..5ed12ccca --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/life_event.proto @@ -0,0 +1,74 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Life Event resource. + +// A life event: a particular interest-based vertical to be targeted to reach +// users when they are in the midst of important life milestones. +message LifeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/LifeEvent" + pattern: "customers/{customer_id}/lifeEvents/{life_event_id}" + }; + + // Output only. The resource name of the life event. + // Life event resource names have the form: + // + // `customers/{customer_id}/lifeEvents/{life_event_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. The ID of the life event. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the life event, for example,"Recently Moved" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the life_event. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. True if the life event is launched to all channels and + // locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the life event. + repeated google.ads.googleads.v16.common.CriterionCategoryAvailability + availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/local_services_employee.proto b/third_party/googleapis/google/ads/googleads/v16/resources/local_services_employee.proto new file mode 100644 index 000000000..a5fbef1ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/local_services_employee.proto @@ -0,0 +1,158 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/local_services_employee_status.proto"; +import "google/ads/googleads/v16/enums/local_services_employee_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesEmployeeProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A local services employee resource. +message LocalServicesEmployee { + option (google.api.resource) = { + type: "googleads.googleapis.com/LocalServicesEmployee" + pattern: "customers/{customer_id}/localServicesEmployees/{gls_employee_id}" + }; + + // Immutable. The resource name of the Local Services Verification. + // Local Services Verification resource names have the form: + // + // `customers/{customer_id}/localServicesEmployees/{gls_employee_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocalServicesEmployee" + } + ]; + + // Output only. The ID of the employee. + optional int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp of employee creation. + // The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string creation_date_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Employee status, such as DELETED or ENABLED. + google.ads.googleads.v16.enums.LocalServicesEmployeeStatusEnum + .LocalServicesEmployeeStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Employee type. + google.ads.googleads.v16.enums.LocalServicesEmployeeTypeEnum + .LocalServicesEmployeeType type = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of degrees this employee has obtained, and wants to + // feature. + repeated UniversityDegree university_degrees = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The institutions where the employee has completed their + // residency. + repeated Residency residencies = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The institutions where the employee has completed their + // fellowship. + repeated Fellowship fellowships = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Job title for this employee, such as "Senior partner" in legal + // verticals. + optional string job_title = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The year that this employee started practicing in this field. + optional int32 year_started_practicing = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Languages that the employee speaks, represented as language + // tags from https://developers.google.com/admin-sdk/directory/v1/languages + repeated string languages_spoken = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Category of the employee. A list of Local Services category + // IDs can be found at + // https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids. + repeated string category_ids = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. NPI id associated with the employee. + optional string national_provider_id_number = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Email address of the employee. + optional string email_address = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First name of the employee. + optional string first_name = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Middle name of the employee. + optional string middle_name = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last name of the employee. + optional string last_name = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A list of degrees this employee has obtained, and wants to feature. +message UniversityDegree { + // Output only. Name of the university at which the degree was obtained. + optional string institution_name = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the degree obtained. + optional string degree = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Year of graduation. + optional int32 graduation_year = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Details about the employee's medical residency. +// Residency is a stage of graduate medical education in which a qualified +// medical professional practices under the supervision of a senior clinician. +message Residency { + // Output only. Name of the institution at which the residency was completed. + optional string institution_name = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Year of completion. + optional int32 completion_year = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Details about the employee's medical Fellowship. +// Fellowship is a period of medical training that the professional undertakes +// after finishing their residency. +message Fellowship { + // Output only. Name of the instutition at which the fellowship was completed. + optional string institution_name = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Year of completion. + optional int32 completion_year = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/local_services_lead.proto b/third_party/googleapis/google/ads/googleads/v16/resources/local_services_lead.proto new file mode 100644 index 000000000..9cf854a01 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/local_services_lead.proto @@ -0,0 +1,122 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/local_services_lead_status.proto"; +import "google/ads/googleads/v16/enums/local_services_lead_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the local services lead resource. + +// Data from Local Services Lead. +// Contains details of Lead which is generated when user calls, messages or +// books service from advertiser. +// More info: https://ads.google.com/local-services-ads +message LocalServicesLead { + option (google.api.resource) = { + type: "googleads.googleapis.com/LocalServicesLead" + pattern: "customers/{customer_id}/localServicesLeads/{local_services_lead_id}" + }; + + // Output only. The resource name of the local services lead data. + // Local Services Lead resource name have the form + // + // `customers/{customer_id}/localServicesLead/{local_services_lead_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocalServicesLead" + } + ]; + + // Output only. ID of this Lead. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Service category of the lead. For example: + // `xcat:service_area_business_hvac`, + // `xcat:service_area_business_real_estate_agent`, etc. + // For more details see: + // https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids + string category_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Service for the category. For example: `buyer_agent`, + // `seller_agent` for the category of + // `xcat:service_area_business_real_estate_agent`. + string service_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Lead's contact details. + ContactDetails contact_details = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of Local Services lead: phone, message, booking, etc. + google.ads.googleads.v16.enums.LocalServicesLeadTypeEnum.LeadType lead_type = + 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current status of lead. + google.ads.googleads.v16.enums.LocalServicesLeadStatusEnum.LeadStatus + lead_status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date time at which lead was created by Local Services Ads. + // The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string creation_date_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Language used by the Local Services provider linked to lead. + // See https://developers.google.com/google-ads/api/data/codes-formats#locales + string locale = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Note added by advertiser for the lead. + optional Note note = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if the advertiser was charged for the lead. + bool lead_charged = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Fields containing consumer contact details. +message ContactDetails { + // Output only. Consumer phone number in E164 format. + string phone_number = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Consumer email address. + string email = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Consumer name if consumer provided name from Message or + // Booking form on google.com + string consumer_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents a note added to a lead by the advertiser. Advertisers can edit +// notes, which will reset edit time and change description. +message Note { + // Output only. The date time when lead note was edited. The format is + // "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: + // "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string edit_date_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Content of lead note. + string description = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/local_services_lead_conversation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/local_services_lead_conversation.proto new file mode 100644 index 000000000..8cd107d57 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/local_services_lead_conversation.proto @@ -0,0 +1,108 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/local_services_conversation_type.proto"; +import "google/ads/googleads/v16/enums/local_services_participant_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadConversationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the local services lead conversation resource. + +// Data from Local Services Lead Conversation. +// Contains details of Lead Conversation which is generated when user calls, +// messages or books service from advertiser. These are appended to a Lead. +// More info: https://ads.google.com/local-services-ads +message LocalServicesLeadConversation { + option (google.api.resource) = { + type: "googleads.googleapis.com/LocalServicesLeadConversation" + pattern: "customers/{customer_id}/localServicesLeadConversations/{local_services_lead_conversation_id}" + }; + + // Output only. The resource name of the local services lead conversation + // data. Local Services Lead Conversation resource name have the form + // + // `customers/{customer_id}/localServicesLeadConversation/{local_services_lead_conversation_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocalServicesLeadConversation" + } + ]; + + // Output only. ID of this Lead Conversation. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, + // SMS, etc. + google.ads.googleads.v16.enums.LocalServicesLeadConversationTypeEnum + .ConversationType conversation_channel = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of participant in the lead conversation, ADVERTISER or + // CONSUMER. + google.ads.googleads.v16.enums.LocalServicesParticipantTypeEnum + .ParticipantType participant_type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of Lead associated to the Lead Conversation. + string lead = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocalServicesLead" + } + ]; + + // Output only. The date time at which lead conversation was created by Local + // Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads + // account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 + // 14:34:30" + string event_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Details of phone call conversation in case of PHONE_CALL. + optional PhoneCallDetails phone_call_details = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Details of message conversation in case of EMAIL, MESSAGE or + // SMS. + optional MessageDetails message_details = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents details of a phone call conversation. +message PhoneCallDetails { + // Output only. The duration (in milliseconds) of the phone call (end to end). + int64 call_duration_millis = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL to the call recording audio file. + string call_recording_url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents details of text message in case of email, message or SMS. +message MessageDetails { + // Output only. Textual content of the message. + string text = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/local_services_verification_artifact.proto b/third_party/googleapis/google/ads/googleads/v16/resources/local_services_verification_artifact.proto new file mode 100644 index 000000000..2b48eec62 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/local_services_verification_artifact.proto @@ -0,0 +1,202 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/local_services.proto"; +import "google/ads/googleads/v16/enums/local_services_business_registration_check_rejection_reason.proto"; +import "google/ads/googleads/v16/enums/local_services_business_registration_type.proto"; +import "google/ads/googleads/v16/enums/local_services_insurance_rejection_reason.proto"; +import "google/ads/googleads/v16/enums/local_services_license_rejection_reason.proto"; +import "google/ads/googleads/v16/enums/local_services_verification_artifact_status.proto"; +import "google/ads/googleads/v16/enums/local_services_verification_artifact_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesVerificationArtifactProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A local services verification resource. +message LocalServicesVerificationArtifact { + option (google.api.resource) = { + type: "googleads.googleapis.com/LocalServicesVerificationArtifact" + pattern: "customers/{customer_id}/localServicesVerificationArtifacts/{gls_verification_artifact_id}" + }; + + // Immutable. The resource name of the Local Services Verification. + // Local Services Verification resource names have the form: + // + // `customers/{customer_id}/localServicesVerificationArtifacts/{verification_artifact_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocalServicesVerificationArtifact" + } + ]; + + // Output only. The ID of the verification artifact. + optional int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this verification artifact was created. + // The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string creation_date_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the verification artifact. + google.ads.googleads.v16.enums.LocalServicesVerificationArtifactStatusEnum + .LocalServicesVerificationArtifactStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the verification artifact. + google.ads.googleads.v16.enums.LocalServicesVerificationArtifactTypeEnum + .LocalServicesVerificationArtifactType artifact_type = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The types of verification info. + oneof artifact_data { + // Output only. A background check verification artifact. + BackgroundCheckVerificationArtifact background_check_verification_artifact = + 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An insurance verification artifact. + InsuranceVerificationArtifact insurance_verification_artifact = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A license verification artifact. + LicenseVerificationArtifact license_verification_artifact = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A business registration check verification artifact. + BusinessRegistrationCheckVerificationArtifact + business_registration_check_verification_artifact = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// A proto holding information specific to local services background check. +message BackgroundCheckVerificationArtifact { + // Output only. URL to access background case. + optional string case_url = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when this background check case result was + // adjudicated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads + // account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 + // 14:34:30" + optional string final_adjudication_date_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A proto holding information specific to a local services insurance. +message InsuranceVerificationArtifact { + // Output only. Insurance amount. This is measured in "micros" of the currency + // mentioned in the insurance document. + optional int64 amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Insurance document's rejection reason. + optional + google.ads.googleads.v16.enums.LocalServicesInsuranceRejectionReasonEnum + .LocalServicesInsuranceRejectionReason rejection_reason = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The readonly field containing the information for an uploaded + // insurance document. + optional google.ads.googleads.v16.common.LocalServicesDocumentReadOnly + insurance_document_readonly = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A proto holding information specific to a local services license. +message LicenseVerificationArtifact { + // Output only. License type / name. + optional string license_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. License number. + optional string license_number = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First name of the licensee. + optional string licensee_first_name = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last name of the licensee. + optional string licensee_last_name = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. License rejection reason. + optional + google.ads.googleads.v16.enums.LocalServicesLicenseRejectionReasonEnum + .LocalServicesLicenseRejectionReason rejection_reason = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The readonly field containing the information for an uploaded + // license document. + optional google.ads.googleads.v16.common.LocalServicesDocumentReadOnly + license_document_readonly = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A proto holding information specific to a local services business +// registration check. +message BusinessRegistrationCheckVerificationArtifact { + // Output only. The type of business registration check (number, document). + optional + google.ads.googleads.v16.enums.LocalServicesBusinessRegistrationTypeEnum + .LocalServicesBusinessRegistrationType registration_type = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The id of the check, such as vat_tax_id, representing "VAT Tax + // ID" requirement. + optional string check_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Registration document rejection reason. + optional google.ads.googleads.v16.enums + .LocalServicesBusinessRegistrationCheckRejectionReasonEnum + .LocalServicesBusinessRegistrationCheckRejectionReason rejection_reason = + 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Registration information for the business registration. It will be one + // of the following forms based on the requirement from different countries. + oneof business_registration { + // Output only. Message storing government issued number for the business. + BusinessRegistrationNumber registration_number = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Message storing document info for the business. + BusinessRegistrationDocument registration_document = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// A proto holding information specific to a local services business +// registration number. +message BusinessRegistrationNumber { + // Output only. Government-issued number for the business. + optional string number = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A proto holding information specific to a local services business +// registration document. +message BusinessRegistrationDocument { + // Output only. The readonly field containing the information for an uploaded + // business registration document. + optional google.ads.googleads.v16.common.LocalServicesDocumentReadOnly + document_readonly = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/location_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/location_view.proto new file mode 100644 index 000000000..c7b542607 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/location_view.proto @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the location view resource. + +// A location view summarizes the performance of campaigns by +// Location criteria. +message LocationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/LocationView" + pattern: "customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the location view. + // Location view resource names have the form: + // + // `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocationView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/managed_placement_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/managed_placement_view.proto new file mode 100644 index 000000000..81322c5ec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/managed_placement_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Managed Placement view resource. + +// A managed placement view. +message ManagedPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ManagedPlacementView" + pattern: "customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the Managed Placement view. + // Managed placement view resource names have the form: + // + // `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ManagedPlacementView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/media_file.proto b/third_party/googleapis/google/ads/googleads/v16/resources/media_file.proto new file mode 100644 index 000000000..7d96d9cae --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/media_file.proto @@ -0,0 +1,145 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/media_type.proto"; +import "google/ads/googleads/v16/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the media file resource. + +// A media file. +message MediaFile { + option (google.api.resource) = { + type: "googleads.googleapis.com/MediaFile" + pattern: "customers/{customer_id}/mediaFiles/{media_file_id}" + }; + + // Immutable. The resource name of the media file. + // Media file resource names have the form: + // + // `customers/{customer_id}/mediaFiles/{media_file_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MediaFile" + } + ]; + + // Output only. The ID of the media file. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Type of the media file. + google.ads.googleads.v16.enums.MediaTypeEnum.MediaType type = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The mime type of the media file. + google.ads.googleads.v16.enums.MimeTypeEnum.MimeType mime_type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The URL of where the original media file was downloaded from (or + // a file name). Only used for media of type AUDIO and IMAGE. + optional string source_url = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The name of the media file. The name can be used by clients to + // help identify previously uploaded media. + optional string name = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The size of the media file in bytes. + optional int64 file_size = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The specific type of the media file. + oneof mediatype { + // Immutable. Encapsulates an Image. + MediaImage image = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A ZIP archive media the content of which contains HTML5 + // assets. + MediaBundle media_bundle = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Encapsulates an Audio. + MediaAudio audio = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Encapsulates a Video. + MediaVideo video = 11 [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Encapsulates an Image. +message MediaImage { + // Immutable. Raw image data. + optional bytes data = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The url to the full size version of the image. + optional string full_size_image_url = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The url to the preview size version of the image. + optional string preview_size_image_url = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents a ZIP archive media the content of which contains HTML5 assets. +message MediaBundle { + // Immutable. Raw zipped data. + optional bytes data = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The url to access the uploaded zipped data. + // For example, https://tpc.googlesyndication.com/simgad/123 + // This field is read-only. + optional string url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Encapsulates an Audio. +message MediaAudio { + // Output only. The duration of the Audio in milliseconds. + optional int64 ad_duration_millis = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Encapsulates a Video. +message MediaVideo { + // Output only. The duration of the Video in milliseconds. + optional int64 ad_duration_millis = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix + // "https://www.youtube.com/watch?v=" to this ID will get the YouTube + // streaming URL for this video. + optional string youtube_video_id = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The Advertising Digital Identification code for this video, as + // defined by the American Association of Advertising Agencies, used mainly + // for television commercials. + optional string advertising_id_code = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Industry Standard Commercial Identifier code for this + // video, used mainly for television commercials. + optional string isci_code = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/mobile_app_category_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/mobile_app_category_constant.proto new file mode 100644 index 000000000..b45f07929 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/mobile_app_category_constant.proto @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Mobile App Category Constant resource. + +// A mobile application category constant. +message MobileAppCategoryConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + pattern: "mobileAppCategoryConstants/{mobile_app_category_id}" + }; + + // Output only. The resource name of the mobile app category constant. + // Mobile app category constant resource names have the form: + // + // `mobileAppCategoryConstants/{mobile_app_category_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + } + ]; + + // Output only. The ID of the mobile app category constant. + optional int32 id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Mobile app category name. + optional string name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/mobile_device_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/mobile_device_constant.proto new file mode 100644 index 000000000..2867650f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/mobile_device_constant.proto @@ -0,0 +1,69 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the mobile device constant resource. + +// A mobile device constant. +message MobileDeviceConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + pattern: "mobileDeviceConstants/{criterion_id}" + }; + + // Output only. The resource name of the mobile device constant. + // Mobile device constant resource names have the form: + // + // `mobileDeviceConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + } + ]; + + // Output only. The ID of the mobile device constant. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the mobile device. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The manufacturer of the mobile device. + optional string manufacturer_name = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operating system of the mobile device. + optional string operating_system_name = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of mobile device. + google.ads.googleads.v16.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/offline_conversion_upload_client_summary.proto b/third_party/googleapis/google/ads/googleads/v16/resources/offline_conversion_upload_client_summary.proto new file mode 100644 index 000000000..0581ad1bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/offline_conversion_upload_client_summary.proto @@ -0,0 +1,175 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/offline_conversion_diagnostic_status_enum.proto"; +import "google/ads/googleads/v16/enums/offline_event_upload_client_enum.proto"; +import "google/ads/googleads/v16/errors/collection_size_error.proto"; +import "google/ads/googleads/v16/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v16/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v16/errors/date_error.proto"; +import "google/ads/googleads/v16/errors/distinct_error.proto"; +import "google/ads/googleads/v16/errors/field_error.proto"; +import "google/ads/googleads/v16/errors/mutate_error.proto"; +import "google/ads/googleads/v16/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v16/errors/string_format_error.proto"; +import "google/ads/googleads/v16/errors/string_length_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineConversionUploadClientSummaryProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Offline conversion upload client summary. +message OfflineConversionUploadClientSummary { + option (google.api.resource) = { + type: "googleads.googleapis.com/OfflineConversionUploadClientSummary" + pattern: "customers/{customer_id}/offlineConversionUploadClientSummaries/{client}" + }; + + // Output only. The resource name of the offline conversion upload client + // summary. Offline conversion upload client summary resource names have the + // form: + // + // `customers/{customer_id}/offlineConversionUploadClientSummaries/{client}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineConversionUploadClientSummary" + } + ]; + + // Output only. Client type of the upload event. + google.ads.googleads.v16.enums.OfflineEventUploadClientEnum + .OfflineEventUploadClient client = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Overall status for offline conversion client summary. Status + // is generated + // from most recent calendar day with upload stats + google.ads.googleads.v16.enums.OfflineConversionDiagnosticStatusEnum + .OfflineConversionDiagnosticStatus status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total count of uploaded events. + int64 total_event_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total count of successful uploaded events. + int64 successful_event_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Successful rate. + double success_rate = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Date for the latest upload batch. The format is "yyyy-mm-dd + // hh:mm:ss", and it's in the time zone of the Google Ads account. + string last_upload_date_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Summary of history stats by last N days. + repeated OfflineConversionSummary daily_summaries = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Summary of history stats by last N jobs. + repeated OfflineConversionSummary job_summaries = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Details for each error code. Alerts are generated from most + // recent calendar day with upload stats. + repeated OfflineConversionAlert alerts = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Historical upload summary, grouped by upload date or job. +message OfflineConversionSummary { + // Output only. Total count of successful event. + int64 successful_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total count of failed event. + int64 failed_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Dimension key for summary. + oneof dimension_key { + // Output only. Dimension key for last N jobs. + int64 job_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Dimension key for last N days. + string upload_date = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// Alert for offline conversion client summary. +message OfflineConversionAlert { + // Output only. Error for offline conversion client alert. + OfflineConversionError error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Percentage of the error, the range of this field should be + // [0, 1.0]. + double error_percentage = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Possible errors for offline conversion client summary. +message OfflineConversionError { + // Error with description. + oneof error_code { + // Output only. Collection size error. + google.ads.googleads.v16.errors.CollectionSizeErrorEnum.CollectionSizeError + collection_size_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Conversion adjustment upload error. + google.ads.googleads.v16.errors.ConversionAdjustmentUploadErrorEnum + .ConversionAdjustmentUploadError conversion_adjustment_upload_error = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Conversion upload error. + google.ads.googleads.v16.errors.ConversionUploadErrorEnum + .ConversionUploadError conversion_upload_error = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Date error. + google.ads.googleads.v16.errors.DateErrorEnum.DateError date_error = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Distinct error. + google.ads.googleads.v16.errors.DistinctErrorEnum.DistinctError + distinct_error = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Field error. + google.ads.googleads.v16.errors.FieldErrorEnum.FieldError field_error = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Mutate error. + google.ads.googleads.v16.errors.MutateErrorEnum.MutateError mutate_error = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Not allowlisted error. + google.ads.googleads.v16.errors.NotAllowlistedErrorEnum.NotAllowlistedError + not_allowlisted_error = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. String format error. + google.ads.googleads.v16.errors.StringFormatErrorEnum.StringFormatError + string_format_error = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. String length error. + google.ads.googleads.v16.errors.StringLengthErrorEnum.StringLengthError + string_length_error = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/offline_user_data_job.proto b/third_party/googleapis/google/ads/googleads/v16/resources/offline_user_data_job.proto new file mode 100644 index 000000000..74fea075f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/offline_user_data_job.proto @@ -0,0 +1,106 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/offline_user_data.proto"; +import "google/ads/googleads/v16/enums/offline_user_data_job_failure_reason.proto"; +import "google/ads/googleads/v16/enums/offline_user_data_job_match_rate_range.proto"; +import "google/ads/googleads/v16/enums/offline_user_data_job_status.proto"; +import "google/ads/googleads/v16/enums/offline_user_data_job_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the offline user data job resource. + +// A job containing offline user data of store visitors, or user list members +// that will be processed asynchronously. The uploaded data isn't readable and +// the processing results of the job can only be read using +// GoogleAdsService.Search/SearchStream. +message OfflineUserDataJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + pattern: "customers/{customer_id}/offlineUserDataJobs/{offline_user_data_update_id}" + }; + + // Immutable. The resource name of the offline user data job. + // Offline user data job resource names have the form: + // + // `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // Output only. ID of this offline user data job. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. User specified job ID. + optional int64 external_id = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Type of the job. + google.ads.googleads.v16.enums.OfflineUserDataJobTypeEnum + .OfflineUserDataJobType type = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the job. + google.ads.googleads.v16.enums.OfflineUserDataJobStatusEnum + .OfflineUserDataJobStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reason for the processing failure, if status is FAILED. + google.ads.googleads.v16.enums.OfflineUserDataJobFailureReasonEnum + .OfflineUserDataJobFailureReason failure_reason = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata of offline user data job depicting match rate range. + OfflineUserDataJobMetadata operation_metadata = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Metadata of the job. + oneof metadata { + // Immutable. Metadata for data updates to a CRM-based user list. + google.ads.googleads.v16.common.CustomerMatchUserListMetadata + customer_match_user_list_metadata = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Metadata for store sales data update. + google.ads.googleads.v16.common.StoreSalesMetadata store_sales_metadata = 8 + [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Metadata of offline user data job. +message OfflineUserDataJobMetadata { + // Output only. Match rate of the Customer Match user list upload. Describes + // the estimated match rate when the status of the job is "RUNNING" and final + // match rate when the final match rate is available after the status of the + // job is "SUCCESS/FAILED". + google.ads.googleads.v16.enums.OfflineUserDataJobMatchRateRangeEnum + .OfflineUserDataJobMatchRateRange match_rate_range = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/operating_system_version_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/operating_system_version_constant.proto new file mode 100644 index 000000000..b57e5b8bd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/operating_system_version_constant.proto @@ -0,0 +1,73 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the operating system version constant resource. + +// A mobile operating system version or a range of versions, depending on +// `operator_type`. List of available mobile platforms at +// https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms +message OperatingSystemVersionConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + pattern: "operatingSystemVersionConstants/{criterion_id}" + }; + + // Output only. The resource name of the operating system version constant. + // Operating system version constant resource names have the form: + // + // `operatingSystemVersionConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + } + ]; + + // Output only. The ID of the operating system version. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the operating system. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Major Version number. + optional int32 os_major_version = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Minor Version number. + optional int32 os_minor_version = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Determines whether this constant represents a single version + // or a range of versions. + google.ads.googleads.v16.enums.OperatingSystemVersionOperatorTypeEnum + .OperatingSystemVersionOperatorType operator_type = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/paid_organic_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/paid_organic_search_term_view.proto new file mode 100644 index 000000000..7bf5df4bc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/paid_organic_search_term_view.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the PaidOrganicSearchTermView resource. + +// A paid organic search term view providing a view of search stats across +// ads and organic listings aggregated by search term at the ad group level. +message PaidOrganicSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + pattern: "customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~{ad_group_id}~{base64_search_term}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ + // {ad_group_id}~{URL-base64 search term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/parental_status_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/parental_status_view.proto new file mode 100644 index 000000000..d5ba087f4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/parental_status_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the parental status view resource. + +// A parental status view. +message ParentalStatusView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ParentalStatusView" + pattern: "customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the parental status view. + // Parental Status view resource names have the form: + // + // `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ParentalStatusView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/payments_account.proto b/third_party/googleapis/google/ads/googleads/v16/resources/payments_account.proto new file mode 100644 index 000000000..8f3aa7bfe --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/payments_account.proto @@ -0,0 +1,82 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the PaymentsAccount resource. + +// A payments account, which can be used to set up billing for an Ads customer. +message PaymentsAccount { + option (google.api.resource) = { + type: "googleads.googleapis.com/PaymentsAccount" + pattern: "customers/{customer_id}/paymentsAccounts/{payments_account_id}" + }; + + // Output only. The resource name of the payments account. + // PaymentsAccount resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Output only. A 16 digit ID used to identify a payments account. + optional string payments_account_id = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the payments account. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The currency code of the payments account. + // A subset of the currency codes derived from the ISO 4217 standard is + // supported. + optional string currency_code = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A 12 digit ID used to identify the payments profile associated + // with the payments account. + optional string payments_profile_id = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A secondary payments profile ID present in uncommon + // situations, for example, when a sequential liability agreement has been + // arranged. + optional string secondary_payments_profile_id = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Paying manager of this payment account. + optional string paying_manager_customer = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/per_store_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/per_store_view.proto new file mode 100644 index 000000000..75cc659be --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/per_store_view.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PerStoreViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the PerStoreView resource. + +// A per store view. +// This view provides per store impression reach and local action conversion +// stats for advertisers. +message PerStoreView { + option (google.api.resource) = { + type: "googleads.googleapis.com/PerStoreView" + pattern: "customers/{customer_id}/perStoreViews/{place_id}" + }; + + // Output only. The resource name of the per store view. + // Per Store view resource names have the form: + // + // `customers/{customer_id}/perStoreViews/{place_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PerStoreView" + } + ]; + + // Output only. The place ID of the per store view. + string place_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/product_category_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/product_category_constant.proto new file mode 100644 index 000000000..18794e4e5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/product_category_constant.proto @@ -0,0 +1,94 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/product_category_level.proto"; +import "google/ads/googleads/v16/enums/product_category_state.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ProductCategoryConstant resource. + +// A Product Category. +message ProductCategoryConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/ProductCategoryConstant" + pattern: "productCategoryConstants/{level}~{category_id}" + plural: "productCategoryConstants" + singular: "productCategoryConstant" + }; + + // Localization for the product category. + message ProductCategoryLocalization { + // Output only. Upper-case two-letter ISO 3166-1 country code of the + // localized category. + string region_code = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Two-letter ISO 639-1 language code of the localized + // category. + string language_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the category in the specified locale. + string value = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the product category. + // Product category resource names have the form: + // + // `productCategoryConstants/{level}~{category_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductCategoryConstant" + } + ]; + + // Output only. The ID of the product category. + // + // This ID is equivalent to the google_product_category ID as described in + // this article: https://support.google.com/merchants/answer/6324436. + int64 category_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of the parent product category. + optional string product_category_constant_parent = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductCategoryConstant" + } + ]; + + // Output only. Level of the product category. + google.ads.googleads.v16.enums.ProductCategoryLevelEnum.ProductCategoryLevel + level = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the product category. + google.ads.googleads.v16.enums.ProductCategoryStateEnum.ProductCategoryState + state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of all available localizations of the product category. + repeated ProductCategoryLocalization localizations = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/product_group_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/product_group_view.proto new file mode 100644 index 000000000..955122744 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/product_group_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ProductGroup View resource. + +// A product group view. +message ProductGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ProductGroupView" + pattern: "customers/{customer_id}/productGroupViews/{adgroup_id}~{criterion_id}" + }; + + // Output only. The resource name of the product group view. + // Product group view resource names have the form: + // + // `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductGroupView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/product_link.proto b/third_party/googleapis/google/ads/googleads/v16/resources/product_link.proto new file mode 100644 index 000000000..efee9e8d1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/product_link.proto @@ -0,0 +1,125 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/linked_product_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Represents the data sharing connection between a Google +// Ads customer and another product. +message ProductLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/ProductLink" + pattern: "customers/{customer_id}/productLinks/{product_link_id}" + }; + + // Immutable. Resource name of the product link. + // ProductLink resource names have the form: + // + // `customers/{customer_id}/productLinks/{product_link_id} ` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLink" + } + ]; + + // Output only. The ID of the link. + // This field is read only. + optional int64 product_link_id = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the linked product. + google.ads.googleads.v16.enums.LinkedProductTypeEnum.LinkedProductType type = + 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A product linked to this account. + oneof linked_product { + // Immutable. Data partner link. + DataPartnerIdentifier data_partner = 4 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Google Ads link. + GoogleAdsIdentifier google_ads = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Google Merchant Center link. + MerchantCenterIdentifier merchant_center = 12 + [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Advertising Partner link. + AdvertisingPartnerIdentifier advertising_partner = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// The identifier for Data Partner account. +message DataPartnerIdentifier { + // Immutable. The customer ID of the Data partner account. + // This field is required and should not be empty when creating a new + // data partner link. It is unable to be modified after the creation of + // the link. + optional int64 data_partner_id = 1 [(google.api.field_behavior) = IMMUTABLE]; +} + +// The identifier for Google Ads account. +message GoogleAdsIdentifier { + // Immutable. The resource name of the Google Ads account. + // This field is required and should not be empty when creating a new + // Google Ads link. It is unable to be modified after the creation of + // the link. + optional string customer = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} + +// The identifier for Google Merchant Center account +message MerchantCenterIdentifier { + // Immutable. The customer ID of the Google Merchant Center account. + // This field is required and should not be empty when creating a new + // Merchant Center link. It is unable to be modified after the creation of + // the link. + optional int64 merchant_center_id = 1 + [(google.api.field_behavior) = IMMUTABLE]; +} + +// The identifier for the Advertising Partner Google Ads account. +message AdvertisingPartnerIdentifier { + // Output only. The resource name of the advertising partner Google Ads + // account. This field is required and should not be empty when creating a new + // Advertising Partner link. It is unable to be modified after the creation of + // the link. + optional string customer = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/product_link_invitation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/product_link_invitation.proto new file mode 100644 index 000000000..f95ced2a0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/product_link_invitation.proto @@ -0,0 +1,109 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/linked_product_type.proto"; +import "google/ads/googleads/v16/enums/product_link_invitation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkInvitationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Represents an invitation for data sharing connection between a Google Ads +// account and another account. +message ProductLinkInvitation { + option (google.api.resource) = { + type: "googleads.googleapis.com/ProductLinkInvitation" + pattern: "customers/{customer_id}/productLinkInvitations/{customer_invitation_id}" + }; + + // Immutable. The resource name of a product link invitation. + // Product link invitation resource names have the form: + // + // `customers/{customer_id}/productLinkInvitations/{product_link_invitation_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLinkInvitation" + } + ]; + + // Output only. The ID of the product link invitation. + // This field is read only. + int64 product_link_invitation_id = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the product link invitation. + // This field is read only. + google.ads.googleads.v16.enums.ProductLinkInvitationStatusEnum + .ProductLinkInvitationStatus status = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the invited account. + // This field is read only and can be used for filtering invitations with + // {@code GoogleAdsService.SearchGoogleAdsRequest}. + google.ads.googleads.v16.enums.LinkedProductTypeEnum.LinkedProductType type = + 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // An account invited to link to this Google Ads account. + oneof invited_account { + // Output only. Hotel link invitation. + HotelCenterLinkInvitationIdentifier hotel_center = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Merchant Center link invitation. + MerchantCenterLinkInvitationIdentifier merchant_center = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Advertising Partner link invitation. + AdvertisingPartnerLinkInvitationIdentifier advertising_partner = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// The identifier for Hotel account. +message HotelCenterLinkInvitationIdentifier { + // Output only. The hotel center id of the hotel account. + // This field is read only + int64 hotel_center_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The identifier for Merchant Center Account. +message MerchantCenterLinkInvitationIdentifier { + // Output only. The Merchant Center id of the Merchant account. + // This field is read only + int64 merchant_center_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The identifier for the Advertising Partner Google Ads account. +message AdvertisingPartnerLinkInvitationIdentifier { + // Immutable. The resource name of the advertising partner Google Ads account. + // This field is read only. + optional string customer = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/qualifying_question.proto b/third_party/googleapis/google/ads/googleads/v16/resources/qualifying_question.proto new file mode 100644 index 000000000..fcd3ed09b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/qualifying_question.proto @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "QualifyingQuestionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the PerStoreView resource. + +// Qualifying Questions for Lead Form. +message QualifyingQuestion { + option (google.api.resource) = { + type: "googleads.googleapis.com/QualifyingQuestion" + pattern: "qualifyingQuestions/{qualifying_question_id}" + }; + + // Output only. The resource name of the qualifying question. + // + // 'qualifyingQuestions/{qualifyingQuestionId}' + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/QualifyingQuestion" + } + ]; + + // Output only. The id of the qualifying question. + int64 qualifying_question_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The locale of the qualifying question. + string locale = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The qualifying question. + string text = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/recommendation.proto b/third_party/googleapis/google/ads/googleads/v16/resources/recommendation.proto new file mode 100644 index 000000000..31e50946b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/recommendation.proto @@ -0,0 +1,971 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/enums/ad_strength.proto"; +import "google/ads/googleads/v16/enums/app_bidding_goal.proto"; +import "google/ads/googleads/v16/enums/keyword_match_type.proto"; +import "google/ads/googleads/v16/enums/recommendation_type.proto"; +import "google/ads/googleads/v16/enums/shopping_add_products_to_campaign_recommendation_enum.proto"; +import "google/ads/googleads/v16/enums/target_cpa_opt_in_recommendation_goal.proto"; +import "google/ads/googleads/v16/resources/ad.proto"; +import "google/ads/googleads/v16/resources/asset.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Recommendation resource. + +// A recommendation. +message Recommendation { + option (google.api.resource) = { + type: "googleads.googleapis.com/Recommendation" + pattern: "customers/{customer_id}/recommendations/{recommendation_id}" + }; + + // The Merchant Center account details. + message MerchantInfo { + // Output only. The Merchant Center account ID. + int64 id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the Merchant Center account. + string name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the Merchant Center account is a Multi-Client + // account (MCA). + bool multi_client = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The impact of making the change as described in the recommendation. + // Some types of recommendations may not have impact information. + message RecommendationImpact { + // Output only. Base metrics at the time the recommendation was generated. + RecommendationMetrics base_metrics = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimated metrics if the recommendation is applied. + RecommendationMetrics potential_metrics = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Weekly account performance metrics. For some recommendation types, these + // are averaged over the past 90-day period and hence can be fractional. + message RecommendationMetrics { + // Output only. Number of ad impressions. + optional double impressions = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of ad clicks. + optional double clicks = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Cost (in micros) for advertising, in the local currency for + // the account. + optional int64 cost_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of conversions. + optional double conversions = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Sum of the conversion value of the conversions. + optional double conversions_value = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of video views for a video ad campaign. + optional double video_views = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The budget recommendation for budget constrained campaigns. + message CampaignBudgetRecommendation { + // The impact estimates for a given budget amount. + message CampaignBudgetRecommendationOption { + // Output only. The budget amount for this option. + optional int64 budget_amount_micros = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The impact estimate if budget is changed to amount + // specified in this option. + RecommendationImpact impact = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The current budget amount in micros. + optional int64 current_budget_amount_micros = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended budget amount in micros. + optional int64 recommended_budget_amount_micros = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The budget amounts and associated impact estimates for some + // values of possible budget amounts. + repeated CampaignBudgetRecommendationOption budget_options = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The keyword recommendation. + message KeywordRecommendation { + // Information about a search term as related to a keyword recommendation. + message SearchTerm { + // Output only. The text of the search term. + string text = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimated number of historical weekly searches for this + // search term. + int64 estimated_weekly_search_count = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The recommended keyword. + google.ads.googleads.v16.common.KeywordInfo keyword = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of search terms this keyword matches. The same search + // term may be repeated for multiple keywords. + repeated SearchTerm search_terms = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended CPC (cost-per-click) bid. + optional int64 recommended_cpc_bid_micros = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The text ad recommendation. + message TextAdRecommendation { + // Output only. Recommended ad. + Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Creation date of the recommended ad. + // YYYY-MM-DD format, for example, 2018-04-17. + optional string creation_date = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Date, if present, is the earliest when the recommendation + // will be auto applied. YYYY-MM-DD format, for example, 2018-04-17. + optional string auto_apply_date = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Target CPA opt-in recommendation. + message TargetCpaOptInRecommendation { + // The Target CPA opt-in option with impact estimate. + message TargetCpaOptInRecommendationOption { + // Output only. The goal achieved by this option. + google.ads.googleads.v16.enums.TargetCpaOptInRecommendationGoalEnum + .TargetCpaOptInRecommendationGoal goal = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Average CPA target. + optional int64 target_cpa_micros = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The minimum campaign budget, in local currency for the + // account, required to achieve the target CPA. Amount is specified in + // micros, where one million is equivalent to one currency unit. + optional int64 required_campaign_budget_amount_micros = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The impact estimate if this option is selected. + RecommendationImpact impact = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The available goals and corresponding options for Target CPA + // strategy. + repeated TargetCpaOptInRecommendationOption options = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended average CPA target. See required budget + // amount and impact of using this recommendation in options list. + optional int64 recommended_target_cpa_micros = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Maximize Conversions Opt-In recommendation. + message MaximizeConversionsOptInRecommendation { + // Output only. The recommended new budget amount. + optional int64 recommended_budget_amount_micros = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Enhanced Cost-Per-Click Opt-In recommendation. + message EnhancedCpcOptInRecommendation {} + + // The Search Partners Opt-In recommendation. + message SearchPartnersOptInRecommendation {} + + // The Maximize Clicks opt-in recommendation. + message MaximizeClicksOptInRecommendation { + // Output only. The recommended new budget amount. + // Only set if the current budget is too high. + optional int64 recommended_budget_amount_micros = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Optimize Ad Rotation recommendation. + message OptimizeAdRotationRecommendation {} + + // The callout asset recommendation. + message CalloutAssetRecommendation { + // Output only. New callout extension assets recommended at the campaign + // level. + repeated Asset recommended_campaign_callout_assets = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. New callout extension assets recommended at the customer + // level. + repeated Asset recommended_customer_callout_assets = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The sitelink asset recommendation. + message SitelinkAssetRecommendation { + // Output only. New sitelink assets recommended at the campaign level. + repeated Asset recommended_campaign_sitelink_assets = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. New sitelink assets recommended at the customer level. + repeated Asset recommended_customer_sitelink_assets = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The call asset recommendation. + message CallAssetRecommendation {} + + // The keyword match type recommendation. + message KeywordMatchTypeRecommendation { + // Output only. The existing keyword where the match type should be more + // broad. + google.ads.googleads.v16.common.KeywordInfo keyword = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v16.enums.KeywordMatchTypeEnum.KeywordMatchType + recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The move unused budget recommendation. + message MoveUnusedBudgetRecommendation { + // Output only. The excess budget's resource_name. + optional string excess_campaign_budget = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommendation for the constrained budget to increase. + CampaignBudgetRecommendation budget_recommendation = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Target ROAS opt-in recommendation. + message TargetRoasOptInRecommendation { + // Output only. The recommended target ROAS (revenue per unit of spend). + // The value is between 0.01 and 1000.0, inclusive. + optional double recommended_target_roas = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The minimum campaign budget, in local currency for the + // account, required to achieve the target ROAS. Amount is specified in + // micros, where one million is equivalent to one currency unit. + optional int64 required_campaign_budget_amount_micros = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The add responsive search ad asset recommendation. + message ResponsiveSearchAdAssetRecommendation { + // Output only. The current ad to be updated. + Ad current_ad = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended assets. This is populated only with the new + // headlines and/or descriptions, and is otherwise empty. + Ad recommended_assets = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The responsive search ad improve ad strength recommendation. + message ResponsiveSearchAdImproveAdStrengthRecommendation { + // Output only. The current ad to be updated. + Ad current_ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The updated ad. + Ad recommended_ad = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The add responsive search ad recommendation. + message ResponsiveSearchAdRecommendation { + // Output only. Recommended ad. + Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The use broad match keyword recommendation. + message UseBroadMatchKeywordRecommendation { + // Output only. Sample of keywords to be expanded to Broad Match. + repeated google.ads.googleads.v16.common.KeywordInfo keyword = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total number of keywords to be expanded to Broad Match in + // the campaign. + int64 suggested_keywords_count = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total number of keywords in the campaign. + int64 campaign_keywords_count = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the associated campaign uses a shared budget. + bool campaign_uses_shared_budget = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The budget recommended to avoid becoming budget constrained + // after applying the recommendation. + int64 required_campaign_budget_amount_micros = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The upgrade a Smart Shopping campaign to a Performance Max campaign + // recommendation. + message UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation { + // Output only. ID of Merchant Center account. + int64 merchant_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Country whose products from merchant's inventory should be + // included. + string sales_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The raise target CPA bid too low recommendation. + message RaiseTargetCpaBidTooLowRecommendation { + // Output only. A number greater than 1.0 indicating the factor by which we + // recommend the target CPA should be increased. + optional double recommended_target_multiplier = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current average target CPA of the campaign, in micros of + // customer local currency. + optional int64 average_target_cpa_micros = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Display Expansion opt-in recommendation. + message DisplayExpansionOptInRecommendation {} + + // The Upgrade Local campaign to Performance Max campaign recommendation. + message UpgradeLocalCampaignToPerformanceMaxRecommendation {} + + // The forecasting set target ROAS recommendation. + message ForecastingSetTargetRoasRecommendation { + // Output only. The recommended target ROAS (revenue per unit of spend). + // The value is between 0.01 and 1000.0, inclusive. + double recommended_target_roas = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The campaign budget. + CampaignBudget campaign_budget = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The shopping recommendation to add an attribute to offers that are demoted + // because it is missing. + message ShoppingOfferAttributeRecommendation { + // Output only. The details of the Merchant Center account. + MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The campaign feed label. + string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of online, servable offers. + int64 offers_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of online, servable offers that are demoted for + // missing attributes. Visit the Merchant Center for more details. + int64 demoted_offers_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The shopping recommendation to fix disapproved products in a Shopping + // Campaign Inventory. + message ShoppingFixDisapprovedProductsRecommendation { + // Output only. The details of the Merchant Center account. + MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed label for the campaign. + string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of products of the campaign. + int64 products_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The numbers of products of the campaign that are + // disapproved. + int64 disapproved_products_count = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The shopping recommendation to create a catch-all campaign that targets all + // offers. + message ShoppingTargetAllOffersRecommendation { + // Output only. The details of the Merchant Center account. + MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of untargeted offers. + int64 untargeted_offers_count = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The offer feed label. + string feed_label = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The shopping recommendation to add products to a Shopping Campaign + // Inventory. + message ShoppingAddProductsToCampaignRecommendation { + // Output only. The details of the Merchant Center account. + MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed label for the campaign. + string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The reason why no products are attached to the campaign. + google.ads.googleads.v16.enums + .ShoppingAddProductsToCampaignRecommendationEnum.Reason reason = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The shopping recommendation to fix Merchant Center account suspension + // issues. + message ShoppingMerchantCenterAccountSuspensionRecommendation { + // Output only. The details of the Merchant Center account. + MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed label of the campaign for which the suspension + // happened. + string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The shopping recommendation to migrate Regular Shopping Campaign targeted + // offers to Performance Max campaigns. + message + ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation { + // Output only. The details of the Merchant Center account. + MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed label of the offers targeted by the campaigns + // sharing this suggestion. + string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Information of a target adjustment recommendation. + message TargetAdjustmentInfo { + // Output only. The shared set resource name of the portfolio bidding + // strategy where the target is defined. Only populated if the + // recommendation is portfolio level. + optional string shared_set = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The factor by which we recommend the target to be adjusted + // by. + double recommended_target_multiplier = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current average target of the campaign or portfolio + // targeted by this recommendation. + int64 current_average_target_micros = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Recommendation to raise Target CPA. + message RaiseTargetCpaRecommendation { + // Output only. The relevant information describing the recommended target + // adjustment. + TargetAdjustmentInfo target_adjustment = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents the goal towards which the bidding strategy + // should optimize. Only populated for App Campaigns. + optional google.ads.googleads.v16.enums.AppBiddingGoalEnum.AppBiddingGoal + app_bidding_goal = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Recommendation to lower Target ROAS. + message LowerTargetRoasRecommendation { + // Output only. The relevant information describing the recommended target + // adjustment. + TargetAdjustmentInfo target_adjustment = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Recommendation to enable dynamic image extensions on the account, + // allowing Google to find the best images from ad landing pages and + // complement text ads. + message DynamicImageExtensionOptInRecommendation {} + + // A campaign budget shared amongst various budget recommendation types. + message CampaignBudget { + // Output only. Current budget amount. + int64 current_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Recommended budget amount. + int64 recommended_new_amount_micros = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date when the new budget would start being used. + // This field will be set for the following recommendation types: + // FORECASTING_SET_TARGET_ROAS , FORECASTING_SET_TARGET_CPA + // YYYY-MM-DD format, for example, 2018-04-17. + string new_start_date = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Performance Max Opt In recommendation. + message PerformanceMaxOptInRecommendation {} + + // Recommendation to improve the asset group strength of a Performance Max + // campaign to an "Excellent" rating. + message ImprovePerformanceMaxAdStrengthRecommendation { + // Output only. The asset group resource name. + string asset_group = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Dynamic Search Ads to Performance Max migration recommendation. + message MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation { + // Output only. A link to the Google Ads UI where the customer can manually + // apply the recommendation. + string apply_link = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The set target CPA recommendations. + message ForecastingSetTargetCpaRecommendation { + // Output only. The recommended target CPA. + int64 recommended_target_cpa_micros = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The campaign budget. + CampaignBudget campaign_budget = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Recommendation to opt into Maximize Conversion Value bidding strategy. + message MaximizeConversionValueOptInRecommendation {} + + // Recommendation to deploy Google Tag on more pages. + message ImproveGoogleTagCoverageRecommendation {} + + // Recommendation to turn on Final URL expansion for your Performance Max + // campaigns. + message PerformanceMaxFinalUrlOptInRecommendation {} + + // The recommendation to update a customer list that hasn't been updated in + // the last 90 days. The customer receiving the recommendation is not + // necessarily the owner account. The owner account should update the customer + // list. + message RefreshCustomerMatchListRecommendation { + // Output only. The user list ID. + int64 user_list_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the list. + string user_list_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Days since last refresh. + int64 days_since_last_refresh = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The top spending account. + repeated AccountInfo top_spending_account = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. User lists can be shared with other accounts by the owner. + // targeting_accounts_count is the number of those accounts that can use it + // for targeting. + int64 targeting_accounts_count = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The owner account. This is the account that should update + // the customer list. + AccountInfo owner_account = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Wrapper for information about a Google Ads account. + message AccountInfo { + // Output only. The customer ID of the account. + int64 customer_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The descriptive name of the account. + string descriptive_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Custom Audience Opt In recommendation. + message CustomAudienceOptInRecommendation { + // Output only. The list of keywords to use for custom audience creation. + repeated google.ads.googleads.v16.common.KeywordInfo keywords = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The lead form asset recommendation. + message LeadFormAssetRecommendation {} + + // The improve Demand Gen ad strength recommendation. + message ImproveDemandGenAdStrengthRecommendation { + // Output only. The resource name of the ad that can be improved. + string ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current ad strength. + google.ads.googleads.v16.enums.AdStrengthEnum.AdStrength ad_strength = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of recommendations to improve the ad strength. + repeated string demand_gen_asset_action_items = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the recommendation. + // + // `customers/{customer_id}/recommendations/{recommendation_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Recommendation" + } + ]; + + // Output only. The type of recommendation. + google.ads.googleads.v16.enums.RecommendationTypeEnum.RecommendationType + type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The impact on account performance as a result of applying the + // recommendation. + RecommendationImpact impact = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The budget targeted by this recommendation. This will be set + // only when the recommendation affects a single campaign budget. + // + // This field will be set for the following recommendation types: + // CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET, + // MOVE_UNUSED_BUDGET + optional string campaign_budget = 24 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; + + // Output only. The campaign targeted by this recommendation. + // + // This field will be set for the following recommendation types: + // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, + // USE_BROAD_MATCH_KEYWORD, KEYWORD, KEYWORD_MATCH_TYPE, + // UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX, MAXIMIZE_CLICKS_OPT_IN, + // MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, + // RESPONSIVE_SEARCH_AD, + // RESPONSIVE_SEARCH_AD_ASSET, + // SEARCH_PARTNERS_OPT_IN, DISPLAY_EXPANSION_OPT_IN, SITELINK_EXTENSION, + // TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD, + // UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX, + // RAISE_TARGET_CPA_BID_TOO_LOW, FORECASTING_SET_TARGET_ROAS, + // SHOPPING_ADD_AGE_GROUP, SHOPPING_ADD_COLOR, SHOPPING_ADD_GENDER, + // SHOPPING_ADD_SIZE, SHOPPING_ADD_GTIN, SHOPPING_ADD_MORE_IDENTIFIERS, + // SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN, SHOPPING_FIX_DISAPPROVED_PRODUCTS, + // SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX, + // DYNAMIC_IMAGE_EXTENSION_OPT_IN, RAISE_TARGET_CPA, LOWER_TARGET_ROAS, + // FORECASTING_SET_TARGET_CPA, + // SET_TARGET_CPA, SET_TARGET_ROAS, MAXIMIZE_CONVERSION_VALUE_OPT_IN, + // IMPROVE_GOOGLE_TAG_COVERAGE, PERFORMANCE_MAX_FINAL_URL_OPT_IN + optional string campaign = 25 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The ad group targeted by this recommendation. This will be set + // only when the recommendation affects a single ad group. + // + // This field will be set for the following recommendation types: + // KEYWORD, OPTIMIZE_AD_ROTATION, RESPONSIVE_SEARCH_AD, + // RESPONSIVE_SEARCH_AD_ASSET, TEXT_AD + optional string ad_group = 26 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Whether the recommendation is dismissed or not. + optional bool dismissed = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The campaigns targeted by this recommendation. + // + // This field will be set for the following recommendation types: + // CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, + // MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET + repeated string campaigns = 38 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The details of recommendation. + oneof recommendation { + // Output only. The campaign budget recommendation. + CampaignBudgetRecommendation campaign_budget_recommendation = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The forecasting campaign budget recommendation. + CampaignBudgetRecommendation forecasting_campaign_budget_recommendation = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The keyword recommendation. + KeywordRecommendation keyword_recommendation = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Add expanded text ad recommendation. + TextAdRecommendation text_ad_recommendation = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The TargetCPA opt-in recommendation. + TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The MaximizeConversions Opt-In recommendation. + MaximizeConversionsOptInRecommendation + maximize_conversions_opt_in_recommendation = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Enhanced Cost-Per-Click Opt-In recommendation. + EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Search Partners Opt-In recommendation. + SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The MaximizeClicks Opt-In recommendation. + MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Optimize Ad Rotation recommendation. + OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The keyword match type recommendation. + KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The move unused budget recommendation. + MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Target ROAS opt-in recommendation. + TargetRoasOptInRecommendation target_roas_opt_in_recommendation = 23 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The add responsive search ad recommendation. + ResponsiveSearchAdRecommendation responsive_search_ad_recommendation = 28 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The marginal ROI campaign budget recommendation. + CampaignBudgetRecommendation marginal_roi_campaign_budget_recommendation = + 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The use broad match keyword recommendation. + UseBroadMatchKeywordRecommendation use_broad_match_keyword_recommendation = + 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The responsive search ad asset recommendation. + ResponsiveSearchAdAssetRecommendation + responsive_search_ad_asset_recommendation = 31 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The upgrade a Smart Shopping campaign to a Performance Max + // campaign recommendation. + UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation + upgrade_smart_shopping_campaign_to_performance_max_recommendation = 32 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The responsive search ad improve ad strength recommendation. + ResponsiveSearchAdImproveAdStrengthRecommendation + responsive_search_ad_improve_ad_strength_recommendation = 33 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Display Expansion opt-in recommendation. + DisplayExpansionOptInRecommendation + display_expansion_opt_in_recommendation = 34 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The upgrade a Local campaign to a Performance Max campaign + // recommendation. + UpgradeLocalCampaignToPerformanceMaxRecommendation + upgrade_local_campaign_to_performance_max_recommendation = 35 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The raise target CPA bid too low recommendation. + RaiseTargetCpaBidTooLowRecommendation + raise_target_cpa_bid_too_low_recommendation = 36 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The forecasting set target ROAS recommendation. + ForecastingSetTargetRoasRecommendation + forecasting_set_target_roas_recommendation = 37 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The callout asset recommendation. + CalloutAssetRecommendation callout_asset_recommendation = 39 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The sitelink asset recommendation. + SitelinkAssetRecommendation sitelink_asset_recommendation = 40 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The call asset recommendation. + CallAssetRecommendation call_asset_recommendation = 41 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping add age group recommendation. + ShoppingOfferAttributeRecommendation shopping_add_age_group_recommendation = + 42 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping add color recommendation. + ShoppingOfferAttributeRecommendation shopping_add_color_recommendation = 43 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping add gender recommendation. + ShoppingOfferAttributeRecommendation shopping_add_gender_recommendation = 44 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping add GTIN recommendation. + ShoppingOfferAttributeRecommendation shopping_add_gtin_recommendation = 45 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping add more identifiers recommendation. + ShoppingOfferAttributeRecommendation + shopping_add_more_identifiers_recommendation = 46 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping add size recommendation. + ShoppingOfferAttributeRecommendation shopping_add_size_recommendation = 47 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping add products to campaign recommendation. + ShoppingAddProductsToCampaignRecommendation + shopping_add_products_to_campaign_recommendation = 48 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping fix disapproved products recommendation. + ShoppingFixDisapprovedProductsRecommendation + shopping_fix_disapproved_products_recommendation = 49 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping target all offers recommendation. + ShoppingTargetAllOffersRecommendation + shopping_target_all_offers_recommendation = 50 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping fix suspended Merchant Center account + // recommendation. + ShoppingMerchantCenterAccountSuspensionRecommendation + shopping_fix_suspended_merchant_center_account_recommendation = 51 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping fix Merchant Center account suspension warning + // recommendation. + ShoppingMerchantCenterAccountSuspensionRecommendation + shopping_fix_merchant_center_account_suspension_warning_recommendation = + 52 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The shopping migrate Regular Shopping Campaign offers to + // Performance Max recommendation. + ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation + shopping_migrate_regular_shopping_campaign_offers_to_performance_max_recommendation = + 53 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Recommendation to enable dynamic image extensions on the + // account, allowing Google to find the best images from ad landing pages + // and complement text ads. + DynamicImageExtensionOptInRecommendation + dynamic_image_extension_opt_in_recommendation = 54 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Recommendation to raise Target CPA. + RaiseTargetCpaRecommendation raise_target_cpa_recommendation = 55 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Recommendation to lower Target ROAS. + LowerTargetRoasRecommendation lower_target_roas_recommendation = 56 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Performance Max Opt In recommendation. + PerformanceMaxOptInRecommendation performance_max_opt_in_recommendation = 57 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The improve Performance Max ad strength recommendation. + ImprovePerformanceMaxAdStrengthRecommendation + improve_performance_max_ad_strength_recommendation = 58 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Dynamic Search Ads to Performance Max migration + // recommendation. + MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation + migrate_dynamic_search_ads_campaign_to_performance_max_recommendation = + 59 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The forecasting set target CPA recommendation. + ForecastingSetTargetCpaRecommendation + forecasting_set_target_cpa_recommendation = 60 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The set target CPA recommendation. + ForecastingSetTargetCpaRecommendation set_target_cpa_recommendation = 61 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The set target ROAS recommendation. + ForecastingSetTargetRoasRecommendation set_target_roas_recommendation = 62 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Maximize Conversion Value opt-in recommendation. + MaximizeConversionValueOptInRecommendation + maximize_conversion_value_opt_in_recommendation = 63 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Recommendation to deploy Google Tag on more pages. + ImproveGoogleTagCoverageRecommendation + improve_google_tag_coverage_recommendation = 64 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Recommendation to turn on Final URL expansion for your + // Performance Max campaigns. + PerformanceMaxFinalUrlOptInRecommendation + performance_max_final_url_opt_in_recommendation = 65 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The refresh customer list recommendation. + RefreshCustomerMatchListRecommendation + refresh_customer_match_list_recommendation = 66 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The custom audience opt in recommendation. + CustomAudienceOptInRecommendation custom_audience_opt_in_recommendation = 67 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The lead form asset recommendation. + LeadFormAssetRecommendation lead_form_asset_recommendation = 68 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The improve Demand Gen ad strength recommendation. + ImproveDemandGenAdStrengthRecommendation + improve_demand_gen_ad_strength_recommendation = 69 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/recommendation_subscription.proto b/third_party/googleapis/google/ads/googleads/v16/resources/recommendation_subscription.proto new file mode 100644 index 000000000..0b8ae3705 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/recommendation_subscription.proto @@ -0,0 +1,75 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/recommendation_subscription_status.proto"; +import "google/ads/googleads/v16/enums/recommendation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationSubscriptionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the RecommendationSubscription resource. + +// Recommendation Subscription resource +message RecommendationSubscription { + option (google.api.resource) = { + type: "googleads.googleapis.com/RecommendationSubscription" + pattern: "customers/{customer_id}/recommendationSubscriptions/{recommendation_type}" + }; + + // Immutable. The resource name of the recommendation subscription. + // + // `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/RecommendationSubscription" + } + ]; + + // Required. Immutable. The type of recommendation subscribed to. + google.ads.googleads.v16.enums.RecommendationTypeEnum.RecommendationType + type = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. Time in seconds when the subscription was first created. The + // datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" + // format. + optional string create_date_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Contains the time in microseconds, when the Recommendation + // Subscription was last updated. The datetime is in the customer's time zone + // and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + optional string modify_date_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Status of the subscription, either enabled or paused. + optional google.ads.googleads.v16.enums.RecommendationSubscriptionStatusEnum + .RecommendationSubscriptionStatus status = 5 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/remarketing_action.proto b/third_party/googleapis/google/ads/googleads/v16/resources/remarketing_action.proto new file mode 100644 index 000000000..903e8d9dc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/remarketing_action.proto @@ -0,0 +1,66 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Remarketing Action resource. + +// A remarketing action. A snippet of JavaScript code that will collect the +// product id and the type of page people visited (product page, shopping cart +// page, purchase page, general site visit) on an advertiser's website. +message RemarketingAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/RemarketingAction" + pattern: "customers/{customer_id}/remarketingActions/{remarketing_action_id}" + }; + + // Immutable. The resource name of the remarketing action. + // Remarketing action resource names have the form: + // + // `customers/{customer_id}/remarketingActions/{remarketing_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + } + ]; + + // Output only. Id of the remarketing action. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the remarketing action. + // + // This field is required and should not be empty when creating new + // remarketing actions. + optional string name = 6; + + // Output only. The snippets used for tracking remarketing actions. + repeated google.ads.googleads.v16.common.TagSnippet tag_snippets = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/search_term_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/search_term_view.proto new file mode 100644 index 000000000..6a932d7aa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/search_term_view.proto @@ -0,0 +1,69 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the SearchTermView resource. + +// A search term view with metrics aggregated by search term at the ad group +// level. +message SearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SearchTermView" + pattern: "customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{query}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ad group the search term served in. + optional string ad_group = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Indicates whether the search term is currently one of your + // targeted or excluded keywords. + google.ads.googleads.v16.enums.SearchTermTargetingStatusEnum + .SearchTermTargetingStatus status = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/shared_criterion.proto b/third_party/googleapis/google/ads/googleads/v16/resources/shared_criterion.proto new file mode 100644 index 000000000..990f1378e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/shared_criterion.proto @@ -0,0 +1,102 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the SharedCriterion resource. + +// A criterion belonging to a shared set. +message SharedCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedCriterion" + pattern: "customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}" + }; + + // Immutable. The resource name of the shared criterion. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + } + ]; + + // Immutable. The shared set to which the shared criterion belongs. + optional string shared_set = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v16.enums.CriterionTypeEnum.CriterionType type = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v16.common.KeywordInfo keyword = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v16.common.YouTubeVideoInfo youtube_video = 5 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v16.common.YouTubeChannelInfo youtube_channel = 6 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v16.common.PlacementInfo placement = 7 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile App Category. + google.ads.googleads.v16.common.MobileAppCategoryInfo mobile_app_category = + 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v16.common.MobileApplicationInfo mobile_application = 9 + [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Brand. + google.ads.googleads.v16.common.BrandInfo brand = 12 + [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/shared_set.proto b/third_party/googleapis/google/ads/googleads/v16/resources/shared_set.proto new file mode 100644 index 000000000..6b4c9f848 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/shared_set.proto @@ -0,0 +1,81 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/enums/shared_set_status.proto"; +import "google/ads/googleads/v16/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the SharedSet resource. + +// SharedSets are used for sharing criterion exclusions across multiple +// campaigns. +message SharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedSet" + pattern: "customers/{customer_id}/sharedSets/{shared_set_id}" + }; + + // Immutable. The resource name of the shared set. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of this shared set. Read only. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of this shared set: each shared set holds only a single + // kind of resource. Required. Immutable. + google.ads.googleads.v16.enums.SharedSetTypeEnum.SharedSetType type = 3 + [(google.api.field_behavior) = IMMUTABLE]; + + // The name of this shared set. Required. + // Shared Sets must have names that are unique among active shared sets of + // the same type. + // The length of this string should be between 1 and 255 UTF-8 bytes, + // inclusive. + optional string name = 9; + + // Output only. The status of this shared set. Read only. + google.ads.googleads.v16.enums.SharedSetStatusEnum.SharedSetStatus status = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of shared criteria within this shared set. Read + // only. + optional int64 member_count = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of campaigns associated with this shared set. Read + // only. + optional int64 reference_count = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/shopping_performance_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/shopping_performance_view.proto new file mode 100644 index 000000000..cbefc6bbd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/shopping_performance_view.proto @@ -0,0 +1,54 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the ShoppingPerformanceView resource. + +// Shopping performance view. +// Provides Shopping campaign statistics aggregated at several product dimension +// levels. Product dimension values from Merchant Center such as brand, +// category, custom attributes, product condition and product type will reflect +// the state of each dimension as of the date and time when the corresponding +// event was recorded. +message ShoppingPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + pattern: "customers/{customer_id}/shoppingPerformanceView" + }; + + // Output only. The resource name of the Shopping performance view. + // Shopping performance view resource names have the form: + // `customers/{customer_id}/shoppingPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/smart_campaign_search_term_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/smart_campaign_search_term_view.proto new file mode 100644 index 000000000..34eb8f595 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/smart_campaign_search_term_view.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the SmartCampaignSearchTermView resource. + +// A Smart campaign search term view. +message SmartCampaignSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + pattern: "customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{query}" + }; + + // Output only. The resource name of the Smart campaign search term view. + // Smart campaign search term view resource names have the form: + // + // `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + } + ]; + + // Output only. The search term. + string search_term = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Smart campaign the search term served in. + string campaign = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/smart_campaign_setting.proto b/third_party/googleapis/google/ads/googleads/v16/resources/smart_campaign_setting.proto new file mode 100644 index 000000000..efb8f8be4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/smart_campaign_setting.proto @@ -0,0 +1,112 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Smart campaign setting resource. + +// Settings for configuring Smart campaigns. +message SmartCampaignSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + pattern: "customers/{customer_id}/smartCampaignSettings/{campaign_id}" + }; + + // Phone number and country code in smart campaign settings. + message PhoneNumber { + // Phone number of the smart campaign. + optional string phone_number = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. + optional string country_code = 2; + } + + // Settings for configuring a business profile optimized for ads as this + // campaign's landing page. + message AdOptimizedBusinessProfileSetting { + // Enabling a lead form on your business profile enables prospective + // customers to contact your business by filling out a simple form, + // and you'll receive their information through email. + optional bool include_lead_form = 1; + } + + // Immutable. The resource name of the Smart campaign setting. + // Smart campaign setting resource names have the form: + // + // `customers/{customer_id}/smartCampaignSettings/{campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + } + ]; + + // Output only. The campaign to which these settings apply. + string campaign = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Phone number and country code. + PhoneNumber phone_number = 3; + + // The language code to advertise in from the set of + // [supported language codes] + // (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages). + string advertising_language_code = 7; + + // The landing page of this campaign. + oneof landing_page { + // The user-provided landing page URL for this Campaign. + string final_url = 8; + + // Settings for configuring a business profile optimized for ads as this + // campaign's landing page. This campaign must be linked to a business + // profile to use this option. For more information on this feature, + // consult https://support.google.com/google-ads/answer/9827068. + AdOptimizedBusinessProfileSetting ad_optimized_business_profile_setting = 9; + } + + // The business setting of this campaign. + oneof business_setting { + // The name of the business. + string business_name = 5; + + // The resource name of a Business Profile location. + // Business Profile location resource names can be fetched through the + // Business Profile API and adhere to the following format: + // `locations/{locationId}`. + // + // See the [Business Profile API] + // (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) + // for additional details. + string business_profile_location = 10; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/third_party_app_analytics_link.proto b/third_party/googleapis/google/ads/googleads/v16/resources/third_party_app_analytics_link.proto new file mode 100644 index 000000000..10aae81ec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/third_party_app_analytics_link.proto @@ -0,0 +1,55 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// A data sharing connection, allowing the import of third party app analytics +// into a Google Ads Customer. +message ThirdPartyAppAnalyticsLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + pattern: "customers/{customer_id}/thirdPartyAppAnalyticsLinks/{customer_link_id}" + }; + + // Immutable. The resource name of the third party app analytics link. + // Third party app analytics link resource names have the form: + // + // `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + } + ]; + + // Output only. The shareable link ID that should be provided to the third + // party when setting up app analytics. This is able to be regenerated using + // regenerate method in the ThirdPartyAppAnalyticsLinkService. + optional string shareable_link_id = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/topic_constant.proto b/third_party/googleapis/google/ads/googleads/v16/resources/topic_constant.proto new file mode 100644 index 000000000..dac8b9abd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/topic_constant.proto @@ -0,0 +1,70 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the Topic Constant resource. + +// Use topics to target or exclude placements in the Google Display Network +// based on the category into which the placement falls (for example, +// "Pets & Animals/Pets/Dogs"). +message TopicConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/TopicConstant" + pattern: "topicConstants/{topic_id}" + }; + + // Output only. The resource name of the topic constant. + // topic constant resource names have the form: + // + // `topicConstants/{topic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; + + // Output only. The ID of the topic. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of parent of the topic constant. + optional string topic_constant_parent = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; + + // Output only. The category to target or exclude. Each subsequent element in + // the array describes a more specific sub-category. For example, + // {"Pets & Animals", "Pets", "Dogs"} represents the + // "Pets & Animals/Pets/Dogs" category. List of available topic categories at + // https://developers.google.com/google-ads/api/reference/data/verticals + repeated string path = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/topic_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/topic_view.proto new file mode 100644 index 000000000..e41b50d7f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/topic_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the topic view resource. + +// A topic view. +message TopicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/TopicView" + pattern: "customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the topic view. + // Topic view resource names have the form: + // + // `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/travel_activity_group_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/travel_activity_group_view.proto new file mode 100644 index 000000000..ae8f19bc3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/travel_activity_group_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TravelActivityGroupViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the travel activity group view resource. + +// A travel activity group view. +message TravelActivityGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/TravelActivityGroupView" + pattern: "customers/{customer_id}/travelActivityGroupViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the travel activity group view. + // Travel Activity Group view resource names have the form: + // + // `customers/{customer_id}/travelActivityGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TravelActivityGroupView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/travel_activity_performance_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/travel_activity_performance_view.proto new file mode 100644 index 000000000..1984a846b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/travel_activity_performance_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TravelActivityPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the travel activity performance view resource. + +// A travel activity performance view. +message TravelActivityPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/TravelActivityPerformanceView" + pattern: "customers/{customer_id}/travelActivityPerformanceViews" + }; + + // Output only. The resource name of the travel activity performance view. + // Travel Activity performance view resource names have the form: + // + // `customers/{customer_id}/travelActivityPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TravelActivityPerformanceView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/user_interest.proto b/third_party/googleapis/google/ads/googleads/v16/resources/user_interest.proto new file mode 100644 index 000000000..1320a5547 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/user_interest.proto @@ -0,0 +1,81 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/criterion_category_availability.proto"; +import "google/ads/googleads/v16/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the User Interest resource. + +// A user interest: a particular interest-based vertical to be targeted. +message UserInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserInterest" + pattern: "customers/{customer_id}/userInterests/{user_interest_id}" + }; + + // Output only. The resource name of the user interest. + // User interest resource names have the form: + // + // `customers/{customer_id}/userInterests/{user_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. Taxonomy type of the user interest. + google.ads.googleads.v16.enums.UserInterestTaxonomyTypeEnum + .UserInterestTaxonomyType taxonomy_type = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the user interest. + optional int64 user_interest_id = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the user interest. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the user interest. + optional string user_interest_parent = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. True if the user interest is launched to all channels and + // locales. + optional bool launched_to_all = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the user interest. + repeated google.ads.googleads.v16.common.CriterionCategoryAvailability + availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/user_list.proto b/third_party/googleapis/google/ads/googleads/v16/resources/user_list.proto new file mode 100644 index 000000000..fe2f7f8d9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/user_list.proto @@ -0,0 +1,196 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/ads/googleads/v16/common/user_lists.proto"; +import "google/ads/googleads/v16/enums/access_reason.proto"; +import "google/ads/googleads/v16/enums/user_list_access_status.proto"; +import "google/ads/googleads/v16/enums/user_list_closing_reason.proto"; +import "google/ads/googleads/v16/enums/user_list_membership_status.proto"; +import "google/ads/googleads/v16/enums/user_list_size_range.proto"; +import "google/ads/googleads/v16/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the User List resource. + +// A user list. This is a list of users a customer may target. +message UserList { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserList" + pattern: "customers/{customer_id}/userLists/{user_list_id}" + }; + + // Immutable. The resource name of the user list. + // User list resource names have the form: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. Id of the user list. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An option that indicates if a user may edit a list. Depends on + // the list ownership and list type. For example, external remarketing user + // lists are not editable. + // + // This field is read-only. + optional bool read_only = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of this user list. Depending on its access_reason, the user list name + // may not be unique (for example, if access_reason=SHARED) + optional string name = 27; + + // Description of this user list. + optional string description = 28; + + // Membership status of this user list. Indicates whether a user list is open + // or active. Only open user lists can accumulate more users and can be + // targeted to. + google.ads.googleads.v16.enums.UserListMembershipStatusEnum + .UserListMembershipStatus membership_status = 6; + + // An ID from external system. It is used by user list sellers to correlate + // IDs on their systems. + optional string integration_code = 29; + + // Number of days a user's cookie stays on your list since its most recent + // addition to the list. This field must be between 0 and 540 inclusive. + // However, for CRM based userlists, this field can be set to 10000 which + // means no expiration. + // + // This field is ignored for logical_user_list and rule_based_user_list types. + // Membership to lists of these types depends on the rules defined by the + // lists. + optional int64 membership_life_span = 30; + + // Output only. Estimated number of users in this user list, on the Google + // Display Network. This value is null if the number of users has not yet been + // determined. + // + // This field is read-only. + optional int64 size_for_display = 31 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Size range in terms of number of users of the UserList, on the + // Google Display Network. + // + // This field is read-only. + google.ads.googleads.v16.enums.UserListSizeRangeEnum.UserListSizeRange + size_range_for_display = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimated number of users in this user list in the google.com + // domain. These are the users available for targeting in Search campaigns. + // This value is null if the number of users has not yet been determined. + // + // This field is read-only. + optional int64 size_for_search = 32 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Size range in terms of number of users of the UserList, for + // Search ads. + // + // This field is read-only. + google.ads.googleads.v16.enums.UserListSizeRangeEnum.UserListSizeRange + size_range_for_search = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of this list. + // + // This field is read-only. + google.ads.googleads.v16.enums.UserListTypeEnum.UserListType type = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicating the reason why this user list membership status is closed. It is + // only populated on lists that were automatically closed due to inactivity, + // and will be cleared once the list membership status becomes open. + google.ads.googleads.v16.enums.UserListClosingReasonEnum.UserListClosingReason + closing_reason = 14; + + // Output only. Indicates the reason this account has been granted access to + // the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. + // + // This field is read-only. + google.ads.googleads.v16.enums.AccessReasonEnum.AccessReason access_reason = + 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicates if this share is still enabled. When a UserList is shared with + // the user this field is set to ENABLED. Later the userList owner can decide + // to revoke the share and make it DISABLED. + // The default value of this field is set to ENABLED. + google.ads.googleads.v16.enums.UserListAccessStatusEnum.UserListAccessStatus + account_user_list_status = 16; + + // Indicates if this user list is eligible for Google Search Network. + optional bool eligible_for_search = 33; + + // Output only. Indicates this user list is eligible for Google Display + // Network. + // + // This field is read-only. + optional bool eligible_for_display = 34 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates match rate for Customer Match lists. The range of + // this field is [0-100]. This will be null for other list types or when it's + // not possible to calculate the match rate. + // + // This field is read-only. + optional int32 match_rate_percentage = 24 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The user list. + // + // Exactly one must be set. + oneof user_list { + // User list of CRM users provided by the advertiser. + google.ads.googleads.v16.common.CrmBasedUserListInfo crm_based_user_list = + 19; + + // Output only. User list which are similar to users from another UserList. + // These lists are readonly and automatically created by google. + google.ads.googleads.v16.common.SimilarUserListInfo similar_user_list = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User list generated by a rule. + google.ads.googleads.v16.common.RuleBasedUserListInfo rule_based_user_list = + 21; + + // User list that is a custom combination of user lists and user interests. + google.ads.googleads.v16.common.LogicalUserListInfo logical_user_list = 22; + + // User list targeting as a collection of conversion or remarketing actions. + google.ads.googleads.v16.common.BasicUserListInfo basic_user_list = 23; + + // Immutable. Lookalike User List. + google.ads.googleads.v16.common.LookalikeUserListInfo lookalike_user_list = + 36 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/user_location_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/user_location_view.proto new file mode 100644 index 000000000..2fcb2872d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/user_location_view.proto @@ -0,0 +1,63 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the user location view resource. + +// A user location view. +// +// User Location View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at the actual physical location of +// the user by targeted or not targeted location. If other segment fields are +// used, you may get more than one row per country. +message UserLocationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserLocationView" + pattern: "customers/{customer_id}/userLocationViews/{country_criterion_id}~{is_targeting_location}" + }; + + // Output only. The resource name of the user location view. + // UserLocation view resource names have the form: + // + // `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserLocationView" + } + ]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether location was targeted or not. + optional bool targeting_location = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/video.proto b/third_party/googleapis/google/ads/googleads/v16/resources/video.proto new file mode 100644 index 000000000..a84b1668b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/video.proto @@ -0,0 +1,61 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VideoProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the video resource. + +// A video. +message Video { + option (google.api.resource) = { + type: "googleads.googleapis.com/Video" + pattern: "customers/{customer_id}/videos/{video_id}" + }; + + // Output only. The resource name of the video. + // Video resource names have the form: + // + // `customers/{customer_id}/videos/{video_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Video" } + ]; + + // Output only. The ID of the video. + optional string id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The owner channel id of the video. + optional string channel_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The duration of the video in milliseconds. + optional int64 duration_millis = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The title of the video. + optional string title = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/resources/webpage_view.proto b/third_party/googleapis/google/ads/googleads/v16/resources/webpage_view.proto new file mode 100644 index 000000000..8093c0bc0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/resources/webpage_view.proto @@ -0,0 +1,50 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.googleads.v16.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; + +// Proto file describing the webpage view resource. + +// A webpage view. +message WebpageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/WebpageView" + pattern: "customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the webpage view. + // Webpage view resource names have the form: + // + // `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/WebpageView" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/BUILD.bazel b/third_party/googleapis/google/ads/googleads/v16/services/BUILD.bazel new file mode 100644 index 000000000..6f3a7ac18 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/BUILD.bazel @@ -0,0 +1,138 @@ +# 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 +# +# https://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. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "services_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v16/common:common_proto", + "//google/ads/googleads/v16/enums:enums_proto", + "//google/ads/googleads/v16/errors:errors_proto", + "//google/ads/googleads/v16/resources:resources_proto", + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "services_proto_with_info", + deps = [ + ":services_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "services_java_proto", + deps = [":services_proto"], +) + +java_grpc_library( + name = "services_java_grpc", + srcs = [":services_proto"], + deps = [":services_java_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "services_csharp_proto", + deps = [":services_proto"], +) + +csharp_grpc_library( + name = "services_csharp_grpc", + srcs = [":services_proto"], + deps = [":services_csharp_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "services_ruby_proto", + deps = [":services_proto"], +) + +ruby_grpc_library( + name = "services_ruby_grpc", + srcs = [":services_proto"], + deps = [":services_ruby_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_grpc_library", + "py_proto_library", +) + +py_proto_library( + name = "services_py_proto", + deps = [":services_proto"], +) + +py_grpc_library( + name = "services_py_grpc", + srcs = [":services_proto"], + deps = [":services_py_proto"], +) diff --git a/third_party/googleapis/google/ads/googleads/v16/services/account_budget_proposal_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/account_budget_proposal_service.proto new file mode 100644 index 000000000..ca2ea7a5b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/account_budget_proposal_service.proto @@ -0,0 +1,135 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/account_budget_proposal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AccountBudgetProposal service. + +// A service for managing account-level budgets through proposals. +// +// A proposal is a request to create a new budget or make changes to an +// existing one. +// +// Mutates: +// The CREATE operation creates a new proposal. +// UPDATE operations aren't supported. +// The REMOVE operation cancels a pending proposal. +service AccountBudgetProposalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes account budget proposals. Operation statuses + // are returned. + // + // List of thrown errors: + // [AccountBudgetProposalError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateAccountBudgetProposal(MutateAccountBudgetProposalRequest) + returns (MutateAccountBudgetProposalResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/accountBudgetProposals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v16.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +message MutateAccountBudgetProposalRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual account-level budget + // proposal. + AccountBudgetProposalOperation operation = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation to propose the creation of a new account-level budget or +// edit/end/remove an existing one. +message AccountBudgetProposalOperation { + // FieldMask that determines which budget fields are modified. While budgets + // may be modified, proposals that propose such modifications are final. + // Therefore, update operations are not supported for proposals. + // + // Proposals that modify budgets have the 'update' proposal type. Specifying + // a mask for any other proposal type is considered an error. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: A new proposal to create a new budget, edit an + // existing budget, end an actively running budget, or remove an approved + // budget scheduled to start in the future. + // No resource name is expected for the new proposal. + google.ads.googleads.v16.resources.AccountBudgetProposal create = 2; + + // Remove operation: A resource name for the removed proposal is expected, + // in this format: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + // A request may be cancelled iff it is pending. + string remove = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + }]; + } +} + +// Response message for account-level budget mutate operations. +message MutateAccountBudgetProposalResponse { + // The result of the mutate. + MutateAccountBudgetProposalResult result = 2; +} + +// The result for the account budget proposal mutate. +message MutateAccountBudgetProposalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/account_link_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/account_link_service.proto new file mode 100644 index 000000000..598a9b358 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/account_link_service.proto @@ -0,0 +1,168 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/account_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// This service allows management of links between Google Ads accounts and other +// accounts. +service AccountLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an account link. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ThirdPartyAppAnalyticsLinkError]() + rpc CreateAccountLink(CreateAccountLinkRequest) + returns (CreateAccountLinkResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/accountLinks:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,account_link"; + } + + // Creates or removes an account link. + // From V5, create is not supported through + // AccountLinkService.MutateAccountLink. Use + // AccountLinkService.CreateAccountLink instead. + // + // List of thrown errors: + // [AccountLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAccountLink(MutateAccountLinkRequest) + returns (MutateAccountLinkResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/accountLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v16.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkRequest { + // Required. The ID of the customer for which the account link is created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The account link to be created. + google.ads.googleads.v16.resources.AccountLink account_link = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v16.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkResponse { + // Returned for successful operations. Resource name of the account link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; +} + +// Request message for +// [AccountLinkService.MutateAccountLink][google.ads.googleads.v16.services.AccountLinkService.MutateAccountLink]. +message MutateAccountLinkRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the link. + AccountLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single update on an account link. +message AccountLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The operation to perform. + oneof operation { + // Update operation: The account link is expected to have + // a valid resource name. + google.ads.googleads.v16.resources.AccountLink update = 2; + + // Remove operation: A resource name for the account link to remove is + // expected, in this format: + // + // `customers/{customer_id}/accountLinks/{account_link_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; + } +} + +// Response message for account link mutate. +message MutateAccountLinkResponse { + // Result for the mutate. + MutateAccountLinkResult result = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the account link mutate. +message MutateAccountLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_ad_label_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_ad_label_service.proto new file mode 100644 index 000000000..60d9ce5db --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_ad_label_service.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/ad_group_ad_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad Group Ad Label service. + +// Service to manage labels on ad group ads. +service AdGroupAdLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group ad labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAdLabels(MutateAdGroupAdLabelsRequest) + returns (MutateAdGroupAdLabelsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupAdLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v16.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +message MutateAdGroupAdLabelsRequest { + // Required. ID of the customer whose ad group ad labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group ad labels. + repeated AdGroupAdLabelOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group ad label. +message AdGroupAdLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group ad + // label. + google.ads.googleads.v16.resources.AdGroupAdLabel create = 1; + + // Remove operation: A resource name for the ad group ad label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + }]; + } +} + +// Response message for an ad group ad labels mutate. +message MutateAdGroupAdLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupAdLabelResult results = 2; +} + +// The result for an ad group ad label mutate. +message MutateAdGroupAdLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_ad_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_ad_service.proto new file mode 100644 index 000000000..d5fa3c4b9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_ad_service.proto @@ -0,0 +1,177 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad Group Ad service. + +// Service to manage ads in an ad group. +service AdGroupAdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ads. Operation statuses are returned. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdGroupAdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyValidationParameterError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupAds(MutateAdGroupAdsRequest) + returns (MutateAdGroupAdsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v16.services.AdGroupAdService.MutateAdGroupAds]. +message MutateAdGroupAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdGroupAdOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group ad. +message AdGroupAdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // Configuration for how policies are validated. + google.ads.googleads.v16.common.PolicyValidationParameter + policy_validation_parameter = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad. + google.ads.googleads.v16.resources.AdGroupAd create = 1; + + // Update operation: The ad is expected to have a valid resource name. + google.ads.googleads.v16.resources.AdGroupAd update = 2; + + // Remove operation: A resource name for the removed ad is expected, + // in this format: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + }]; + } +} + +// Response message for an ad group ad mutate. +message MutateAdGroupAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupAdResult results = 2; +} + +// The result for the ad mutate. +message MutateAdGroupAdResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + }]; + + // The mutated ad group ad with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupAd ad_group_ad = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_asset_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_asset_service.proto new file mode 100644 index 000000000..54b24e1cc --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_asset_service.proto @@ -0,0 +1,143 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AdGroupAsset service. + +// Service to manage ad group assets. +service AdGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAssets(MutateAdGroupAssetsRequest) + returns (MutateAdGroupAssetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v16.services.AdGroupAssetService.MutateAdGroupAssets]. +message MutateAdGroupAssetsRequest { + // Required. The ID of the customer whose ad group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group assets. + repeated AdGroupAssetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group asset. +message AdGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // asset. + google.ads.googleads.v16.resources.AdGroupAsset create = 1; + + // Update operation: The ad group asset is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.AdGroupAsset update = 3; + + // Remove operation: A resource name for the removed ad group asset is + // expected, in this format: + // + // `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + }]; + } +} + +// Response message for an ad group asset mutate. +message MutateAdGroupAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateAdGroupAssetResult results = 2; +} + +// The result for the ad group asset mutate. +message MutateAdGroupAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + }]; + + // The mutated ad group asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupAsset ad_group_asset = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_asset_set_service.proto new file mode 100644 index 000000000..c0c05d1e2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_asset_set_service.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AdGroupAssetSet service. + +// Service to manage ad group asset set +service AdGroupAssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, or removes ad group asset sets. Operation statuses are + // returned. + rpc MutateAdGroupAssetSets(MutateAdGroupAssetSetsRequest) + returns (MutateAdGroupAssetSetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupAssetSetService.MutateAdGroupAssetSets][google.ads.googleads.v16.services.AdGroupAssetSetService.MutateAdGroupAssetSets]. +message MutateAdGroupAssetSetsRequest { + // Required. The ID of the customer whose ad group asset sets are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group asset + // sets. + repeated AdGroupAssetSetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on an ad group asset set. +message AdGroupAssetSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group asset + // set. + google.ads.googleads.v16.resources.AdGroupAssetSet create = 1; + + // Remove operation: A resource name for the removed ad group asset set is + // expected, in this format: + // `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAssetSet" + }]; + } +} + +// Response message for an ad group asset set mutate. +message MutateAdGroupAssetSetsResponse { + // All results for the mutate. + repeated MutateAdGroupAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group asset set mutate. +message MutateAdGroupAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAssetSet" + }]; + + // The mutated ad group asset set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupAssetSet ad_group_asset_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_bid_modifier_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_bid_modifier_service.proto new file mode 100644 index 000000000..1b9ba21e1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_bid_modifier_service.proto @@ -0,0 +1,158 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad Group Bid Modifier service. + +// Service to manage ad group bid modifiers. +service AdGroupBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupBidModifierError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupBidModifiers(MutateAdGroupBidModifiersRequest) + returns (MutateAdGroupBidModifiersResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v16.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +message MutateAdGroupBidModifiersRequest { + // Required. ID of the customer whose ad group bid modifiers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group bid + // modifiers. + repeated AdGroupBidModifierOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group bid modifier. +message AdGroupBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group bid + // modifier. + google.ads.googleads.v16.resources.AdGroupBidModifier create = 1; + + // Update operation: The ad group bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.AdGroupBidModifier update = 2; + + // Remove operation: A resource name for the removed ad group bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + }]; + } +} + +// Response message for ad group bid modifiers mutate. +message MutateAdGroupBidModifiersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupBidModifierResult results = 2; +} + +// The result for the criterion mutate. +message MutateAdGroupBidModifierResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + }]; + + // The mutated ad group bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupBidModifier ad_group_bid_modifier = + 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_customizer_service.proto new file mode 100644 index 000000000..003638227 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_customizer_service.proto @@ -0,0 +1,126 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_criterion_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AdGroupCriterionCustomizer service. + +// Service to manage ad group criterion customizer +service AdGroupCriterionCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group criterion customizers. Operation + // statuses are returned. + rpc MutateAdGroupCriterionCustomizers( + MutateAdGroupCriterionCustomizersRequest) + returns (MutateAdGroupCriterionCustomizersResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v16.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +message MutateAdGroupCriterionCustomizersRequest { + // Required. The ID of the customer whose ad group criterion customizers are + // being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group + // criterion customizers. + repeated AdGroupCriterionCustomizerOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a customizer attribute. +message AdGroupCriterionCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // criterion customizer. + google.ads.googleads.v16.resources.AdGroupCriterionCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group criterion + // customizer is expected, in this format: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + }]; + } +} + +// Response message for an ad group criterion customizer mutate. +message MutateAdGroupCriterionCustomizersResponse { + // All results for the mutate. + repeated MutateAdGroupCriterionCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group criterion customizer mutate. +message MutateAdGroupCriterionCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + }]; + + // The mutated AdGroupCriterionCustomizer with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupCriterionCustomizer + ad_group_criterion_customizer = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_label_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_label_service.proto new file mode 100644 index 000000000..f0f464485 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_label_service.proto @@ -0,0 +1,122 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/ad_group_criterion_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad Group Criterion Label service. + +// Service to manage labels on ad group criteria. +service AdGroupCriterionLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group criterion labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupCriterionLabels(MutateAdGroupCriterionLabelsRequest) + returns (MutateAdGroupCriterionLabelsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupCriterionLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v16.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +message MutateAdGroupCriterionLabelsRequest { + // Required. ID of the customer whose ad group criterion labels are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group criterion labels. + repeated AdGroupCriterionLabelOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group criterion label. +message AdGroupCriterionLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v16.resources.AdGroupCriterionLabel create = 1; + + // Remove operation: A resource name for the ad group criterion label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + }]; + } +} + +// Response message for an ad group criterion labels mutate. +message MutateAdGroupCriterionLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupCriterionLabelResult results = 2; +} + +// The result for an ad group criterion label mutate. +message MutateAdGroupCriterionLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_service.proto new file mode 100644 index 000000000..7ef37f11d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_criterion_service.proto @@ -0,0 +1,176 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad Group Criterion service. + +// Service to manage ad group criteria. +service AdGroupCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupCriterionError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupCriteria(MutateAdGroupCriteriaRequest) + returns (MutateAdGroupCriteriaResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v16.services.AdGroupCriterionService.MutateAdGroupCriteria]. +message MutateAdGroupCriteriaRequest { + // Required. ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated AdGroupCriterionOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group criterion. +message AdGroupCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, refer to the is_exemptible field in the returned + // PolicyViolationError. + // + // Resources violating these polices will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated google.ads.googleads.v16.common.PolicyViolationKey + exempt_policy_violation_keys = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v16.resources.AdGroupCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.AdGroupCriterion update = 2; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + }]; + } +} + +// Response message for an ad group criterion mutate. +message MutateAdGroupCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupCriterionResult results = 2; +} + +// The result for the criterion mutate. +message MutateAdGroupCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + }]; + + // The mutated ad group criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupCriterion ad_group_criterion = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_customizer_service.proto new file mode 100644 index 000000000..d729b7fa8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_customizer_service.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AdGroupCustomizer service. + +// Service to manage ad group customizer +service AdGroupCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group customizers. Operation statuses are + // returned. + rpc MutateAdGroupCustomizers(MutateAdGroupCustomizersRequest) + returns (MutateAdGroupCustomizersResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v16.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +message MutateAdGroupCustomizersRequest { + // Required. The ID of the customer whose ad group customizers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group + // customizers. + repeated AdGroupCustomizerOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a customizer attribute. +message AdGroupCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // customizer + google.ads.googleads.v16.resources.AdGroupCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group customizer is + // expected, in this format: + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + }]; + } +} + +// Response message for an ad group customizer mutate. +message MutateAdGroupCustomizersResponse { + // All results for the mutate. + repeated MutateAdGroupCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group customizer mutate. +message MutateAdGroupCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + }]; + + // The mutated AdGroupCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupCustomizer ad_group_customizer = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_extension_setting_service.proto new file mode 100644 index 000000000..460fd67eb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_extension_setting_service.proto @@ -0,0 +1,163 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AdGroupExtensionSetting service. + +// Service to manage ad group extension settings. +service AdGroupExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupExtensionSettings(MutateAdGroupExtensionSettingsRequest) + returns (MutateAdGroupExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v16.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +message MutateAdGroupExtensionSettingsRequest { + // Required. The ID of the customer whose ad group extension settings are + // being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group + // extension settings. + repeated AdGroupExtensionSettingOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on an ad group extension setting. +message AdGroupExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // extension setting. + google.ads.googleads.v16.resources.AdGroupExtensionSetting create = 1; + + // Update operation: The ad group extension setting is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.AdGroupExtensionSetting update = 2; + + // Remove operation: A resource name for the removed ad group extension + // setting is expected, in this format: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + }]; + } +} + +// Response message for an ad group extension setting mutate. +message MutateAdGroupExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupExtensionSettingResult results = 2; +} + +// The result for the ad group extension setting mutate. +message MutateAdGroupExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + }]; + + // The mutated AdGroupExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupExtensionSetting + ad_group_extension_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_feed_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_feed_service.proto new file mode 100644 index 000000000..b9d6242ee --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_feed_service.proto @@ -0,0 +1,153 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AdGroupFeed service. + +// Service to manage ad group feeds. +service AdGroupFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdGroupFeedError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupFeeds(MutateAdGroupFeedsRequest) + returns (MutateAdGroupFeedsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v16.services.AdGroupFeedService.MutateAdGroupFeeds]. +message MutateAdGroupFeedsRequest { + // Required. The ID of the customer whose ad group feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group feeds. + repeated AdGroupFeedOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group feed. +message AdGroupFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group feed. + google.ads.googleads.v16.resources.AdGroupFeed create = 1; + + // Update operation: The ad group feed is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.AdGroupFeed update = 2; + + // Remove operation: A resource name for the removed ad group feed is + // expected, in this format: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + }]; + } +} + +// Response message for an ad group feed mutate. +message MutateAdGroupFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupFeedResult results = 2; +} + +// The result for the ad group feed mutate. +message MutateAdGroupFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + }]; + + // The mutated ad group feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroupFeed ad_group_feed = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_label_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_label_service.proto new file mode 100644 index 000000000..576242f80 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_label_service.proto @@ -0,0 +1,124 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/ad_group_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad Group Label service. + +// Service to manage labels on ad groups. +service AdGroupLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupLabels(MutateAdGroupLabelsRequest) + returns (MutateAdGroupLabelsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroupLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v16.services.AdGroupLabelService.MutateAdGroupLabels]. +message MutateAdGroupLabelsRequest { + // Required. ID of the customer whose ad group labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group labels. + repeated AdGroupLabelOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group label. +message AdGroupLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v16.resources.AdGroupLabel create = 1; + + // Remove operation: A resource name for the ad group label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + }]; + } +} + +// Response message for an ad group labels mutate. +message MutateAdGroupLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupLabelResult results = 2; +} + +// The result for an ad group label mutate. +message MutateAdGroupLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_group_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_service.proto new file mode 100644 index 000000000..9a9f8a788 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_group_service.proto @@ -0,0 +1,158 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad Group service. + +// Service to manage ad groups. +service AdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad groups. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroups(MutateAdGroupsRequest) returns (MutateAdGroupsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupService.MutateAdGroups][google.ads.googleads.v16.services.AdGroupService.MutateAdGroups]. +message MutateAdGroupsRequest { + // Required. The ID of the customer whose ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad groups. + repeated AdGroupOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group. +message AdGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group. + google.ads.googleads.v16.resources.AdGroup create = 1; + + // Update operation: The ad group is expected to have a valid resource name. + google.ads.googleads.v16.resources.AdGroup update = 2; + + // Remove operation: A resource name for the removed ad group is expected, + // in this format: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + } +} + +// Response message for an ad group mutate. +message MutateAdGroupsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupResult results = 2; +} + +// The result for the ad group mutate. +message MutateAdGroupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + + // The mutated ad group with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdGroup ad_group = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_parameter_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_parameter_service.proto new file mode 100644 index 000000000..15f12e5fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_parameter_service.proto @@ -0,0 +1,143 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad_parameter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad Parameter service. + +// Service to manage ad parameters. +service AdParameterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad parameters. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdParameterError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdParameters(MutateAdParametersRequest) + returns (MutateAdParametersResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/adParameters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdParameterService.MutateAdParameters][google.ads.googleads.v16.services.AdParameterService.MutateAdParameters] +message MutateAdParametersRequest { + // Required. The ID of the customer whose ad parameters are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad parameters. + repeated AdParameterOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on ad parameter. +message AdParameterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad parameter. + google.ads.googleads.v16.resources.AdParameter create = 1; + + // Update operation: The ad parameter is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.AdParameter update = 2; + + // Remove operation: A resource name for the ad parameter to remove is + // expected in this format: + // + // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + }]; + } +} + +// Response message for an ad parameter mutate. +message MutateAdParametersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdParameterResult results = 2; +} + +// The result for the ad parameter mutate. +message MutateAdParameterResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + }]; + + // The mutated AdParameter with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AdParameter ad_parameter = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/ad_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/ad_service.proto new file mode 100644 index 000000000..f849b2175 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/ad_service.proto @@ -0,0 +1,188 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Ad service. + +// Service to manage ads. +service AdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v16.resources.Ad) { + option (google.api.http) = { + get: "/v16/{resource_name=customers/*/ads/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates ads. Operation statuses are returned. Updating ads is not supported + // for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAds(MutateAdsRequest) returns (MutateAdsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/ads:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdService.GetAd][google.ads.googleads.v16.services.AdService.GetAd]. +message GetAdRequest { + // Required. The resource name of the ad to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "googleads.googleapis.com/Ad" } + ]; +} + +// Request message for +// [AdService.MutateAds][google.ads.googleads.v16.services.AdService.MutateAds]. +message MutateAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single update operation on an ad. +message AdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // Configuration for how policies are validated. + google.ads.googleads.v16.common.PolicyValidationParameter + policy_validation_parameter = 3; + + // The mutate operation. + oneof operation { + // Update operation: The ad is expected to have a valid resource name + // in this format: + // + // `customers/{customer_id}/ads/{ad_id}` + google.ads.googleads.v16.resources.Ad update = 1; + } +} + +// Response message for an ad mutate. +message MutateAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdResult results = 2; +} + +// The result for the ad mutate. +message MutateAdResult { + // The resource name returned for successful operations. + string resource_name = 1 [ + (google.api.resource_reference) = { type: "googleads.googleapis.com/Ad" } + ]; + + // The mutated ad with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.Ad ad = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/asset_group_asset_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/asset_group_asset_service.proto new file mode 100644 index 000000000..cbd03bbdb --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/asset_group_asset_service.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/asset_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AssetGroupAsset service. + +// Service to manage asset group asset. +service AssetGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group assets. Operation statuses are + // returned. + rpc MutateAssetGroupAssets(MutateAssetGroupAssetsRequest) + returns (MutateAssetGroupAssetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/assetGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v16.services.AssetGroupAssetService.MutateAssetGroupAssets]. +message MutateAssetGroupAssetsRequest { + // Required. The ID of the customer whose asset group assets are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group + // assets. + repeated AssetGroupAssetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group asset. +message AssetGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // asset. + google.ads.googleads.v16.resources.AssetGroupAsset create = 1; + + // Update operation: The asset group asset is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.AssetGroupAsset update = 2; + + // Remove operation: A resource name for the removed asset group asset is + // expected, in this format: + // `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupAsset" + }]; + } +} + +// Response message for an asset group asset mutate. +message MutateAssetGroupAssetsResponse { + // All results for the mutate. + repeated MutateAssetGroupAssetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset group asset mutate. +message MutateAssetGroupAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupAsset" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/asset_group_listing_group_filter_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/asset_group_listing_group_filter_service.proto new file mode 100644 index 000000000..694b48515 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/asset_group_listing_group_filter_service.proto @@ -0,0 +1,125 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/asset_group_listing_group_filter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AssetGroupListingGroupFilter service. + +// Service to manage asset group listing group filter. +service AssetGroupListingGroupFilterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group listing group filters. Operation + // statuses are returned. + rpc MutateAssetGroupListingGroupFilters( + MutateAssetGroupListingGroupFiltersRequest) + returns (MutateAssetGroupListingGroupFiltersResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v16.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +// partial_failure is not supported because the tree needs to be validated +// together. +message MutateAssetGroupListingGroupFiltersRequest { + // Required. The ID of the customer whose asset group listing group filters + // are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group + // listing group filters. + repeated AssetGroupListingGroupFilterOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +} + +// A single operation (create, remove) on an asset group listing group filter. +message AssetGroupListingGroupFilterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // listing group filter. + google.ads.googleads.v16.resources.AssetGroupListingGroupFilter create = 1; + + // Update operation: The asset group listing group filter is expected to + // have a valid resource name. + google.ads.googleads.v16.resources.AssetGroupListingGroupFilter update = 2; + + // Remove operation: A resource name for the removed asset group listing + // group filter is expected, in this format: + // `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` + // An entity can be removed only if it's not referenced by other + // parent_listing_group_id. If multiple entities are being deleted, the + // mutates must be in the correct order. + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + }]; + } +} + +// Response message for an asset group listing group filter mutate. +message MutateAssetGroupListingGroupFiltersResponse { + // All results for the mutate. + repeated MutateAssetGroupListingGroupFilterResult results = 1; +} + +// The result for the asset group listing group filter mutate. +message MutateAssetGroupListingGroupFilterResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + }]; + + // The mutated AssetGroupListingGroupFilter with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AssetGroupListingGroupFilter + asset_group_listing_group_filter = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/asset_group_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/asset_group_service.proto new file mode 100644 index 000000000..aaff166da --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/asset_group_service.proto @@ -0,0 +1,111 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/asset_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AssetGroup service. + +// Service to manage asset group +service AssetGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset groups. Operation statuses are + // returned. + rpc MutateAssetGroups(MutateAssetGroupsRequest) + returns (MutateAssetGroupsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/assetGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupService.MutateAssetGroups][google.ads.googleads.v16.services.AssetGroupService.MutateAssetGroups]. +message MutateAssetGroupsRequest { + // Required. The ID of the customer whose asset groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset groups. + repeated AssetGroupOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group. +message AssetGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + google.ads.googleads.v16.resources.AssetGroup create = 1; + + // Update operation: The asset group is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.AssetGroup update = 2; + + // Remove operation: A resource name for the removed asset group is + // expected, in this format: + // `customers/{customer_id}/assetGroups/{asset_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + }]; + } +} + +// Response message for an asset group mutate. +message MutateAssetGroupsResponse { + // All results for the mutate. + repeated MutateAssetGroupResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset group mutate. +message MutateAssetGroupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/asset_group_signal_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/asset_group_signal_service.proto new file mode 100644 index 000000000..549afc417 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/asset_group_signal_service.proto @@ -0,0 +1,135 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/policy.proto"; +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/asset_group_signal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AssetGroupSignal service. + +// Service to manage asset group signal. +service AssetGroupSignalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes asset group signals. Operation statuses are + // returned. + rpc MutateAssetGroupSignals(MutateAssetGroupSignalsRequest) + returns (MutateAssetGroupSignalsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/assetGroupSignals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupSignalService.MutateAssetGroupSignals][google.ads.googleads.v16.services.AssetGroupSignalService.MutateAssetGroupSignals]. +message MutateAssetGroupSignalsRequest { + // Required. The ID of the customer whose asset group signals are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group + // signals. + repeated AssetGroupSignalOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid operations + // will return errors. If false, all operations will be carried out in one + // transaction if and only if they are all valid. Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on an asset group signal. +message AssetGroupSignalOperation { + // Optional. The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, refer to the is_exemptible field in the returned + // PolicyViolationError. + // + // Resources violating these polices will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated google.ads.googleads.v16.common.PolicyViolationKey + exempt_policy_violation_keys = 3 [(google.api.field_behavior) = OPTIONAL]; + + // The mutate operation. Update is not supported. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // signal. + google.ads.googleads.v16.resources.AssetGroupSignal create = 1; + + // Remove operation: A resource name for the removed asset group signal is + // expected, in this format: + // `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupSignal" + }]; + } +} + +// Response message for an asset group signal mutate. +message MutateAssetGroupSignalsResponse { + // All results for the mutate. + repeated MutateAssetGroupSignalResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset group signal mutate. +message MutateAssetGroupSignalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupSignal" + }]; + + // The mutated AssetGroupSignal with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AssetGroupSignal asset_group_signal = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/asset_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/asset_service.proto new file mode 100644 index 000000000..65dd767a1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/asset_service.proto @@ -0,0 +1,154 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Asset service. + +// Service to manage assets. Asset types can be created with AssetService are +// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be +// created with Ad inline. +service AssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates assets. Operation statuses are returned. + // + // List of thrown errors: + // [AssetError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MediaUploadError]() + // [MutateError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + // [YoutubeVideoRegistrationError]() + rpc MutateAssets(MutateAssetsRequest) returns (MutateAssetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/assets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetService.MutateAssets][google.ads.googleads.v16.services.AssetService.MutateAssets] +message MutateAssetsRequest { + // Required. The ID of the customer whose assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual assets. + repeated AssetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation to create an asset. Supported asset types are +// YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, +// LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, +// but it can also be created apart from an Ad like other assets. +message AssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset. + google.ads.googleads.v16.resources.Asset create = 1; + + // Update operation: The asset is expected to have a valid resource name in + // this format: + // + // `customers/{customer_id}/assets/{asset_id}` + google.ads.googleads.v16.resources.Asset update = 2; + } +} + +// Response message for an asset mutate. +message MutateAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAssetResult results = 2; +} + +// The result for the asset mutate. +message MutateAssetResult { + // The resource name returned for successful operations. + string resource_name = 1 [ + (google.api.resource_reference) = { type: "googleads.googleapis.com/Asset" } + ]; + + // The mutated asset with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.Asset asset = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/asset_set_asset_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/asset_set_asset_service.proto new file mode 100644 index 000000000..32e21f095 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/asset_set_asset_service.proto @@ -0,0 +1,121 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/asset_set_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AssetSetAsset service. + +// Service to manage asset set asset. +service AssetSetAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset set assets. Operation statuses are + // returned. + rpc MutateAssetSetAssets(MutateAssetSetAssetsRequest) + returns (MutateAssetSetAssetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/assetSetAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v16.services.AssetSetAssetService.MutateAssetSetAssets]. +message MutateAssetSetAssetsRequest { + // Required. The ID of the customer whose asset set assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset set assets. + repeated AssetSetAssetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on an asset set asset. +message AssetSetAssetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + // asset + google.ads.googleads.v16.resources.AssetSetAsset create = 1; + + // Remove operation: A resource name for the removed asset set asset is + // expected, in this format: + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + }]; + } +} + +// Response message for an asset set asset mutate. +message MutateAssetSetAssetsResponse { + // All results for the mutate. + repeated MutateAssetSetAssetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset set asset mutate. +message MutateAssetSetAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + }]; + + // The mutated asset set asset with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AssetSetAsset asset_set_asset = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/asset_set_service.proto new file mode 100644 index 000000000..47ccd0a65 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/asset_set_service.proto @@ -0,0 +1,127 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the AssetSet service. + +// Service to manage asset set +service AssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset sets. Operation statuses are + // returned. + rpc MutateAssetSets(MutateAssetSetsRequest) + returns (MutateAssetSetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/assetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetSetService.MutateAssetSets][google.ads.googleads.v16.services.AssetSetService.MutateAssetSets]. +message MutateAssetSetsRequest { + // Required. The ID of the customer whose asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset sets. + repeated AssetSetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on an asset set. +message AssetSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + google.ads.googleads.v16.resources.AssetSet create = 1; + + // Update operation: The asset set is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.AssetSet update = 2; + + // Remove operation: A resource name for the removed asset set is + // expected, in this format: + // `customers/{customer_id}/assetSets/{asset_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + }]; + } +} + +// Response message for an asset set mutate. +message MutateAssetSetsResponse { + // All results for the mutate. + repeated MutateAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset set mutate. +message MutateAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + }]; + + // The mutated asset set with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.AssetSet asset_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/audience_insights_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/audience_insights_service.proto new file mode 100644 index 000000000..71dfa5c11 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/audience_insights_service.proto @@ -0,0 +1,619 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/common/dates.proto"; +import "google/ads/googleads/v16/enums/audience_insights_dimension.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the audience insights service. + +// Audience Insights Service helps users find information about groups of +// people and how they can be reached with Google Ads. Accessible to +// allowlisted customers only. +service AudienceInsightsService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a saved report that can be viewed in the Insights Finder tool. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc GenerateInsightsFinderReport(GenerateInsightsFinderReportRequest) + returns (GenerateInsightsFinderReportResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:generateInsightsFinderReport" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,baseline_audience,specific_audience"; + } + + // Searches for audience attributes that can be used to generate insights. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc ListAudienceInsightsAttributes(ListAudienceInsightsAttributesRequest) + returns (ListAudienceInsightsAttributesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:searchAudienceInsightsAttributes" + body: "*" + }; + option (google.api.method_signature) = "customer_id,dimensions,query_text"; + } + + // Lists date ranges for which audience insights data can be requested. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc ListInsightsEligibleDates(ListInsightsEligibleDatesRequest) + returns (ListInsightsEligibleDatesResponse) { + option (google.api.http) = { + post: "/v16/audienceInsights:listInsightsEligibleDates" + body: "*" + }; + } + + // Returns a collection of attributes that are represented in an audience of + // interest, with metrics that compare each attribute's share of the audience + // with its share of a baseline audience. + // + // List of thrown errors: + // [AudienceInsightsError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc GenerateAudienceCompositionInsights( + GenerateAudienceCompositionInsightsRequest) + returns (GenerateAudienceCompositionInsightsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:generateAudienceCompositionInsights" + body: "*" + }; + option (google.api.method_signature) = "customer_id,audience,dimensions"; + } + + // Returns a collection of targeting insights (e.g. targetable audiences) that + // are relevant to the requested audience. + // + // List of thrown errors: + // [AudienceInsightsError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc GenerateSuggestedTargetingInsights( + GenerateSuggestedTargetingInsightsRequest) + returns (GenerateSuggestedTargetingInsightsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:generateSuggestedTargetingInsights" + body: "*" + }; + option (google.api.method_signature) = "customer_id,audience"; + } +} + +// Request message for +// [AudienceInsightsService.GenerateInsightsFinderReport][google.ads.googleads.v16.services.AudienceInsightsService.GenerateInsightsFinderReport]. +message GenerateInsightsFinderReportRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A baseline audience for this report, typically all people in a + // region. + BasicInsightsAudience baseline_audience = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The specific audience of interest for this report. The insights + // in the report will be based on attributes more prevalent in this audience + // than in the report's baseline audience. + BasicInsightsAudience specific_audience = 3 + [(google.api.field_behavior) = REQUIRED]; + + // The name of the customer being planned for. This is a user-defined value. + string customer_insights_group = 4; +} + +// The response message for +// [AudienceInsightsService.GenerateInsightsFinderReport][google.ads.googleads.v16.services.AudienceInsightsService.GenerateInsightsFinderReport], +// containing the shareable URL for the report. +message GenerateInsightsFinderReportResponse { + // An HTTPS URL providing a deep link into the Insights Finder UI with the + // report inputs filled in according to the request. + string saved_report_url = 1; +} + +// Request message for +// [AudienceInsightsService.GenerateAudienceCompositionInsights][google.ads.googleads.v16.services.AudienceInsightsService.GenerateAudienceCompositionInsights]. +message GenerateAudienceCompositionInsightsRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The audience of interest for which insights are being requested. + InsightsAudience audience = 2 [(google.api.field_behavior) = REQUIRED]; + + // The baseline audience to which the audience of interest is being + // compared. + InsightsAudience baseline_audience = 6; + + // The one-month range of historical data to use for insights, in the format + // "yyyy-mm". If unset, insights will be returned for the last thirty days of + // data. + string data_month = 3; + + // Required. The audience dimensions for which composition insights should be + // returned. + repeated google.ads.googleads.v16.enums.AudienceInsightsDimensionEnum + .AudienceInsightsDimension dimensions = 4 + [(google.api.field_behavior) = REQUIRED]; + + // The name of the customer being planned for. This is a user-defined value. + string customer_insights_group = 5; +} + +// Response message for +// [AudienceInsightsService.GenerateAudienceCompositionInsights][google.ads.googleads.v16.services.AudienceInsightsService.GenerateAudienceCompositionInsights]. +message GenerateAudienceCompositionInsightsResponse { + // The contents of the insights report, organized into sections. + // Each section is associated with one of the AudienceInsightsDimension values + // in the request. There may be more than one section per dimension. + repeated AudienceCompositionSection sections = 1; +} + +// Request message for +// [AudienceInsightsService.GenerateSuggestedTargetingInsights][google.ads.googleads.v16.services.AudienceInsightsService.GenerateSuggestedTargetingInsights]. +message GenerateSuggestedTargetingInsightsRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The audience of interest for which insights are being requested. + InsightsAudience audience = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The baseline audience. The default, if unspecified, is all + // people in the same country as the audience of interest. + InsightsAudience baseline_audience = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The one-month range of historical data to use for insights, in + // the format "yyyy-mm". If unset, insights will be returned for the last + // thirty days of data. + string data_month = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The name of the customer being planned for. This is a + // user-defined value. + string customer_insights_group = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [AudienceInsightsService.GenerateSuggestedTargetingInsights][google.ads.googleads.v16.services.AudienceInsightsService.GenerateSuggestedTargetingInsights]. +message GenerateSuggestedTargetingInsightsResponse { + // Suggested insights for targetable audiences. + repeated TargetingSuggestionMetrics suggestions = 1; +} + +// A suggested targetable audience relevant to the requested audience. +message TargetingSuggestionMetrics { + // Suggested location targeting. These attributes all have dimension + // GEO_TARGET_COUNTRY or SUB_COUNTRY_LOCATION + repeated AudienceInsightsAttributeMetadata locations = 1; + + // Suggested age targeting; may be empty indicating no age targeting. + repeated google.ads.googleads.v16.common.AgeRangeInfo age_ranges = 2; + + // Suggested gender targeting. If present, this attribute has dimension + // GENDER. + google.ads.googleads.v16.common.GenderInfo gender = 3; + + // Suggested audience segments to target. These attributes all have dimension + // AFFINITY_USER_INTEREST or IN_MARKET_USER_INTEREST + repeated AudienceInsightsAttributeMetadata user_interests = 4; + + // The fraction (from 0 to 1 inclusive) of the requested audience that can be + // reached using the suggested targeting. + double coverage = 5; + + // The ratio of coverage to the coverage of the baseline audience or zero if + // this ratio is undefined or is not meaningful. + double index = 6; + + // The approximate estimated number of people that can be reached on YouTube + // using this targeting. + int64 potential_youtube_reach = 7; +} + +// Request message for +// [AudienceInsightsService.ListAudienceInsightsAttributes][google.ads.googleads.v16.services.AudienceInsightsService.ListAudienceInsightsAttributes]. +message ListAudienceInsightsAttributesRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The types of attributes to be returned. + repeated google.ads.googleads.v16.enums.AudienceInsightsDimensionEnum + .AudienceInsightsDimension dimensions = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. A free text query. If the requested dimensions include + // Attributes CATEGORY or KNOWLEDGE_GRAPH, then the attributes returned for + // those dimensions will match or be related to this string. For other + // dimensions, this field is ignored and all available attributes are + // returned. + string query_text = 3 [(google.api.field_behavior) = REQUIRED]; + + // The name of the customer being planned for. This is a user-defined value. + string customer_insights_group = 4; + + // If SUB_COUNTRY_LOCATION attributes are one of the requested dimensions and + // this field is present, then the SUB_COUNTRY_LOCATION attributes returned + // will be located in these countries. If this field is absent, then location + // attributes are not filtered by country. Setting this field when + // SUB_COUNTRY_LOCATION attributes are not requested will return an error. + repeated google.ads.googleads.v16.common.LocationInfo + location_country_filters = 5; +} + +// Response message for +// [AudienceInsightsService.ListAudienceInsightsAttributes][google.ads.googleads.v16.services.AudienceInsightsService.ListAudienceInsightsAttributes]. +message ListAudienceInsightsAttributesResponse { + // The attributes matching the search query. + repeated AudienceInsightsAttributeMetadata attributes = 1; +} + +// Request message for +// [AudienceInsightsService.ListInsightsEligibleDates][google.ads.googleads.v16.services.AudienceInsightsService.ListInsightsEligibleDates]. +message ListInsightsEligibleDatesRequest {} + +// Response message for +// [AudienceInsightsService.ListInsightsEligibleDates][google.ads.googleads.v16.services.AudienceInsightsService.ListInsightsEligibleDates]. +message ListInsightsEligibleDatesResponse { + // The months for which AudienceInsights data is currently + // available, each represented as a string in the form "YYYY-MM". + repeated string data_months = 1; + + // The actual dates covered by the "last 30 days" date range that will be used + // implicitly for + // [AudienceInsightsService.GenerateAudienceCompositionInsights][google.ads.googleads.v16.services.AudienceInsightsService.GenerateAudienceCompositionInsights] + // requests that have no data_month set. + google.ads.googleads.v16.common.DateRange last_thirty_days = 2; +} + +// An audience attribute that can be used to request insights about the +// audience. +message AudienceInsightsAttribute { + // An audience attribute. + oneof attribute { + // An audience attribute defined by an age range. + google.ads.googleads.v16.common.AgeRangeInfo age_range = 1; + + // An audience attribute defined by a gender. + google.ads.googleads.v16.common.GenderInfo gender = 2; + + // An audience attribute defined by a geographic location. + google.ads.googleads.v16.common.LocationInfo location = 3; + + // An Affinity or In-Market audience. + google.ads.googleads.v16.common.UserInterestInfo user_interest = 4; + + // An audience attribute defined by interest in a topic represented by a + // Knowledge Graph entity. + AudienceInsightsEntity entity = 5; + + // An audience attribute defined by interest in a Product & Service + // category. + AudienceInsightsCategory category = 6; + + // A YouTube Dynamic Lineup + AudienceInsightsDynamicLineup dynamic_lineup = 7; + + // A Parental Status value (parent, or not a parent). + google.ads.googleads.v16.common.ParentalStatusInfo parental_status = 8; + + // A household income percentile range. + google.ads.googleads.v16.common.IncomeRangeInfo income_range = 9; + + // A YouTube channel. + google.ads.googleads.v16.common.YouTubeChannelInfo youtube_channel = 10; + } +} + +// An entity or category representing a topic that defines an audience. +message AudienceInsightsTopic { + // An entity or category attribute. + oneof topic { + // A Knowledge Graph entity + AudienceInsightsEntity entity = 1; + + // A Product & Service category + AudienceInsightsCategory category = 2; + } +} + +// A Knowledge Graph entity, represented by its machine id. +message AudienceInsightsEntity { + // Required. The machine id (mid) of the Knowledge Graph entity. + string knowledge_graph_machine_id = 1 + [(google.api.field_behavior) = REQUIRED]; +} + +// A Product and Service category. +message AudienceInsightsCategory { + // Required. The criterion id of the category. + string category_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// A YouTube Dynamic Lineup. +message AudienceInsightsDynamicLineup { + // Required. The numeric ID of the dynamic lineup. + string dynamic_lineup_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// A description of an audience used for requesting insights. +message BasicInsightsAudience { + // Required. The countries for this audience. + repeated google.ads.googleads.v16.common.LocationInfo country_location = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Sub-country geographic location attributes. If present, each of these + // must be contained in one of the countries in this audience. + repeated google.ads.googleads.v16.common.LocationInfo sub_country_locations = + 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v16.common.GenderInfo gender = 3; + + // Age ranges for the audience. If absent, the audience represents all people + // over 18 that match the other attributes. + repeated google.ads.googleads.v16.common.AgeRangeInfo age_ranges = 4; + + // User interests defining this audience. Affinity and In-Market audiences + // are supported. + repeated google.ads.googleads.v16.common.UserInterestInfo user_interests = 5; + + // Topics, represented by Knowledge Graph entities and/or Product & Service + // categories, that this audience is interested in. + repeated AudienceInsightsTopic topics = 6; +} + +// An audience attribute, with metadata about it, returned in response to a +// search. +message AudienceInsightsAttributeMetadata { + // The type of the attribute. + google.ads.googleads.v16.enums.AudienceInsightsDimensionEnum + .AudienceInsightsDimension dimension = 1; + + // The attribute itself. + AudienceInsightsAttribute attribute = 2; + + // The human-readable name of the attribute. + string display_name = 3; + + // A string that supplements the display_name to identify the attribute. + // If the dimension is TOPIC, this is a brief description of the + // Knowledge Graph entity, such as "American singer-songwriter". + // If the dimension is CATEGORY, this is the complete path to the category in + // The Product & Service taxonomy, for example + // "/Apparel/Clothing/Outerwear". + string display_info = 5; + + // Metadata specific to the dimension of this attribute. + oneof dimension_metadata { + // Special metadata for a YouTube channel. + YouTubeChannelAttributeMetadata youtube_channel_metadata = 6; + + // Special metadata for a YouTube Dynamic Lineup. + DynamicLineupAttributeMetadata dynamic_attribute_metadata = 7; + + // Special metadata for a Location. + LocationAttributeMetadata location_attribute_metadata = 8; + } +} + +// Metadata associated with a YouTube channel attribute. +message YouTubeChannelAttributeMetadata { + // The approximate number of subscribers to the YouTube channel. + int64 subscriber_count = 1; +} + +// Metadata associated with a Dynamic Lineup attribute. +message DynamicLineupAttributeMetadata { + // A YouTube channel returned as an example of the content in a lineup. + message SampleChannel { + // A YouTube channel. + google.ads.googleads.v16.common.YouTubeChannelInfo youtube_channel = 1; + + // The name of the sample channel. + string display_name = 2; + + // Metadata for the sample channel. + YouTubeChannelAttributeMetadata youtube_channel_metadata = 3; + } + + // The national market associated with the lineup. + google.ads.googleads.v16.common.LocationInfo inventory_country = 1; + + // The median number of impressions per month on this lineup. + optional int64 median_monthly_inventory = 2; + + // The lower end of a range containing the number of channels in the lineup. + optional int64 channel_count_lower_bound = 3; + + // The upper end of a range containing the number of channels in the lineup. + optional int64 channel_count_upper_bound = 4; + + // Examples of channels that are included in the lineup. + repeated SampleChannel sample_channels = 5; +} + +// Metadata associated with a Location attribute. +message LocationAttributeMetadata { + // The country location of the sub country location. + google.ads.googleads.v16.common.LocationInfo country_location = 1; +} + +// A set of users, defined by various characteristics, for which insights can +// be requested in AudienceInsightsService. +message InsightsAudience { + // Required. The countries for the audience. + repeated google.ads.googleads.v16.common.LocationInfo country_locations = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Sub-country geographic location attributes. If present, each of these + // must be contained in one of the countries in this audience. If absent, the + // audience is geographically to the country_locations and no further. + repeated google.ads.googleads.v16.common.LocationInfo sub_country_locations = + 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v16.common.GenderInfo gender = 3; + + // Age ranges for the audience. If absent, the audience represents all people + // over 18 that match the other attributes. + repeated google.ads.googleads.v16.common.AgeRangeInfo age_ranges = 4; + + // Parental status for the audience. If absent, the audience does not + // restrict by parental status. + google.ads.googleads.v16.common.ParentalStatusInfo parental_status = 5; + + // Household income percentile ranges for the audience. If absent, the + // audience does not restrict by household income range. + repeated google.ads.googleads.v16.common.IncomeRangeInfo income_ranges = 6; + + // Dynamic lineups representing the YouTube content viewed by the audience. + repeated AudienceInsightsDynamicLineup dynamic_lineups = 7; + + // A combination of entity, category and user interest attributes defining the + // audience. The combination has a logical AND-of-ORs structure: Attributes + // within each InsightsAudienceAttributeGroup are combined with OR, and + // the combinations themselves are combined together with AND. For example, + // the expression (Entity OR Affinity) AND (In-Market OR Category) can be + // formed using two InsightsAudienceAttributeGroups with two Attributes + // each. + repeated InsightsAudienceAttributeGroup topic_audience_combinations = 8; +} + +// A list of AudienceInsightsAttributes. +message InsightsAudienceAttributeGroup { + // Required. A collection of audience attributes to be combined with logical + // OR. Attributes need not all be the same dimension. Only Knowledge Graph + // entities, Product & Service Categories, and Affinity and In-Market + // audiences are supported in this context. + repeated AudienceInsightsAttribute attributes = 1 + [(google.api.field_behavior) = REQUIRED]; +} + +// A collection of related attributes of the same type in an audience +// composition insights report. +message AudienceCompositionSection { + // The type of the attributes in this section. + google.ads.googleads.v16.enums.AudienceInsightsDimensionEnum + .AudienceInsightsDimension dimension = 1; + + // The most relevant segments for this audience. If dimension is GENDER, + // AGE_RANGE or PARENTAL_STATUS, then this list of attributes is exhaustive. + repeated AudienceCompositionAttribute top_attributes = 3; + + // Additional attributes for this audience, grouped into clusters. Only + // populated if dimension is YOUTUBE_CHANNEL. + repeated AudienceCompositionAttributeCluster clustered_attributes = 4; +} + +// A collection of related attributes, with metadata and metrics, in an audience +// composition insights report. +message AudienceCompositionAttributeCluster { + // The name of this cluster of attributes + string cluster_display_name = 1; + + // If the dimension associated with this cluster is YOUTUBE_CHANNEL, then + // cluster_metrics are metrics associated with the cluster as a whole. + // For other dimensions, this field is unset. + AudienceCompositionMetrics cluster_metrics = 3; + + // The individual attributes that make up this cluster, with metadata and + // metrics. + repeated AudienceCompositionAttribute attributes = 4; +} + +// The share and index metrics associated with an attribute in an audience +// composition insights report. +message AudienceCompositionMetrics { + // The fraction (from 0 to 1 inclusive) of the baseline audience that match + // the attribute. + double baseline_audience_share = 1; + + // The fraction (from 0 to 1 inclusive) of the specific audience that match + // the attribute. + double audience_share = 2; + + // The ratio of audience_share to baseline_audience_share, or zero if this + // ratio is undefined or is not meaningful. + double index = 3; + + // A relevance score from 0 to 1 inclusive. + double score = 4; +} + +// An audience attribute with metadata and metrics. +message AudienceCompositionAttribute { + // The attribute with its metadata. + AudienceInsightsAttributeMetadata attribute_metadata = 1; + + // Share and index metrics for the attribute. + AudienceCompositionMetrics metrics = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/audience_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/audience_service.proto new file mode 100644 index 000000000..6d76c38ed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/audience_service.proto @@ -0,0 +1,122 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/audience.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Audience service. + +// Service to manage audiences. +service AudienceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates audiences. Operation statuses are returned. + // + // List of thrown errors: + // [AudienceError]() + rpc MutateAudiences(MutateAudiencesRequest) + returns (MutateAudiencesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/audiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AudienceService.MutateAudiences][google.ads.googleads.v16.services.AudienceService.MutateAudiences]. +message MutateAudiencesRequest { + // Required. The ID of the customer whose audiences are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual audiences. + repeated AudienceOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid operations + // will return errors. If false, all operations will be carried out in one + // transaction if and only if they are all valid. Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// Response message for an audience mutate. +message MutateAudiencesResponse { + // All results for the mutate. + repeated MutateAudienceResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// A single operation (create, update) on an audience. +message AudienceOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new audience + google.ads.googleads.v16.resources.Audience create = 1; + + // Update operation: The audience is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.Audience update = 2; + } +} + +// The result for the audience mutate. +message MutateAudienceResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Audience" + }]; + + // The mutated Audience with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.Audience audience = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/batch_job_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/batch_job_service.proto new file mode 100644 index 000000000..5b902f773 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/batch_job_service.proto @@ -0,0 +1,283 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/batch_job.proto"; +import "google/ads/googleads/v16/services/google_ads_service.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the BatchJobService. + +// Service to manage batch jobs. +service BatchJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Mutates a batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateBatchJob(MutateBatchJobRequest) returns (MutateBatchJobResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/batchJobs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns the results of the batch job. The job must be done. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListBatchJobResults(ListBatchJobResultsRequest) + returns (ListBatchJobResultsResponse) { + option (google.api.http) = { + get: "/v16/{resource_name=customers/*/batchJobs/*}:listResults" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Runs the batch job. + // + // The Operation.metadata field type is BatchJobMetadata. When finished, the + // long running operation will not contain errors or a response. Instead, use + // ListBatchJobResults to get the results of the job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RunBatchJob(RunBatchJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v16/{resource_name=customers/*/batchJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v16.resources.BatchJob.BatchJobMetadata" + }; + } + + // Add operations to the batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc AddBatchJobOperations(AddBatchJobOperationsRequest) + returns (AddBatchJobOperationsResponse) { + option (google.api.http) = { + post: "/v16/{resource_name=customers/*/batchJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = + "resource_name,sequence_token,mutate_operations"; + option (google.api.method_signature) = "resource_name,mutate_operations"; + } +} + +// Request message for +// [BatchJobService.MutateBatchJob][google.ads.googleads.v16.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobRequest { + // Required. The ID of the customer for which to create a batch job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual batch job. + BatchJobOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a batch job. +message BatchJobOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new batch job. + google.ads.googleads.v16.resources.BatchJob create = 1; + + // Remove operation: The batch job must not have been run. A resource name + // for the removed batch job is expected, in this format: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string remove = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + }]; + } +} + +// Response message for +// [BatchJobService.MutateBatchJob][google.ads.googleads.v16.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobResponse { + // The result for the mutate. + MutateBatchJobResult result = 1; +} + +// The result for the batch job mutate. +message MutateBatchJobResult { + // The resource name of the batch job. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + }]; +} + +// Request message for +// [BatchJobService.RunBatchJob][google.ads.googleads.v16.services.BatchJobService.RunBatchJob]. +message RunBatchJobRequest { + // Required. The resource name of the BatchJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; +} + +// Request message for +// [BatchJobService.AddBatchJobOperations][google.ads.googleads.v16.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsRequest { + // Required. The resource name of the batch job. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // A token used to enforce sequencing. + // + // The first AddBatchJobOperations request for a batch job should not set + // sequence_token. Subsequent requests must set sequence_token to the value of + // next_sequence_token received in the previous AddBatchJobOperations + // response. + string sequence_token = 2; + + // Required. The list of mutates being added. + // + // Operations can use negative integers as temp ids to signify dependencies + // between entities created in this batch job. For example, a customer with + // id = 1234 can create a campaign and an ad group in that same campaign by + // creating a campaign in the first operation with the resource name + // explicitly set to "customers/1234/campaigns/-1", and creating an ad group + // in the second operation with the campaign field also set to + // "customers/1234/campaigns/-1". + repeated MutateOperation mutate_operations = 3 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [BatchJobService.AddBatchJobOperations][google.ads.googleads.v16.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsResponse { + // The total number of operations added so far for this batch job. + int64 total_operations = 1; + + // The sequence token to be used when calling AddBatchJobOperations again if + // more operations need to be added. The next AddBatchJobOperations request + // must set the sequence_token field to the value of this field. + string next_sequence_token = 2; +} + +// Request message for +// [BatchJobService.ListBatchJobResults][google.ads.googleads.v16.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsRequest { + // Required. The resource name of the batch job whose results are being + // listed. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +} + +// Response message for +// [BatchJobService.ListBatchJobResults][google.ads.googleads.v16.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsResponse { + // The list of rows that matched the query. + repeated BatchJobResult results = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} + +// An individual batch job result. +message BatchJobResult { + // Index of the mutate operation. + int64 operation_index = 1; + + // Response for the mutate. + // May be empty if errors occurred. + MutateOperationResponse mutate_operation_response = 2; + + // Details of the errors when processing the operation. + google.rpc.Status status = 3; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/bidding_data_exclusion_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/bidding_data_exclusion_service.proto new file mode 100644 index 000000000..cf1bc97ef --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/bidding_data_exclusion_service.proto @@ -0,0 +1,129 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/bidding_data_exclusion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to manage bidding data exclusions. +service BiddingDataExclusionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes data exclusions. + // Operation statuses are returned. + rpc MutateBiddingDataExclusions(MutateBiddingDataExclusionsRequest) + returns (MutateBiddingDataExclusionsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/biddingDataExclusions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v16.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +message MutateBiddingDataExclusionsRequest { + // Required. ID of the customer whose data exclusions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual data exclusions. + repeated BiddingDataExclusionOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove, update) on a data exclusion. +message BiddingDataExclusionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new data + // exclusion. + google.ads.googleads.v16.resources.BiddingDataExclusion create = 1; + + // Update operation: The data exclusion is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.BiddingDataExclusion update = 2; + + // Remove operation: A resource name for the removed data exclusion + // is expected, in this format: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + }]; + } +} + +// Response message for data exlusions mutate. +message MutateBiddingDataExclusionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingDataExclusionsResult results = 2; +} + +// The result for the data exclusion mutate. +message MutateBiddingDataExclusionsResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + }]; + + // The mutated bidding data exclusion with only mutable fields after mutate. + // The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.BiddingDataExclusion + bidding_data_exclusion = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/bidding_seasonality_adjustment_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/bidding_seasonality_adjustment_service.proto new file mode 100644 index 000000000..de996155f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/bidding_seasonality_adjustment_service.proto @@ -0,0 +1,132 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/bidding_seasonality_adjustment.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to manage bidding seasonality adjustments. +service BiddingSeasonalityAdjustmentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes seasonality adjustments. + // Operation statuses are returned. + rpc MutateBiddingSeasonalityAdjustments( + MutateBiddingSeasonalityAdjustmentsRequest) + returns (MutateBiddingSeasonalityAdjustmentsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v16.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +message MutateBiddingSeasonalityAdjustmentsRequest { + // Required. ID of the customer whose seasonality adjustments are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual seasonality + // adjustments. + repeated BiddingSeasonalityAdjustmentOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove, update) on a seasonality adjustment. +message BiddingSeasonalityAdjustmentOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new seasonality + // adjustment. + google.ads.googleads.v16.resources.BiddingSeasonalityAdjustment create = 1; + + // Update operation: The seasonality adjustment is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.BiddingSeasonalityAdjustment update = 2; + + // Remove operation: A resource name for the removed seasonality adjustment + // is expected, in this format: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + }]; + } +} + +// Response message for seasonality adjustments mutate. +message MutateBiddingSeasonalityAdjustmentsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingSeasonalityAdjustmentsResult results = 2; +} + +// The result for the seasonality adjustment mutate. +message MutateBiddingSeasonalityAdjustmentsResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + }]; + + // The mutated bidding seasonality adjustment with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.BiddingSeasonalityAdjustment + bidding_seasonality_adjustment = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/bidding_strategy_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/bidding_strategy_service.proto new file mode 100644 index 000000000..f102cfa55 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/bidding_strategy_service.proto @@ -0,0 +1,160 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/bidding_strategy.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Bidding Strategy service. + +// Service to manage bidding strategies. +service BiddingStrategyService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes bidding strategies. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateBiddingStrategies(MutateBiddingStrategiesRequest) + returns (MutateBiddingStrategiesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/biddingStrategies:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v16.services.BiddingStrategyService.MutateBiddingStrategies]. +message MutateBiddingStrategiesRequest { + // Required. The ID of the customer whose bidding strategies are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual bidding + // strategies. + repeated BiddingStrategyOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a bidding strategy. +message BiddingStrategyOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new bidding + // strategy. + google.ads.googleads.v16.resources.BiddingStrategy create = 1; + + // Update operation: The bidding strategy is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.BiddingStrategy update = 2; + + // Remove operation: A resource name for the removed bidding strategy is + // expected, in this format: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + } +} + +// Response message for bidding strategy mutate. +message MutateBiddingStrategiesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingStrategyResult results = 2; +} + +// The result for the bidding strategy mutate. +message MutateBiddingStrategyResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + + // The mutated bidding strategy with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.BiddingStrategy bidding_strategy = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/billing_setup_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/billing_setup_service.proto new file mode 100644 index 000000000..9d81544fa --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/billing_setup_service.proto @@ -0,0 +1,114 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/billing_setup.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the BillingSetup service. + +// A service for designating the business entity responsible for accrued costs. +// +// A billing setup is associated with a payments account. Billing-related +// activity for all billing setups associated with a particular payments account +// will appear on a single invoice generated monthly. +// +// Mutates: +// The REMOVE operation cancels a pending billing setup. +// The CREATE operation creates a new billing setup. +service BillingSetupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a billing setup, or cancels an existing billing setup. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BillingSetupError]() + // [DateError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateBillingSetup(MutateBillingSetupRequest) + returns (MutateBillingSetupResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/billingSetups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for billing setup mutate operations. +message MutateBillingSetupRequest { + // Required. Id of the customer to apply the billing setup mutate operation + // to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform. + BillingSetupOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a billing setup, which describes the cancellation of an +// existing billing setup. +message BillingSetupOperation { + // Only one of these operations can be set. "Update" operations are not + // supported. + oneof operation { + // Creates a billing setup. No resource name is expected for the new billing + // setup. + google.ads.googleads.v16.resources.BillingSetup create = 2; + + // Resource name of the billing setup to remove. A setup cannot be + // removed unless it is in a pending state or its scheduled start time is in + // the future. The resource name looks like + // `customers/{customer_id}/billingSetups/{billing_id}`. + string remove = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + }]; + } +} + +// Response message for a billing setup operation. +message MutateBillingSetupResponse { + // A result that identifies the resource affected by the mutate request. + MutateBillingSetupResult result = 1; +} + +// Result for a single billing setup mutate. +message MutateBillingSetupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/brand_suggestion_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/brand_suggestion_service.proto new file mode 100644 index 000000000..1c382e189 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/brand_suggestion_service.proto @@ -0,0 +1,86 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/brand_state.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BrandSuggestionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the MerchantCenterLink service. + +// This service will suggest brands based on a prefix. +service BrandSuggestionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Rpc to return a list of matching brands based on a prefix for this + // customer. + rpc SuggestBrands(SuggestBrandsRequest) returns (SuggestBrandsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:suggestBrands" + body: "*" + }; + option (google.api.method_signature) = "customer_id,brand_prefix"; + } +} + +// Request message for +// [BrandSuggestionService.SuggestBrands][google.ads.googleads.v16.services.BrandSuggestionService.SuggestBrands]. +message SuggestBrandsRequest { + // Required. The ID of the customer onto which to apply the brand suggestion + // operation. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The prefix of a brand name. + optional string brand_prefix = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Ids of the brands already selected by advertisers. They will be + // excluded in response. These are expected to be brand ids not brand names. + repeated string selected_brands = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [BrandSuggestionService.SuggestBrands][google.ads.googleads.v16.services.BrandSuggestionService.SuggestBrands]. +message SuggestBrandsResponse { + // Generated brand suggestions of verified brands for the given prefix. + repeated BrandSuggestion brands = 1; +} + +// Information of brand suggestion. +message BrandSuggestion { + // Id for the brand. It would be CKG MID for verified/global scoped brands. + string id = 1; + + // Name of the brand. + string name = 2; + + // Urls which uniquely identify the brand. + repeated string urls = 3; + + // Current state of the brand. + google.ads.googleads.v16.enums.BrandStateEnum.BrandState state = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_asset_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_asset_service.proto new file mode 100644 index 000000000..72a3dad5e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_asset_service.proto @@ -0,0 +1,144 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CampaignAsset service. + +// Service to manage campaign assets. +service CampaignAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignAssets(MutateCampaignAssetsRequest) + returns (MutateCampaignAssetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v16.services.CampaignAssetService.MutateCampaignAssets]. +message MutateCampaignAssetsRequest { + // Required. The ID of the customer whose campaign assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign assets. + repeated CampaignAssetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign asset. +message CampaignAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // asset. + google.ads.googleads.v16.resources.CampaignAsset create = 1; + + // Update operation: The campaign asset is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.CampaignAsset update = 3; + + // Remove operation: A resource name for the removed campaign asset is + // expected, in this format: + // + // `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + }]; + } +} + +// Response message for a campaign asset mutate. +message MutateCampaignAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateCampaignAssetResult results = 2; +} + +// The result for the campaign asset mutate. +message MutateCampaignAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + }]; + + // The mutated campaign asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignAsset campaign_asset = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_asset_set_service.proto new file mode 100644 index 000000000..fbc5ea37a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_asset_set_service.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CampaignAssetSet service. + +// Service to manage campaign asset set +service CampaignAssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign asset sets. Operation statuses are + // returned. + rpc MutateCampaignAssetSets(MutateCampaignAssetSetsRequest) + returns (MutateCampaignAssetSetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v16.services.CampaignAssetSetService.MutateCampaignAssetSets]. +message MutateCampaignAssetSetsRequest { + // Required. The ID of the customer whose campaign asset sets are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign asset + // sets. + repeated CampaignAssetSetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a campaign asset set. +message CampaignAssetSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign asset + // set. + google.ads.googleads.v16.resources.CampaignAssetSet create = 1; + + // Remove operation: A resource name for the removed campaign asset set is + // expected, in this format: + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + }]; + } +} + +// Response message for a campaign asset set mutate. +message MutateCampaignAssetSetsResponse { + // All results for the mutate. + repeated MutateCampaignAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the campaign asset set mutate. +message MutateCampaignAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + }]; + + // The mutated campaign asset set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignAssetSet campaign_asset_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_bid_modifier_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_bid_modifier_service.proto new file mode 100644 index 000000000..7c7ca3098 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_bid_modifier_service.proto @@ -0,0 +1,157 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Campaign Bid Modifier service. + +// Service to manage campaign bid modifiers. +service CampaignBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignBidModifiers(MutateCampaignBidModifiersRequest) + returns (MutateCampaignBidModifiersResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v16.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +message MutateCampaignBidModifiersRequest { + // Required. ID of the customer whose campaign bid modifiers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign bid + // modifiers. + repeated CampaignBidModifierOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove, update) on a campaign bid modifier. +message CampaignBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign bid + // modifier. + google.ads.googleads.v16.resources.CampaignBidModifier create = 1; + + // Update operation: The campaign bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.CampaignBidModifier update = 2; + + // Remove operation: A resource name for the removed campaign bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + }]; + } +} + +// Response message for campaign bid modifiers mutate. +message MutateCampaignBidModifiersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignBidModifierResult results = 2; +} + +// The result for the criterion mutate. +message MutateCampaignBidModifierResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + }]; + + // The mutated campaign bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignBidModifier campaign_bid_modifier = + 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_budget_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_budget_service.proto new file mode 100644 index 000000000..e778cdc22 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_budget_service.proto @@ -0,0 +1,148 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_budget.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Campaign Budget service. + +// Service to manage campaign budgets. +service CampaignBudgetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign budgets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignBudgetError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateCampaignBudgets(MutateCampaignBudgetsRequest) + returns (MutateCampaignBudgetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignBudgets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v16.services.CampaignBudgetService.MutateCampaignBudgets]. +message MutateCampaignBudgetsRequest { + // Required. The ID of the customer whose campaign budgets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign budgets. + repeated CampaignBudgetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign budget. +message CampaignBudgetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new budget. + google.ads.googleads.v16.resources.CampaignBudget create = 1; + + // Update operation: The campaign budget is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.CampaignBudget update = 2; + + // Remove operation: A resource name for the removed budget is expected, in + // this format: + // + // `customers/{customer_id}/campaignBudgets/{budget_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + } +} + +// Response message for campaign budget mutate. +message MutateCampaignBudgetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignBudgetResult results = 2; +} + +// The result for the campaign budget mutate. +message MutateCampaignBudgetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + + // The mutated campaign budget with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignBudget campaign_budget = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_conversion_goal_service.proto new file mode 100644 index 000000000..f6caae4e9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_conversion_goal_service.proto @@ -0,0 +1,96 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/campaign_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CampaignConversionGoal service. + +// Service to manage campaign conversion goal. +service CampaignConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign conversion goals. Operation statuses + // are returned. + rpc MutateCampaignConversionGoals(MutateCampaignConversionGoalsRequest) + returns (MutateCampaignConversionGoalsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v16.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +message MutateCampaignConversionGoalsRequest { + // Required. The ID of the customer whose campaign conversion goals are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign + // conversion goal. + repeated CampaignConversionGoalOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a campaign conversion goal. +message CampaignConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.CampaignConversionGoal update = 1; + } +} + +// Response message for a campaign conversion goal mutate. +message MutateCampaignConversionGoalsResponse { + // All results for the mutate. + repeated MutateCampaignConversionGoalResult results = 1; +} + +// The result for the campaign conversion goal mutate. +message MutateCampaignConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_criterion_service.proto new file mode 100644 index 000000000..bb6eed7f7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_criterion_service.proto @@ -0,0 +1,159 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Campaign Criterion service. + +// Service to manage campaign criteria. +service CampaignCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignCriterionError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignCriteria(MutateCampaignCriteriaRequest) + returns (MutateCampaignCriteriaResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v16.services.CampaignCriterionService.MutateCampaignCriteria]. +message MutateCampaignCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CampaignCriterionOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign criterion. +message CampaignCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v16.resources.CampaignCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.CampaignCriterion update = 2; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + }]; + } +} + +// Response message for campaign criterion mutate. +message MutateCampaignCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignCriterionResult results = 2; +} + +// The result for the criterion mutate. +message MutateCampaignCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + }]; + + // The mutated campaign criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignCriterion campaign_criterion = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_customizer_service.proto new file mode 100644 index 000000000..eb92063c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_customizer_service.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CampaignCustomizer service. + +// Service to manage campaign customizer +service CampaignCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign customizers. Operation statuses are + // returned. + rpc MutateCampaignCustomizers(MutateCampaignCustomizersRequest) + returns (MutateCampaignCustomizersResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v16.services.CampaignCustomizerService.MutateCampaignCustomizers]. +message MutateCampaignCustomizersRequest { + // Required. The ID of the customer whose campaign customizers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign + // customizers. + repeated CampaignCustomizerOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a customizer attribute. +message CampaignCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // customizer + google.ads.googleads.v16.resources.CampaignCustomizer create = 1; + + // Remove operation: A resource name for the removed campaign customizer is + // expected, in this format: + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + }]; + } +} + +// Response message for a campaign customizer mutate. +message MutateCampaignCustomizersResponse { + // All results for the mutate. + repeated MutateCampaignCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the campaign customizer mutate. +message MutateCampaignCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + }]; + + // The mutated CampaignCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignCustomizer campaign_customizer = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_draft_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_draft_service.proto new file mode 100644 index 000000000..bf30061c1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_draft_service.proto @@ -0,0 +1,247 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_draft.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Campaign Draft service. + +// Service to manage campaign drafts. +service CampaignDraftService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign drafts. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignDrafts(MutateCampaignDraftsRequest) + returns (MutateCampaignDraftsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignDrafts:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Promotes the changes in a draft back to the base campaign. + // + // This method returns a Long Running Operation (LRO) indicating if the + // Promote is done. Use [Operations.GetOperation] to poll the LRO until it + // is done. Only a done status is returned in the response. See the status + // in the Campaign Draft resource to determine if the promotion was + // successful. If the LRO failed, use + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v16.services.CampaignDraftService.ListCampaignDraftAsyncErrors] + // to view the list of error reasons. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignDraft(PromoteCampaignDraftRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v16/{campaign_draft=customers/*/campaignDrafts/*}:promote" + body: "*" + }; + option (google.api.method_signature) = "campaign_draft"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" + }; + } + + // Returns all errors that occurred during CampaignDraft promote. Throws an + // error if called before campaign draft is promoted. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListCampaignDraftAsyncErrors(ListCampaignDraftAsyncErrorsRequest) + returns (ListCampaignDraftAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v16/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v16.services.CampaignDraftService.MutateCampaignDrafts]. +message MutateCampaignDraftsRequest { + // Required. The ID of the customer whose campaign drafts are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign drafts. + repeated CampaignDraftOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// Request message for +// [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v16.services.CampaignDraftService.PromoteCampaignDraft]. +message PromoteCampaignDraftRequest { + // Required. The resource name of the campaign draft to promote. + string campaign_draft = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // If true, the request is validated but no Long Running Operation is created. + // Only errors are returned. + bool validate_only = 2; +} + +// A single operation (create, update, remove) on a campaign draft. +message CampaignDraftOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // draft. + google.ads.googleads.v16.resources.CampaignDraft create = 1; + + // Update operation: The campaign draft is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.CampaignDraft update = 2; + + // Remove operation: The campaign draft is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + }]; + } +} + +// Response message for campaign draft mutate. +message MutateCampaignDraftsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignDraftResult results = 2; +} + +// The result for the campaign draft mutate. +message MutateCampaignDraftResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + }]; + + // The mutated campaign draft with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for +// [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v16.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsRequest { + // Required. The name of the campaign draft from which to retrieve the async + // errors. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for +// [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v16.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsResponse { + // Details of the errors when performing the asynchronous operation. + repeated google.rpc.Status errors = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_extension_setting_service.proto new file mode 100644 index 000000000..aa32c5657 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_extension_setting_service.proto @@ -0,0 +1,162 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CampaignExtensionSetting service. + +// Service to manage campaign extension settings. +service CampaignExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaignExtensionSettings(MutateCampaignExtensionSettingsRequest) + returns (MutateCampaignExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v16.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +message MutateCampaignExtensionSettingsRequest { + // Required. The ID of the customer whose campaign extension settings are + // being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign + // extension settings. + repeated CampaignExtensionSettingOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign extension setting. +message CampaignExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // extension setting. + google.ads.googleads.v16.resources.CampaignExtensionSetting create = 1; + + // Update operation: The campaign extension setting is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.CampaignExtensionSetting update = 2; + + // Remove operation: A resource name for the removed campaign extension + // setting is expected, in this format: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + }]; + } +} + +// Response message for a campaign extension setting mutate. +message MutateCampaignExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignExtensionSettingResult results = 2; +} + +// The result for the campaign extension setting mutate. +message MutateCampaignExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + }]; + + // The mutated campaign extension setting with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignExtensionSetting + campaign_extension_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_feed_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_feed_service.proto new file mode 100644 index 000000000..bfb16c902 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_feed_service.proto @@ -0,0 +1,154 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CampaignFeed service. + +// Service to manage campaign feeds. +service CampaignFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignFeedError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignFeeds(MutateCampaignFeedsRequest) + returns (MutateCampaignFeedsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v16.services.CampaignFeedService.MutateCampaignFeeds]. +message MutateCampaignFeedsRequest { + // Required. The ID of the customer whose campaign feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign feeds. + repeated CampaignFeedOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign feed. +message CampaignFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign feed. + google.ads.googleads.v16.resources.CampaignFeed create = 1; + + // Update operation: The campaign feed is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.CampaignFeed update = 2; + + // Remove operation: A resource name for the removed campaign feed is + // expected, in this format: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + }]; + } +} + +// Response message for a campaign feed mutate. +message MutateCampaignFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignFeedResult results = 2; +} + +// The result for the campaign feed mutate. +message MutateCampaignFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + }]; + + // The mutated campaign feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignFeed campaign_feed = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_group_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_group_service.proto new file mode 100644 index 000000000..11cd19a8a --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_group_service.proto @@ -0,0 +1,133 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Campaign group service. + +// Service to manage campaign groups. +service CampaignGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign groups. Operation statuses are + // returned. + rpc MutateCampaignGroups(MutateCampaignGroupsRequest) + returns (MutateCampaignGroupsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignGroupService.MutateCampaignGroups][google.ads.googleads.v16.services.CampaignGroupService.MutateCampaignGroups]. +message MutateCampaignGroupsRequest { + // Required. The ID of the customer whose campaign groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign groups. + repeated CampaignGroupOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign group. +message CampaignGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // group. + google.ads.googleads.v16.resources.CampaignGroup create = 1; + + // Update operation: The campaign group is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.CampaignGroup update = 2; + + // Remove operation: A resource name for the removed campaign group is + // expected, in this format: + // + // `customers/{customer_id}/campaignGroups/{campaign_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignGroup" + }]; + } +} + +// Response message for campaign group mutate. +message MutateCampaignGroupsResponse { + // All results for the mutate. + repeated MutateCampaignGroupResult results = 2; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; +} + +// The result for the campaign group mutate. +message MutateCampaignGroupResult { + // Required. Returned for successful operations. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignGroup" + } + ]; + + // The mutated campaign group with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignGroup campaign_group = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_label_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_label_service.proto new file mode 100644 index 000000000..89af9da93 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_label_service.proto @@ -0,0 +1,126 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/campaign_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Campaign Label service. + +// Service to manage labels on campaigns. +service CampaignLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes campaign-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignLabels(MutateCampaignLabelsRequest) + returns (MutateCampaignLabelsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v16.services.CampaignLabelService.MutateCampaignLabels]. +message MutateCampaignLabelsRequest { + // Required. ID of the customer whose campaign-label relationships are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on campaign-label + // relationships. + repeated CampaignLabelOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a campaign-label relationship. +message CampaignLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign-label + // relationship. + google.ads.googleads.v16.resources.CampaignLabel create = 1; + + // Remove operation: A resource name for the campaign-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + }]; + } +} + +// Response message for a campaign labels mutate. +message MutateCampaignLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignLabelResult results = 2; +} + +// The result for a campaign label mutate. +message MutateCampaignLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_lifecycle_goal_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_lifecycle_goal_service.proto new file mode 100644 index 000000000..5752e2706 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_lifecycle_goal_service.proto @@ -0,0 +1,107 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/campaign_lifecycle_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLifecycleGoalServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to configure campaign lifecycle goals. +service CampaignLifecycleGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Process the given campaign lifecycle configurations. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignLifecycleGoalConfigError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ConfigureCampaignLifecycleGoals(ConfigureCampaignLifecycleGoalsRequest) + returns (ConfigureCampaignLifecycleGoalsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignLifecycleGoal:configureCampaignLifecycleGoals" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CampaignLifecycleGoalService.configureCampaignLifecycleGoals][]. +message ConfigureCampaignLifecycleGoalsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform campaign lifecycle goal update. + CampaignLifecycleGoalOperation operation = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. If true, the request is validated but not executed. Only errors + // are returned, not results. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A single operation on a campaign lifecycle goal. +message CampaignLifecycleGoalOperation { + // Optional. FieldMask that determines which resource fields are modified in + // an update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // The mutate operation. + oneof operation { + // Create operation: Create a new campaign lifecycle goal. The campaign + // field should be set for this operation. + google.ads.googleads.v16.resources.CampaignLifecycleGoal create = 1; + + // Update operation: Update an existing campaign lifecycle goal. The + // campaign field should not be set for this operation. + google.ads.googleads.v16.resources.CampaignLifecycleGoal update = 3; + } +} + +// Response message for +// [CampaignLifecycleGoalService.configureCampaignLifecycleGoals][]. +message ConfigureCampaignLifecycleGoalsResponse { + // Result for the campaign lifecycle goal configuration. + ConfigureCampaignLifecycleGoalsResult result = 1; +} + +// The result for the campaign lifecycle goal configuration. +message ConfigureCampaignLifecycleGoalsResult { + // Returned for the successful operation. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLifecycleGoal" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_service.proto new file mode 100644 index 000000000..aee880178 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_service.proto @@ -0,0 +1,164 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Campaign service. + +// Service to manage campaigns. +service CampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaigns. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CampaignBudgetError]() + // [CampaignError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaigns(MutateCampaignsRequest) + returns (MutateCampaignsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignService.MutateCampaigns][google.ads.googleads.v16.services.CampaignService.MutateCampaigns]. +message MutateCampaignsRequest { + // Required. The ID of the customer whose campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaigns. + repeated CampaignOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign. +message CampaignOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign. + google.ads.googleads.v16.resources.Campaign create = 1; + + // Update operation: The campaign is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.Campaign update = 2; + + // Remove operation: A resource name for the removed campaign is + // expected, in this format: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + } +} + +// Response message for campaign mutate. +message MutateCampaignsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignResult results = 2; +} + +// The result for the campaign mutate. +message MutateCampaignResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The mutated campaign with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.Campaign campaign = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/campaign_shared_set_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/campaign_shared_set_service.proto new file mode 100644 index 000000000..0a8c57246 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/campaign_shared_set_service.proto @@ -0,0 +1,147 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/campaign_shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Campaign Shared Set service. + +// Service to manage campaign shared sets. +service CampaignSharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes campaign shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignSharedSetError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignSharedSets(MutateCampaignSharedSetsRequest) + returns (MutateCampaignSharedSetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/campaignSharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v16.services.CampaignSharedSetService.MutateCampaignSharedSets]. +message MutateCampaignSharedSetsRequest { + // Required. The ID of the customer whose campaign shared sets are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign shared + // sets. + repeated CampaignSharedSetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a campaign shared set. +message CampaignSharedSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // shared set. + google.ads.googleads.v16.resources.CampaignSharedSet create = 1; + + // Remove operation: A resource name for the removed campaign shared set is + // expected, in this format: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + }]; + } +} + +// Response message for a campaign shared set mutate. +message MutateCampaignSharedSetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignSharedSetResult results = 2; +} + +// The result for the campaign shared set mutate. +message MutateCampaignSharedSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + }]; + + // The mutated campaign shared set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CampaignSharedSet campaign_shared_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/conversion_action_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/conversion_action_service.proto new file mode 100644 index 000000000..7dd97b2e1 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/conversion_action_service.proto @@ -0,0 +1,151 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/conversion_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Conversion Action service. + +// Service to manage conversion actions. +service ConversionActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion actions. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateConversionActions(MutateConversionActionsRequest) + returns (MutateConversionActionsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/conversionActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionActionService.MutateConversionActions][google.ads.googleads.v16.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsRequest { + // Required. The ID of the customer whose conversion actions are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion + // actions. + repeated ConversionActionOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a conversion action. +message ConversionActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // action. + google.ads.googleads.v16.resources.ConversionAction create = 1; + + // Update operation: The conversion action is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.ConversionAction update = 2; + + // Remove operation: A resource name for the removed conversion action is + // expected, in this format: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + } +} + +// Response message for +// [ConversionActionService.MutateConversionActions][google.ads.googleads.v16.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateConversionActionResult results = 2; +} + +// The result for the conversion action mutate. +message MutateConversionActionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The mutated conversion action with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.ConversionAction conversion_action = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/conversion_adjustment_upload_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/conversion_adjustment_upload_service.proto new file mode 100644 index 000000000..87c6c66ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/conversion_adjustment_upload_service.proto @@ -0,0 +1,214 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/offline_user_data.proto"; +import "google/ads/googleads/v16/enums/conversion_adjustment_type.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to upload conversion adjustments. +service ConversionAdjustmentUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given conversion adjustments. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadConversionAdjustments(UploadConversionAdjustmentsRequest) + returns (UploadConversionAdjustmentsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:uploadConversionAdjustments" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,conversion_adjustments,partial_failure"; + } +} + +// Request message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v16.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversion adjustments that are being uploaded. + repeated ConversionAdjustment conversion_adjustments = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried out + // in one transaction if and only if they are all valid. This should always be + // set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // Optional. Optional input to set job ID. Must be a non-negative number that + // is less than 2^31 if provided. If this field is not provided, the API will + // generate a job ID in the range [2^31, (2^63)-1]. The API will return the + // value for this request in the `job_id` field of the + // `UploadConversionAdjustmentsResponse`. + optional int32 job_id = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v16.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsResponse { + // Errors that pertain to conversion adjustment failures in the partial + // failure mode. Returned when all errors occur inside the adjustments. If any + // errors occur outside the adjustments (for example, auth errors), we return + // an RPC level error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversion adjustments. Proto will be + // empty for rows that received an error. Results are not returned when + // validate_only is true. + repeated ConversionAdjustmentResult results = 2; + + // Job ID for the upload batch. + int64 job_id = 3; +} + +// A conversion adjustment. +message ConversionAdjustment { + // For adjustments, uniquely identifies a conversion that was reported + // without an order ID specified. If the adjustment_type is ENHANCEMENT, this + // value is optional but may be set in addition to the order_id. + GclidDateTimePair gclid_date_time_pair = 12; + + // The order ID of the conversion to be adjusted. If the conversion was + // reported with an order ID specified, that order ID must be used as the + // identifier here. The order ID is required for enhancements. + optional string order_id = 13; + + // Resource name of the conversion action associated with this conversion + // adjustment. Note: Although this resource name consists of a customer id and + // a conversion action id, validation will ignore the customer id and use the + // conversion action id as the sole identifier of the conversion action. + optional string conversion_action = 8; + + // The date time at which the adjustment occurred. Must be after the + // conversion_date_time. The timezone must be specified. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 9; + + // The adjustment type. + google.ads.googleads.v16.enums.ConversionAdjustmentTypeEnum + .ConversionAdjustmentType adjustment_type = 5; + + // Information needed to restate the conversion's value. + // Required for restatements. Should not be supplied for retractions. An error + // will be returned if provided for a retraction. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + RestatementValue restatement_value = 6; + + // The user identifiers to enhance the original conversion. + // ConversionAdjustmentUploadService only accepts user identifiers in + // enhancements. The maximum number of user identifiers for each + // enhancement is 5. + repeated google.ads.googleads.v16.common.UserIdentifier user_identifiers = 10; + + // The user agent to enhance the original conversion. This can be found in + // your user's HTTP request header when they convert on your web page. + // Example, "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X)". User + // agent can only be specified in enhancements with user identifiers. This + // should match the user agent of the request that sent the original + // conversion so the conversion and its enhancement are either both attributed + // as same-device or both attributed as cross-device. + optional string user_agent = 11; +} + +// Contains information needed to restate a conversion's value. +message RestatementValue { + // The restated conversion value. This is the value of the conversion after + // restatement. For example, to change the value of a conversion from 100 to + // 70, an adjusted value of 70 should be reported. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + optional double adjusted_value = 3; + + // The currency of the restated value. If not provided, then the default + // currency from the conversion action is used, and if that is not set then + // the account currency is used. This is the ISO 4217 3-character currency + // code for example, USD or EUR. + optional string currency_code = 4; +} + +// Uniquely identifies a conversion that was reported without an order ID +// specified. +message GclidDateTimePair { + // Google click ID (gclid) associated with the original conversion for this + // adjustment. + optional string gclid = 3; + + // The date time at which the original conversion for this adjustment + // occurred. The timezone must be specified. The format is "yyyy-mm-dd + // hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 4; +} + +// Information identifying a successfully processed ConversionAdjustment. +message ConversionAdjustmentResult { + // The gclid and conversion date time of the conversion. + GclidDateTimePair gclid_date_time_pair = 9; + + // The order ID of the conversion to be adjusted. + string order_id = 10; + + // Resource name of the conversion action associated with this conversion + // adjustment. + optional string conversion_action = 7; + + // The date time at which the adjustment occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 8; + + // The adjustment type. + google.ads.googleads.v16.enums.ConversionAdjustmentTypeEnum + .ConversionAdjustmentType adjustment_type = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/conversion_custom_variable_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/conversion_custom_variable_service.proto new file mode 100644 index 000000000..eb1369b86 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/conversion_custom_variable_service.proto @@ -0,0 +1,136 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/conversion_custom_variable.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Conversion Custom Variable service. + +// Service to manage conversion custom variables. +service ConversionCustomVariableService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates conversion custom variables. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionCustomVariableError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateConversionCustomVariables(MutateConversionCustomVariablesRequest) + returns (MutateConversionCustomVariablesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/conversionCustomVariables:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v16.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesRequest { + // Required. The ID of the customer whose conversion custom variables are + // being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion custom + // variables. + repeated ConversionCustomVariableOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update) on a conversion custom variable. +message ConversionCustomVariableOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // custom variable. + google.ads.googleads.v16.resources.ConversionCustomVariable create = 1; + + // Update operation: The conversion custom variable is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.ConversionCustomVariable update = 2; + } +} + +// Response message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v16.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateConversionCustomVariableResult results = 2; +} + +// The result for the conversion custom variable mutate. +message MutateConversionCustomVariableResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + }]; + + // The mutated conversion custom variable with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.ConversionCustomVariable + conversion_custom_variable = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/conversion_goal_campaign_config_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/conversion_goal_campaign_config_service.proto new file mode 100644 index 000000000..456379bcd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/conversion_goal_campaign_config_service.proto @@ -0,0 +1,109 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/conversion_goal_campaign_config.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the ConversionGoalCampaignConfig service. + +// Service to manage conversion goal campaign config. +service ConversionGoalCampaignConfigService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion goal campaign config. Operation + // statuses are returned. + rpc MutateConversionGoalCampaignConfigs( + MutateConversionGoalCampaignConfigsRequest) + returns (MutateConversionGoalCampaignConfigsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs][google.ads.googleads.v16.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs]. +message MutateConversionGoalCampaignConfigsRequest { + // Required. The ID of the customer whose custom conversion goals are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion goal + // campaign config. + repeated ConversionGoalCampaignConfigOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +} + +// A single operation (update) on a conversion goal campaign config. +message ConversionGoalCampaignConfigOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The conversion goal campaign config is expected to have + // a valid resource name. + google.ads.googleads.v16.resources.ConversionGoalCampaignConfig update = 1; + } +} + +// Response message for a conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigsResponse { + // All results for the mutate. + repeated MutateConversionGoalCampaignConfigResult results = 1; +} + +// The result for the conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + }]; + + // The mutated ConversionGoalCampaignConfig with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.ConversionGoalCampaignConfig + conversion_goal_campaign_config = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/conversion_upload_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/conversion_upload_service.proto new file mode 100644 index 000000000..d307a963b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/conversion_upload_service.proto @@ -0,0 +1,395 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/consent.proto"; +import "google/ads/googleads/v16/common/offline_user_data.proto"; +import "google/ads/googleads/v16/enums/conversion_environment_enum.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to upload conversions. +service ConversionUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given click conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionUploadError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadClickConversions(UploadClickConversionsRequest) + returns (UploadClickConversionsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:uploadClickConversions" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,conversions,partial_failure"; + } + + // Processes the given call conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadCallConversions(UploadCallConversionsRequest) + returns (UploadCallConversionsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:uploadCallConversions" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,conversions,partial_failure"; + } +} + +// Request message for +// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v16.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated ClickConversion conversions = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // If true, the API will perform all upload checks and return errors if + // any are found. If false, it will perform only basic input validation, + // skip subsequent upload checks, and return success even if no click + // was found for the provided `user_identifiers`. + // + // This setting only affects Enhanced conversions for leads uploads that use + // `user_identifiers` instead of `GCLID`, `GBRAID`, or `WBRAID`. When + // uploading enhanced conversions for leads, you should upload all conversion + // events to the API, including those that may not come from Google Ads + // campaigns. The upload of an event that is not from a Google Ads campaign + // will result in a `CLICK_NOT_FOUND` error if this field is set to `true`. + // Since these errors are expected for such events, set this field to `false` + // so you can confirm your uploads are properly formatted but ignore + // `CLICK_NOT_FOUND` errors from all of the conversions that are not from a + // Google Ads campaign. This will allow you to focus only on errors that you + // can address. + // + // Default is false. + bool debug_enabled = 5; + + // Optional. Optional input to set job ID. Must be a non-negative number that + // is less than 2^31 if provided. If this field is not provided, the API will + // generate a job ID in the range [2^31, (2^63)-1]. The API will return the + // value for this request in the `job_id` field of the + // `UploadClickConversionsResponse`. + optional int32 job_id = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v16.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (for example, auth errors), we return an RPC level + // error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversions. Proto will be empty for + // rows that received an error. Results are not returned when validate_only is + // true. + repeated ClickConversionResult results = 2; + + // Job ID for the upload batch. + int64 job_id = 3; +} + +// Request message for +// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v16.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated CallConversion conversions = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for +// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v16.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (for example, auth errors), we return an RPC level + // error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversions. Proto will be empty for + // rows that received an error. Results are not returned when validate_only is + // true. + repeated CallConversionResult results = 2; +} + +// A click conversion. +message ClickConversion { + // The Google click ID (gclid) associated with this conversion. + optional string gclid = 9; + + // The click identifier for clicks associated with app conversions and + // originating from iOS devices starting with iOS14. + string gbraid = 18; + + // The click identifier for clicks associated with web conversions and + // originating from iOS devices starting with iOS14. + string wbraid = 19; + + // Resource name of the conversion action associated with this conversion. + // Note: Although this resource name consists of a customer id and a + // conversion action id, validation will ignore the customer id and use the + // conversion action id as the sole identifier of the conversion action. + optional string conversion_action = 10; + + // The date time at which the conversion occurred. Must be after + // the click time. The timezone must be specified. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 11; + + // The value of the conversion for the advertiser. + optional double conversion_value = 12; + + // Currency associated with the conversion value. This is the ISO 4217 + // 3-character currency code. For example: USD, EUR. + optional string currency_code = 13; + + // The order ID associated with the conversion. An order id can only be used + // for one conversion per conversion action. + optional string order_id = 14; + + // Additional data about externally attributed conversions. This field + // is required for conversions with an externally attributed conversion + // action, but should not be set otherwise. + ExternalAttributionData external_attribution_data = 7; + + // The custom variables associated with this conversion. + repeated CustomVariable custom_variables = 15; + + // The cart data associated with this conversion. + CartData cart_data = 16; + + // The user identifiers associated with this conversion. Only hashed_email and + // hashed_phone_number are supported for conversion uploads. The maximum + // number of user identifiers for each conversion is 5. + repeated google.ads.googleads.v16.common.UserIdentifier user_identifiers = 17; + + // The environment this conversion was recorded on, for example, App or Web. + google.ads.googleads.v16.enums.ConversionEnvironmentEnum.ConversionEnvironment + conversion_environment = 20; + + // The consent setting for the event. + google.ads.googleads.v16.common.Consent consent = 23; +} + +// A call conversion. +message CallConversion { + // The caller id from which this call was placed. Caller id is expected to be + // in E.164 format with preceding '+' sign, for example, "+16502531234". + optional string caller_id = 7; + + // The date time at which the call occurred. The timezone must be specified. + // The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", + // for example, "2019-01-01 12:32:45-08:00". + optional string call_start_date_time = 8; + + // Resource name of the conversion action associated with this conversion. + // Note: Although this resource name consists of a customer id and a + // conversion action id, validation will ignore the customer id and use the + // conversion action id as the sole identifier of the conversion action. + optional string conversion_action = 9; + + // The date time at which the conversion occurred. Must be after the call + // time. The timezone must be specified. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 10; + + // The value of the conversion for the advertiser. + optional double conversion_value = 11; + + // Currency associated with the conversion value. This is the ISO 4217 + // 3-character currency code. For example: USD, EUR. + optional string currency_code = 12; + + // The custom variables associated with this conversion. + repeated CustomVariable custom_variables = 13; + + // The consent setting for the event. + google.ads.googleads.v16.common.Consent consent = 14; +} + +// Contains additional information about externally attributed conversions. +message ExternalAttributionData { + // Represents the fraction of the conversion that is attributed to the + // Google Ads click. + optional double external_attribution_credit = 3; + + // Specifies the attribution model name. + optional string external_attribution_model = 4; +} + +// Identifying information for a successfully processed ClickConversion. +message ClickConversionResult { + // The Google Click ID (gclid) associated with this conversion. + optional string gclid = 4; + + // The click identifier for clicks associated with app conversions and + // originating from iOS devices starting with iOS14. + string gbraid = 8; + + // The click identifier for clicks associated with web conversions and + // originating from iOS devices starting with iOS14. + string wbraid = 9; + + // Resource name of the conversion action associated with this conversion. + optional string conversion_action = 5; + + // The date time at which the conversion occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 6; + + // The user identifiers associated with this conversion. Only hashed_email and + // hashed_phone_number are supported for conversion uploads. The maximum + // number of user identifiers for each conversion is 5. + repeated google.ads.googleads.v16.common.UserIdentifier user_identifiers = 7; +} + +// Identifying information for a successfully processed CallConversionUpload. +message CallConversionResult { + // The caller id from which this call was placed. Caller id is expected to be + // in E.164 format with preceding '+' sign. + optional string caller_id = 5; + + // The date time at which the call occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string call_start_date_time = 6; + + // Resource name of the conversion action associated with this conversion. + optional string conversion_action = 7; + + // The date time at which the conversion occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 8; +} + +// A custom variable. +message CustomVariable { + // Resource name of the custom variable associated with this conversion. + // Note: Although this resource name consists of a customer id and a + // conversion custom variable id, validation will ignore the customer id and + // use the conversion custom variable id as the sole identifier of the + // conversion custom variable. + string conversion_custom_variable = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + }]; + + // The value string of this custom variable. + // The value of the custom variable should not contain private customer data, + // such as email addresses or phone numbers. + string value = 2; +} + +// Contains additional information about cart data. +message CartData { + // Contains data of the items purchased. + message Item { + // The shopping id of the item. Must be equal to the Merchant Center product + // identifier. + string product_id = 1; + + // Number of items sold. + int32 quantity = 2; + + // Unit price excluding tax, shipping, and any transaction + // level discounts. The currency code is the same as that in the + // ClickConversion message. + double unit_price = 3; + } + + // The Merchant Center ID where the items are uploaded. + int64 merchant_id = 6; + + // The country code associated with the feed where the items are uploaded. + string feed_country_code = 2; + + // The language code associated with the feed where the items are uploaded. + string feed_language_code = 3; + + // Sum of all transaction level discounts, such as free shipping and + // coupon discounts for the whole cart. The currency code is the same + // as that in the ClickConversion message. + double local_transaction_cost = 4; + + // Data of the items purchased. + repeated Item items = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/conversion_value_rule_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/conversion_value_rule_service.proto new file mode 100644 index 000000000..522ca33f7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/conversion_value_rule_service.proto @@ -0,0 +1,134 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/conversion_value_rule.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Conversion Value Rule service. + +// Service to manage conversion value rules. +service ConversionValueRuleService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes conversion value rules. Operation statuses are + // returned. + rpc MutateConversionValueRules(MutateConversionValueRulesRequest) + returns (MutateConversionValueRulesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/conversionValueRules:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v16.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesRequest { + // Required. The ID of the customer whose conversion value rules are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value + // rules. + repeated ConversionValueRuleOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule. +message ConversionValueRuleOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule. + google.ads.googleads.v16.resources.ConversionValueRule create = 1; + + // Update operation: The conversion value rule is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.ConversionValueRule update = 2; + + // Remove operation: A resource name for the removed conversion value rule + // is expected, in this format: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + } +} + +// Response message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v16.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesResponse { + // All results for the mutate. + repeated MutateConversionValueRuleResult results = 2; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; +} + +// The result for the conversion value rule mutate. +message MutateConversionValueRuleResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // The mutated conversion value rule with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.ConversionValueRule conversion_value_rule = + 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/conversion_value_rule_set_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/conversion_value_rule_set_service.proto new file mode 100644 index 000000000..9cc3b8c83 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/conversion_value_rule_set_service.proto @@ -0,0 +1,134 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/conversion_value_rule_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Conversion Value Rule Set service. + +// Service to manage conversion value rule sets. +service ConversionValueRuleSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion value rule sets. Operation statuses + // are returned. + rpc MutateConversionValueRuleSets(MutateConversionValueRuleSetsRequest) + returns (MutateConversionValueRuleSetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/conversionValueRuleSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v16.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsRequest { + // Required. The ID of the customer whose conversion value rule sets are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value + // rule sets. + repeated ConversionValueRuleSetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule set. +message ConversionValueRuleSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule set. + google.ads.googleads.v16.resources.ConversionValueRuleSet create = 1; + + // Update operation: The conversion value rule set is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.ConversionValueRuleSet update = 2; + + // Remove operation: A resource name for the removed conversion value rule + // set is expected, in this format: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + }]; + } +} + +// Response message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v16.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsResponse { + // All results for the mutate. + repeated MutateConversionValueRuleSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the conversion value rule set mutate. +message MutateConversionValueRuleSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + }]; + + // The mutated conversion value rule set with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.ConversionValueRuleSet + conversion_value_rule_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/custom_audience_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/custom_audience_service.proto new file mode 100644 index 000000000..96b34204d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/custom_audience_service.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/custom_audience.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Custom Audience service. + +// Service to manage custom audiences. +service CustomAudienceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates custom audiences. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomAudienceError]() + // [CustomInterestError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OperationAccessDeniedError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomAudiences(MutateCustomAudiencesRequest) + returns (MutateCustomAudiencesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customAudiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v16.services.CustomAudienceService.MutateCustomAudiences]. +message MutateCustomAudiencesRequest { + // Required. The ID of the customer whose custom audiences are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom audiences. + repeated CustomAudienceOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a custom audience. +message CustomAudienceOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // audience. + google.ads.googleads.v16.resources.CustomAudience create = 1; + + // Update operation: The custom audience is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.CustomAudience update = 2; + + // Remove operation: A resource name for the removed custom audience is + // expected, in this format: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + }]; + } +} + +// Response message for custom audience mutate. +message MutateCustomAudiencesResponse { + // All results for the mutate. + repeated MutateCustomAudienceResult results = 1; +} + +// The result for the custom audience mutate. +message MutateCustomAudienceResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/custom_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/custom_conversion_goal_service.proto new file mode 100644 index 000000000..f166e2034 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/custom_conversion_goal_service.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/custom_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomConversionGoal service. + +// Service to manage custom conversion goal. +service CustomConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes custom conversion goals. Operation statuses + // are returned. + rpc MutateCustomConversionGoals(MutateCustomConversionGoalsRequest) + returns (MutateCustomConversionGoalsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v16.services.CustomConversionGoalService.MutateCustomConversionGoals]. +message MutateCustomConversionGoalsRequest { + // Required. The ID of the customer whose custom conversion goals are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom conversion + // goal. + repeated CustomConversionGoalOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 4; +} + +// A single operation (create, remove) on a custom conversion goal. +message CustomConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // conversion goal + google.ads.googleads.v16.resources.CustomConversionGoal create = 1; + + // Update operation: The custom conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.CustomConversionGoal update = 2; + + // Remove operation: A resource name for the removed custom conversion goal + // is expected, in this format: + // + // 'customers/{customer_id}/conversionActions/{ConversionGoal.custom_goal_config.conversion_type_ids}' + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; + } +} + +// Response message for a custom conversion goal mutate. +message MutateCustomConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomConversionGoalResult results = 1; +} + +// The result for the custom conversion goal mutate. +message MutateCustomConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; + + // The mutated CustomConversionGoal with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CustomConversionGoal + custom_conversion_goal = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/custom_interest_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/custom_interest_service.proto new file mode 100644 index 000000000..fd5613e05 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/custom_interest_service.proto @@ -0,0 +1,110 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/custom_interest.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Custom Interest service. + +// Service to manage custom interests. +service CustomInterestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates custom interests. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [CustomInterestError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateCustomInterests(MutateCustomInterestsRequest) + returns (MutateCustomInterestsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customInterests:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomInterestService.MutateCustomInterests][google.ads.googleads.v16.services.CustomInterestService.MutateCustomInterests]. +message MutateCustomInterestsRequest { + // Required. The ID of the customer whose custom interests are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom interests. + repeated CustomInterestOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a custom interest. +message CustomInterestOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // interest. + google.ads.googleads.v16.resources.CustomInterest create = 1; + + // Update operation: The custom interest is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.CustomInterest update = 2; + } +} + +// Response message for custom interest mutate. +message MutateCustomInterestsResponse { + // All results for the mutate. + repeated MutateCustomInterestResult results = 2; +} + +// The result for the custom interest mutate. +message MutateCustomInterestResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_asset_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_asset_service.proto new file mode 100644 index 000000000..e5d507bf0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_asset_service.proto @@ -0,0 +1,141 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/customer_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomerAsset service. + +// Service to manage customer assets. +service CustomerAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerAssets(MutateCustomerAssetsRequest) + returns (MutateCustomerAssetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v16.services.CustomerAssetService.MutateCustomerAssets]. +message MutateCustomerAssetsRequest { + // Required. The ID of the customer whose customer assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer assets. + repeated CustomerAssetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer asset. +message CustomerAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // asset. + google.ads.googleads.v16.resources.CustomerAsset create = 1; + + // Update operation: The customer asset is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.CustomerAsset update = 3; + + // Remove operation: A resource name for the removed customer asset is + // expected, in this format: + // + // `customers/{customer_id}/customerAssets/{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + }]; + } +} + +// Response message for a customer asset mutate. +message MutateCustomerAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateCustomerAssetResult results = 2; +} + +// The result for the customer asset mutate. +message MutateCustomerAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + }]; + + // The mutated customer asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CustomerAsset customer_asset = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_asset_set_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_asset_set_service.proto new file mode 100644 index 000000000..8e4de9692 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_asset_set_service.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/customer_asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomerAssetSet service. + +// Service to manage customer asset set +service CustomerAssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, or removes customer asset sets. Operation statuses are + // returned. + rpc MutateCustomerAssetSets(MutateCustomerAssetSetsRequest) + returns (MutateCustomerAssetSetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerAssetSetService.MutateCustomerAssetSets][google.ads.googleads.v16.services.CustomerAssetSetService.MutateCustomerAssetSets]. +message MutateCustomerAssetSetsRequest { + // Required. The ID of the customer whose customer asset sets are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer asset + // sets. + repeated CustomerAssetSetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a customer asset set. +message CustomerAssetSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer asset + // set. + google.ads.googleads.v16.resources.CustomerAssetSet create = 1; + + // Remove operation: A resource name for the removed customer asset set is + // expected, in this format: + // `customers/{customer_id}/customerAssetSets/{asset_set_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAssetSet" + }]; + } +} + +// Response message for a customer asset set mutate. +message MutateCustomerAssetSetsResponse { + // All results for the mutate. + repeated MutateCustomerAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customer asset set mutate. +message MutateCustomerAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAssetSet" + }]; + + // The mutated customer asset set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CustomerAssetSet customer_asset_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_client_link_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_client_link_service.proto new file mode 100644 index 000000000..067032c63 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_client_link_service.proto @@ -0,0 +1,107 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/customer_client_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to manage customer client links. +service CustomerClientLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates a customer client link. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerClientLink(MutateCustomerClientLinkRequest) + returns (MutateCustomerClientLinkResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerClientLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v16.services.CustomerClientLinkService.MutateCustomerClientLink]. +message MutateCustomerClientLinkRequest { + // Required. The ID of the customer whose customer link are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the individual CustomerClientLink. + CustomerClientLinkOperation operation = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a CustomerClientLink. +message CustomerClientLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new link. + google.ads.googleads.v16.resources.CustomerClientLink create = 1; + + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v16.resources.CustomerClientLink update = 2; + } +} + +// Response message for a CustomerClientLink mutate. +message MutateCustomerClientLinkResponse { + // A result that identifies the resource affected by the mutate request. + MutateCustomerClientLinkResult result = 1; +} + +// The result for a single customer client link mutate. +message MutateCustomerClientLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_conversion_goal_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_conversion_goal_service.proto new file mode 100644 index 000000000..1cfc79271 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_conversion_goal_service.proto @@ -0,0 +1,96 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/customer_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomerConversionGoal service. + +// Service to manage customer conversion goal. +service CustomerConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer conversion goals. Operation statuses + // are returned. + rpc MutateCustomerConversionGoals(MutateCustomerConversionGoalsRequest) + returns (MutateCustomerConversionGoalsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v16.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +message MutateCustomerConversionGoalsRequest { + // Required. The ID of the customer whose customer conversion goals are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer + // conversion goal. + repeated CustomerConversionGoalOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a customer conversion goal. +message CustomerConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.CustomerConversionGoal update = 1; + } +} + +// Response message for a customer conversion goal mutate. +message MutateCustomerConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomerConversionGoalResult results = 1; +} + +// The result for the customer conversion goal mutate. +message MutateCustomerConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_customizer_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_customizer_service.proto new file mode 100644 index 000000000..2fbb4d904 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_customizer_service.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/customer_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomerCustomizer service. + +// Service to manage customer customizer +service CustomerCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer customizers. Operation statuses are + // returned. + rpc MutateCustomerCustomizers(MutateCustomerCustomizersRequest) + returns (MutateCustomerCustomizersResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/CustomerCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v16.services.CustomerCustomizerService.MutateCustomerCustomizers]. +message MutateCustomerCustomizersRequest { + // Required. The ID of the customer whose customer customizers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer + // customizers. + repeated CustomerCustomizerOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a customizer attribute. +message CustomerCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // customizer + google.ads.googleads.v16.resources.CustomerCustomizer create = 1; + + // Remove operation: A resource name for the removed customer customizer is + // expected, in this format: + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + }]; + } +} + +// Response message for a customizer attribute mutate. +message MutateCustomerCustomizersResponse { + // All results for the mutate. + repeated MutateCustomerCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customizer attribute mutate. +message MutateCustomerCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + }]; + + // The mutated CustomerCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CustomerCustomizer customer_customizer = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_extension_setting_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_extension_setting_service.proto new file mode 100644 index 000000000..13f451fd9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_extension_setting_service.proto @@ -0,0 +1,160 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/customer_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomerExtensionSetting service. + +// Service to manage customer extension settings. +service CustomerExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCustomerExtensionSettings(MutateCustomerExtensionSettingsRequest) + returns (MutateCustomerExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v16.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +message MutateCustomerExtensionSettingsRequest { + // Required. The ID of the customer whose customer extension settings are + // being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer + // extension settings. + repeated CustomerExtensionSettingOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer extension setting. +message CustomerExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // extension setting. + google.ads.googleads.v16.resources.CustomerExtensionSetting create = 1; + + // Update operation: The customer extension setting is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.CustomerExtensionSetting update = 2; + + // Remove operation: A resource name for the removed customer extension + // setting is expected, in this format: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + }]; + } +} + +// Response message for a customer extension setting mutate. +message MutateCustomerExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerExtensionSettingResult results = 2; +} + +// The result for the customer extension setting mutate. +message MutateCustomerExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + }]; + + // The mutated CustomerExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CustomerExtensionSetting + customer_extension_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_feed_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_feed_service.proto new file mode 100644 index 000000000..4fefea8ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_feed_service.proto @@ -0,0 +1,153 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/customer_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomerFeed service. + +// Service to manage customer feeds. +service CustomerFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CustomerFeedError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCustomerFeeds(MutateCustomerFeedsRequest) + returns (MutateCustomerFeedsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v16.services.CustomerFeedService.MutateCustomerFeeds]. +message MutateCustomerFeedsRequest { + // Required. The ID of the customer whose customer feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer feeds. + repeated CustomerFeedOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer feed. +message CustomerFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer feed. + google.ads.googleads.v16.resources.CustomerFeed create = 1; + + // Update operation: The customer feed is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.CustomerFeed update = 2; + + // Remove operation: A resource name for the removed customer feed is + // expected, in this format: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + }]; + } +} + +// Response message for a customer feed mutate. +message MutateCustomerFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerFeedResult results = 2; +} + +// The result for the customer feed mutate. +message MutateCustomerFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + }]; + + // The mutated customer feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CustomerFeed customer_feed = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_label_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_label_service.proto new file mode 100644 index 000000000..e5262cc13 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_label_service.proto @@ -0,0 +1,124 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/customer_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Customer Label service. + +// Service to manage labels on customers. +service CustomerLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes customer-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerLabels(MutateCustomerLabelsRequest) + returns (MutateCustomerLabelsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v16.services.CustomerLabelService.MutateCustomerLabels]. +message MutateCustomerLabelsRequest { + // Required. ID of the customer whose customer-label relationships are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on customer-label + // relationships. + repeated CustomerLabelOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a customer-label relationship. +message CustomerLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer-label + // relationship. + google.ads.googleads.v16.resources.CustomerLabel create = 1; + + // Remove operation: A resource name for the customer-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/customerLabels/{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + }]; + } +} + +// Response message for a customer labels mutate. +message MutateCustomerLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerLabelResult results = 2; +} + +// The result for a customer label mutate. +message MutateCustomerLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_lifecycle_goal_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_lifecycle_goal_service.proto new file mode 100644 index 000000000..9b19db02b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_lifecycle_goal_service.proto @@ -0,0 +1,105 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/customer_lifecycle_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLifecycleGoalServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to configure customer lifecycle goals. +service CustomerLifecycleGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Process the given customer lifecycle configurations. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomerLifecycleGoalConfigError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ConfigureCustomerLifecycleGoals(ConfigureCustomerLifecycleGoalsRequest) + returns (ConfigureCustomerLifecycleGoalsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerLifecycleGoal:configureCustomerLifecycleGoals" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerLifecycleGoalService.configureCustomerLifecycleGoals][]. +message ConfigureCustomerLifecycleGoalsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform customer lifecycle goal update. + CustomerLifecycleGoalOperation operation = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. If true, the request is validated but not executed. Only errors + // are returned, not results. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A single operation on a customer lifecycle goal. +message CustomerLifecycleGoalOperation { + // Optional. FieldMask that determines which resource fields are modified in + // an update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // The mutate operation. + oneof operation { + // Create operation: Create a new customer lifecycle goal. + google.ads.googleads.v16.resources.CustomerLifecycleGoal create = 1; + + // Update operation: Update an existing customer lifecycle goal. + google.ads.googleads.v16.resources.CustomerLifecycleGoal update = 3; + } +} + +// Response message for +// [CustomerLifecycleGoalService.configureCustomerLifecycleGoals][]. +message ConfigureCustomerLifecycleGoalsResponse { + // result for the customer lifecycle goal configuration. + ConfigureCustomerLifecycleGoalsResult result = 1; +} + +// The result for the customer lifecycle goal configuration. +message ConfigureCustomerLifecycleGoalsResult { + // Returned for the successful operation. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLifecycleGoal" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_manager_link_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_manager_link_service.proto new file mode 100644 index 000000000..2d77f6960 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_manager_link_service.proto @@ -0,0 +1,167 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/customer_manager_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to manage customer-manager links. +service CustomerManagerLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates customer manager links. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerManagerLink(MutateCustomerManagerLinkRequest) + returns (MutateCustomerManagerLinkResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerManagerLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Moves a client customer to a new manager customer. + // This simplifies the complex request that requires two operations to move + // a client customer to a new manager, for example: + // 1. Update operation with Status INACTIVE (previous manager) and, + // 2. Update operation with Status ACTIVE (new manager). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MoveManagerLink(MoveManagerLinkRequest) + returns (MoveManagerLinkResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,previous_customer_manager_link,new_manager"; + } +} + +// Request message for +// [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v16.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +message MutateCustomerManagerLinkRequest { + // Required. The ID of the customer whose customer manager links are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer manager + // links. + repeated CustomerManagerLinkOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// Request message for +// [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v16.services.CustomerManagerLinkService.MoveManagerLink]. +message MoveManagerLinkRequest { + // Required. The ID of the client customer that is being moved. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the previous CustomerManagerLink. + // The resource name has the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string previous_customer_manager_link = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the new manager customer that the client + // wants to move to. Customer resource names have the format: + // "customers/{customer_id}" + string new_manager = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Updates the status of a CustomerManagerLink. +// The following actions are possible: +// 1. Update operation with status ACTIVE accepts a pending invitation. +// 2. Update operation with status REFUSED declines a pending invitation. +// 3. Update operation with status INACTIVE terminates link to manager. +message CustomerManagerLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v16.resources.CustomerManagerLink update = 2; + } +} + +// Response message for a CustomerManagerLink mutate. +message MutateCustomerManagerLinkResponse { + // A result that identifies the resource affected by the mutate request. + repeated MutateCustomerManagerLinkResult results = 1; +} + +// Response message for a CustomerManagerLink moveManagerLink. +message MoveManagerLinkResponse { + // Returned for successful operations. Represents a CustomerManagerLink + // resource of the newly created link between client customer and new manager + // customer. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + }]; +} + +// The result for the customer manager link mutate. +message MutateCustomerManagerLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_negative_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_negative_criterion_service.proto new file mode 100644 index 000000000..3b0e5850e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_negative_criterion_service.proto @@ -0,0 +1,132 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/customer_negative_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Customer Negative Criterion service. + +// Service to manage customer negative criteria. +service CustomerNegativeCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerNegativeCriteria(MutateCustomerNegativeCriteriaRequest) + returns (MutateCustomerNegativeCriteriaResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerNegativeCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v16.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +message MutateCustomerNegativeCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CustomerNegativeCriterionOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create or remove) on a customer level negative criterion. +message CustomerNegativeCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v16.resources.CustomerNegativeCriterion create = 1; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + }]; + } +} + +// Response message for customer negative criterion mutate. +message MutateCustomerNegativeCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerNegativeCriteriaResult results = 2; +} + +// The result for the criterion mutate. +message MutateCustomerNegativeCriteriaResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + }]; + + // The mutated criterion with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CustomerNegativeCriterion + customer_negative_criterion = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_service.proto new file mode 100644 index 000000000..236682ac0 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_service.proto @@ -0,0 +1,199 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/access_role.proto"; +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/customer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Customer service. + +// Service to manage customers. +service CustomerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates a customer. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [UrlFieldError]() + rpc MutateCustomer(MutateCustomerRequest) returns (MutateCustomerResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns resource names of customers directly accessible by the + // user authenticating the call. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) + returns (ListAccessibleCustomersResponse) { + option (google.api.http) = { + get: "/v16/customers:listAccessibleCustomers" + }; + } + + // Creates a new client under manager. The new client customer is returned. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CurrencyCodeError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + // [TimeZoneError]() + rpc CreateCustomerClient(CreateCustomerClientRequest) + returns (CreateCustomerClientResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:createCustomerClient" + body: "*" + }; + option (google.api.method_signature) = "customer_id,customer_client"; + } +} + +// Request message for +// [CustomerService.MutateCustomer][google.ads.googleads.v16.services.CustomerService.MutateCustomer]. +message MutateCustomerRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerOperation operation = 4 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 6; +} + +// Request message for +// [CustomerService.CreateCustomerClient][google.ads.googleads.v16.services.CustomerService.CreateCustomerClient]. +message CreateCustomerClientRequest { + // Required. The ID of the Manager under whom client customer is being + // created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new client customer to create. The resource name on this + // customer will be ignored. + google.ads.googleads.v16.resources.Customer customer_client = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Email address of the user who should be invited on the created client + // customer. Accessible only to customers on the allow-list. + optional string email_address = 5; + + // The proposed role of user on the created client customer. + // Accessible only to customers on the allow-list. + google.ads.googleads.v16.enums.AccessRoleEnum.AccessRole access_role = 4; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 6; +} + +// A single update on a customer. +message CustomerOperation { + // Mutate operation. Only updates are supported for customer. + google.ads.googleads.v16.resources.Customer update = 1; + + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; +} + +// Response message for CreateCustomerClient mutate. +message CreateCustomerClientResponse { + // The resource name of the newly created customer. Customer resource names + // have the form: `customers/{customer_id}`. + string resource_name = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + }]; + + // Link for inviting user to access the created customer. Accessible to + // allowlisted customers only. + string invitation_link = 3; +} + +// Response message for customer mutate. +message MutateCustomerResponse { + // Result for the mutate. + MutateCustomerResult result = 2; +} + +// The result for the customer mutate. +message MutateCustomerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + }]; + + // The mutated customer with only mutable fields after mutate. The fields will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.Customer customer = 2; +} + +// Request message for +// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v16.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest {} + +// Response message for +// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v16.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersResponse { + // Resource name of customers directly accessible by the + // user authenticating the call. + repeated string resource_names = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_sk_ad_network_conversion_value_schema_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_sk_ad_network_conversion_value_schema_service.proto new file mode 100644 index 000000000..c60f9ba81 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_sk_ad_network_conversion_value_schema_service.proto @@ -0,0 +1,94 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/customer_sk_ad_network_conversion_value_schema.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerSkAdNetworkConversionValueSchemaServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Customer Negative Criterion service. + +// Service to manage CustomerSkAdNetworkConversionValueSchema. +service CustomerSkAdNetworkConversionValueSchemaService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates the CustomerSkAdNetworkConversionValueSchema. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [InternalError]() + // [MutateError]() + rpc MutateCustomerSkAdNetworkConversionValueSchema( + MutateCustomerSkAdNetworkConversionValueSchemaRequest) + returns (MutateCustomerSkAdNetworkConversionValueSchemaResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerSkAdNetworkConversionValueSchemas:mutate" + body: "*" + }; + } +} + +// A single update operation for a CustomerSkAdNetworkConversionValueSchema. +message CustomerSkAdNetworkConversionValueSchemaOperation { + // Update operation: The schema is expected to have a valid resource name. + google.ads.googleads.v16.resources.CustomerSkAdNetworkConversionValueSchema + update = 1; +} + +// Request message for +// [CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema][google.ads.googleads.v16.services.CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema]. +message MutateCustomerSkAdNetworkConversionValueSchemaRequest { + // The ID of the customer whose shared sets are being modified. + string customer_id = 1; + + // The operation to perform. + CustomerSkAdNetworkConversionValueSchemaOperation operation = 2; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// The result for the CustomerSkAdNetworkConversionValueSchema mutate. +message MutateCustomerSkAdNetworkConversionValueSchemaResult { + // Resource name of the customer that was modified. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerSkAdNetworkConversionValueSchema" + }]; + + // App ID of the SkanConversionValue modified. + string app_id = 2; +} + +// Response message for MutateCustomerSkAdNetworkConversionValueSchema. +message MutateCustomerSkAdNetworkConversionValueSchemaResponse { + // All results for the mutate. + MutateCustomerSkAdNetworkConversionValueSchemaResult result = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_user_access_invitation_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_user_access_invitation_service.proto new file mode 100644 index 000000000..965cae6c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_user_access_invitation_service.proto @@ -0,0 +1,104 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/customer_user_access_invitation.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomerUserAccessInvitation service. + +// This service manages the access invitation extended to users for a given +// customer. +service CustomerUserAccessInvitationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes an access invitation. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccessInvitation( + MutateCustomerUserAccessInvitationRequest) + returns (MutateCustomerUserAccessInvitationResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerUserAccessInvitations:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation][google.ads.googleads.v16.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation] +message MutateCustomerUserAccessInvitationRequest { + // Required. The ID of the customer whose access invitation is being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the access invitation + CustomerUserAccessInvitationOperation operation = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (create or remove) on customer user access invitation. +message CustomerUserAccessInvitationOperation { + // The mutate operation + oneof operation { + // Create operation: No resource name is expected for the new access + // invitation. + google.ads.googleads.v16.resources.CustomerUserAccessInvitation create = 1; + + // Remove operation: A resource name for the revoke invitation is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + }]; + } +} + +// Response message for access invitation mutate. +message MutateCustomerUserAccessInvitationResponse { + // Result for the mutate. + MutateCustomerUserAccessInvitationResult result = 1; +} + +// The result for the access invitation mutate. +message MutateCustomerUserAccessInvitationResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customer_user_access_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customer_user_access_service.proto new file mode 100644 index 000000000..a358603c5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customer_user_access_service.proto @@ -0,0 +1,107 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/customer_user_access.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// This service manages the permissions of a user on a given customer. +service CustomerUserAccessService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates, removes permission of a user on a given customer. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomerUserAccessError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccess(MutateCustomerUserAccessRequest) + returns (MutateCustomerUserAccessResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customerUserAccesses:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Mutate Request for +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v16.services.CustomerUserAccessService.MutateCustomerUserAccess]. +message MutateCustomerUserAccessRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerUserAccessOperation operation = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (update, remove) on customer user access. +message CustomerUserAccessOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Update operation: The customer user access is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.CustomerUserAccess update = 1; + + // Remove operation: A resource name for the removed access is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + }]; + } +} + +// Response message for customer user access mutate. +message MutateCustomerUserAccessResponse { + // Result for the mutate. + MutateCustomerUserAccessResult result = 1; +} + +// The result for the customer user access mutate. +message MutateCustomerUserAccessResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/customizer_attribute_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/customizer_attribute_service.proto new file mode 100644 index 000000000..120cb2142 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/customizer_attribute_service.proto @@ -0,0 +1,128 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/customizer_attribute.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the CustomizerAttribute service. + +// Service to manage customizer attribute +service CustomizerAttributeService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customizer attributes. Operation statuses are + // returned. + rpc MutateCustomizerAttributes(MutateCustomizerAttributesRequest) + returns (MutateCustomizerAttributesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/customizerAttributes:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v16.services.CustomizerAttributeService.MutateCustomizerAttributes]. +message MutateCustomizerAttributesRequest { + // Required. The ID of the customer whose customizer attributes are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customizer + // attributes. + repeated CustomizerAttributeOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a customizer attribute. +message CustomizerAttributeOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customizer + // attribute + google.ads.googleads.v16.resources.CustomizerAttribute create = 1; + + // Remove operation: A resource name for the removed customizer attribute is + // expected, in this format: + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + }]; + } +} + +// Response message for a customizer attribute mutate. +message MutateCustomizerAttributesResponse { + // All results for the mutate. + repeated MutateCustomizerAttributeResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customizer attribute mutate. +message MutateCustomizerAttributeResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + }]; + + // The mutated CustomizerAttribute with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.CustomizerAttribute customizer_attribute = + 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/experiment_arm_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/experiment_arm_service.proto new file mode 100644 index 000000000..0da34afa8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/experiment_arm_service.proto @@ -0,0 +1,138 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/experiment_arm.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Experiment Arm service. + +// Service to manage experiment arms. +service ExperimentArmService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes experiment arms. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ExperimentArmError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateExperimentArms(MutateExperimentArmsRequest) + returns (MutateExperimentArmsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/experimentArms:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ExperimentArmService.MutateExperimentArms][google.ads.googleads.v16.services.ExperimentArmService.MutateExperimentArms]. +message MutateExperimentArmsRequest { + // Required. The ID of the customer whose experiments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual experiment arm. + repeated ExperimentArmOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation on an experiment arm. +message ExperimentArmOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation + google.ads.googleads.v16.resources.ExperimentArm create = 1; + + // Update operation: The experiment arm is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.ExperimentArm update = 2; + + // Remove operation: The experiment arm is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/experiments/{campaign_experiment_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExperimentArm" + }]; + } +} + +// Response message for experiment arm mutate. +message MutateExperimentArmsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateExperimentArmResult results = 2; +} + +// The result for the experiment arm mutate. +message MutateExperimentArmResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExperimentArm" + }]; + + // The mutated experiment arm with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.ExperimentArm experiment_arm = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/experiment_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/experiment_service.proto new file mode 100644 index 000000000..a8742ec58 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/experiment_service.proto @@ -0,0 +1,404 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/experiment.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Experiment service. + +// Service to manage experiments. +service ExperimentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes experiments. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateExperiments(MutateExperimentsRequest) + returns (MutateExperimentsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/experiments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Immediately ends an experiment, changing the experiment's scheduled + // end date and without waiting for end of day. End date is updated to be the + // time of the request. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc EndExperiment(EndExperimentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v16/{experiment=customers/*/experiments/*}:endExperiment" + body: "*" + }; + option (google.api.method_signature) = "experiment"; + } + + // Returns all errors that occurred during the last Experiment update (either + // scheduling or promotion). + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListExperimentAsyncErrors(ListExperimentAsyncErrorsRequest) + returns (ListExperimentAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v16/{resource_name=customers/*/experiments/*}:listExperimentAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Graduates an experiment to a full campaign. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ExperimentError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc GraduateExperiment(GraduateExperimentRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v16/{experiment=customers/*/experiments/*}:graduateExperiment" + body: "*" + }; + option (google.api.method_signature) = + "experiment,campaign_budget_mappings"; + } + + // Schedule an experiment. The in design campaign + // will be converted into a real campaign (called the experiment campaign) + // that will begin serving ads if successfully created. + // + // The experiment is scheduled immediately with status INITIALIZING. + // This method returns a long running operation that tracks the forking of the + // in design campaign. If the forking fails, a list of errors can be retrieved + // using the ListExperimentAsyncErrors method. The operation's + // metadata will be a string containing the resource name of the created + // experiment. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ExperimentError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc ScheduleExperiment(ScheduleExperimentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v16/{resource_name=customers/*/experiments/*}:scheduleExperiment" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v16.services.ScheduleExperimentMetadata" + }; + } + + // Promotes the trial campaign thus applying changes in the trial campaign + // to the base campaign. + // This method returns a long running operation that tracks the promotion of + // the experiment campaign. If it fails, a list of errors can be retrieved + // using the ListExperimentAsyncErrors method. The operation's + // metadata will be a string containing the resource name of the created + // experiment. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteExperiment(PromoteExperimentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v16/{resource_name=customers/*/experiments/*}:promoteExperiment" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v16.services.PromoteExperimentMetadata" + }; + } +} + +// Request message for +// [ExperimentService.MutateExperiments][google.ads.googleads.v16.services.ExperimentService.MutateExperiments]. +message MutateExperimentsRequest { + // Required. The ID of the customer whose experiments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual experiments. + repeated ExperimentOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation on an experiment. +message ExperimentOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation + google.ads.googleads.v16.resources.Experiment create = 1; + + // Update operation: The experiment is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.Experiment update = 2; + + // Remove operation: The experiment is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/experiments/{campaign_experiment_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + }]; + } +} + +// Response message for experiment mutate. +message MutateExperimentsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateExperimentResult results = 2; +} + +// The result for the campaign experiment mutate. +message MutateExperimentResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + }]; +} + +// Request message for +// [ExperimentService.EndExperiment][google.ads.googleads.v16.services.ExperimentService.EndExperiment]. +message EndExperimentRequest { + // Required. The resource name of the campaign experiment to end. + string experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [ExperimentService.ListExperimentAsyncErrors][google.ads.googleads.v16.services.ExperimentService.ListExperimentAsyncErrors]. +message ListExperimentAsyncErrorsRequest { + // Required. The name of the experiment from which to retrieve the async + // errors. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + // The maximum page size is 1000. + int32 page_size = 3; +} + +// Response message for +// [ExperimentService.ListExperimentAsyncErrors][google.ads.googleads.v16.services.ExperimentService.ListExperimentAsyncErrors]. +message ListExperimentAsyncErrorsResponse { + // details of the errors when performing the asynchronous operation. + repeated google.rpc.Status errors = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} + +// Request message for +// [ExperimentService.GraduateExperiment][google.ads.googleads.v16.services.ExperimentService.GraduateExperiment]. +message GraduateExperimentRequest { + // Required. The experiment to be graduated. + string experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; + + // Required. List of campaign budget mappings for graduation. Each campaign + // that appears here will graduate, and will be assigned a new budget that is + // paired with it in the mapping. The maximum size is one. + repeated CampaignBudgetMapping campaign_budget_mappings = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// The mapping of experiment campaign and budget to be graduated. +message CampaignBudgetMapping { + // Required. The experiment campaign to graduate. + string experiment_campaign = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. The budget that should be attached to the graduating experiment + // campaign. + string campaign_budget = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; +} + +// Request message for +// [ExperimentService.ScheduleExperiment][google.ads.googleads.v16.services.ExperimentService.ScheduleExperiment]. +message ScheduleExperimentRequest { + // Required. The scheduled experiment. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// The metadata of the scheduled experiment. +message ScheduleExperimentMetadata { + // Required. The scheduled experiment. + string experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; +} + +// Request message for +// [ExperimentService.PromoteExperiment][google.ads.googleads.v16.services.ExperimentService.PromoteExperiment]. +message PromoteExperimentRequest { + // Required. The resource name of the experiment to promote. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// The metadata of the promoted experiment. +message PromoteExperimentMetadata { + // Required. The promoted experiment. + string experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Experiment" + } + ]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/extension_feed_item_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/extension_feed_item_service.proto new file mode 100644 index 000000000..7215cf159 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/extension_feed_item_service.proto @@ -0,0 +1,157 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/extension_feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the ExtensionFeedItem service. + +// Service to manage extension feed items. +service ExtensionFeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes extension feed items. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CountryCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionFeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [ImageError]() + // [InternalError]() + // [LanguageCodeError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateExtensionFeedItems(MutateExtensionFeedItemsRequest) + returns (MutateExtensionFeedItemsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/extensionFeedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v16.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +message MutateExtensionFeedItemsRequest { + // Required. The ID of the customer whose extension feed items are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual extension feed + // items. + repeated ExtensionFeedItemOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on an extension feed item. +message ExtensionFeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new extension + // feed item. + google.ads.googleads.v16.resources.ExtensionFeedItem create = 1; + + // Update operation: The extension feed item is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.ExtensionFeedItem update = 2; + + // Remove operation: A resource name for the removed extension feed item + // is expected, in this format: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + } +} + +// Response message for an extension feed item mutate. +message MutateExtensionFeedItemsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateExtensionFeedItemResult results = 2; +} + +// The result for the extension feed item mutate. +message MutateExtensionFeedItemResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The mutated extension feed item with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.ExtensionFeedItem extension_feed_item = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/feed_item_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/feed_item_service.proto new file mode 100644 index 000000000..12c94aa1b --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/feed_item_service.proto @@ -0,0 +1,155 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the FeedItem service. + +// Service to manage feed items. +service FeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feed items. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateFeedItems(MutateFeedItemsRequest) + returns (MutateFeedItemsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/feedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [FeedItemService.MutateFeedItems][google.ads.googleads.v16.services.FeedItemService.MutateFeedItems]. +message MutateFeedItemsRequest { + // Required. The ID of the customer whose feed items are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed items. + repeated FeedItemOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed item. +message FeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item. + google.ads.googleads.v16.resources.FeedItem create = 1; + + // Update operation: The feed item is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.FeedItem update = 2; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + }]; + } +} + +// Response message for an feed item mutate. +message MutateFeedItemsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedItemResult results = 2; +} + +// The result for the feed item mutate. +message MutateFeedItemResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + }]; + + // The mutated feed item with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.FeedItem feed_item = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/feed_item_set_link_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/feed_item_set_link_service.proto new file mode 100644 index 000000000..54e136a29 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/feed_item_set_link_service.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/feed_item_set_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the FeedItemSetLink service. + +// Service to manage feed item set links. +service FeedItemSetLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feed item set links. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSetLinks(MutateFeedItemSetLinksRequest) + returns (MutateFeedItemSetLinksResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/feedItemSetLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v16.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +message MutateFeedItemSetLinksRequest { + // Required. The ID of the customer whose feed item set links are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item set + // links. + repeated FeedItemSetLinkOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a feed item set link. +message FeedItemSetLinkOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the + // new feed item set link. + google.ads.googleads.v16.resources.FeedItemSetLink create = 1; + + // Remove operation: A resource name for the removed feed item set link is + // expected, in this format: + // + // `customers/{customer_id}/feedItemSetLinks/{feed_id}_{feed_item_set_id}_{feed_item_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + }]; + } +} + +// Response message for a feed item set link mutate. +message MutateFeedItemSetLinksResponse { + // All results for the mutate. + repeated MutateFeedItemSetLinkResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the feed item set link mutate. +message MutateFeedItemSetLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/feed_item_set_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/feed_item_set_service.proto new file mode 100644 index 000000000..f88830313 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/feed_item_set_service.proto @@ -0,0 +1,126 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/feed_item_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the FeedItemSet service. + +// Service to manage feed Item Set +service FeedItemSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes feed item sets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSets(MutateFeedItemSetsRequest) + returns (MutateFeedItemSetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/feedItemSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v16.services.FeedItemSetService.MutateFeedItemSets]. +message MutateFeedItemSetsRequest { + // Required. The ID of the customer whose feed item sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item sets. + repeated FeedItemSetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an feed item set. +message FeedItemSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item set + google.ads.googleads.v16.resources.FeedItemSet create = 1; + + // Update operation: The feed item set is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.FeedItemSet update = 2; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + }]; + } +} + +// Response message for an feed item set mutate. +message MutateFeedItemSetsResponse { + // All results for the mutate. + repeated MutateFeedItemSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the feed item set mutate. +message MutateFeedItemSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/feed_item_target_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/feed_item_target_service.proto new file mode 100644 index 000000000..e08f2befd --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/feed_item_target_service.proto @@ -0,0 +1,144 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/feed_item_target.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the FeedItemTarget service. + +// Service to manage feed item targets. +service FeedItemTargetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes feed item targets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedItemTargetError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedItemTargets(MutateFeedItemTargetsRequest) + returns (MutateFeedItemTargetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/feedItemTargets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v16.services.FeedItemTargetService.MutateFeedItemTargets]. +message MutateFeedItemTargetsRequest { + // Required. The ID of the customer whose feed item targets are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item + // targets. + repeated FeedItemTargetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, remove) on an feed item target. +message FeedItemTargetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item + // target. + google.ads.googleads.v16.resources.FeedItemTarget create = 1; + + // Remove operation: A resource name for the removed feed item target is + // expected, in this format: + // + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + }]; + } +} + +// Response message for an feed item target mutate. +message MutateFeedItemTargetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedItemTargetResult results = 2; +} + +// The result for the feed item target mutate. +message MutateFeedItemTargetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + }]; + + // The mutated feed item target with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.FeedItemTarget feed_item_target = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/feed_mapping_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/feed_mapping_service.proto new file mode 100644 index 000000000..049625415 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/feed_mapping_service.proto @@ -0,0 +1,142 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/feed_mapping.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the FeedMapping service. + +// Service to manage feed mappings. +service FeedMappingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes feed mappings. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedMappingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedMappings(MutateFeedMappingsRequest) + returns (MutateFeedMappingsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/feedMappings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [FeedMappingService.MutateFeedMappings][google.ads.googleads.v16.services.FeedMappingService.MutateFeedMappings]. +message MutateFeedMappingsRequest { + // Required. The ID of the customer whose feed mappings are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed mappings. + repeated FeedMappingOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on a feed mapping. +message FeedMappingOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed mapping. + google.ads.googleads.v16.resources.FeedMapping create = 1; + + // Remove operation: A resource name for the removed feed mapping is + // expected, in this format: + // + // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + }]; + } +} + +// Response message for a feed mapping mutate. +message MutateFeedMappingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedMappingResult results = 2; +} + +// The result for the feed mapping mutate. +message MutateFeedMappingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + }]; + + // The mutated feed mapping with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.FeedMapping feed_mapping = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/feed_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/feed_service.proto new file mode 100644 index 000000000..009d752c9 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/feed_service.proto @@ -0,0 +1,153 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Feed service. + +// Service to manage feeds. +service FeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeeds(MutateFeedsRequest) returns (MutateFeedsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/feeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [FeedService.MutateFeeds][google.ads.googleads.v16.services.FeedService.MutateFeeds]. +message MutateFeedsRequest { + // Required. The ID of the customer whose feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feeds. + repeated FeedOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed. +message FeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed. + google.ads.googleads.v16.resources.Feed create = 1; + + // Update operation: The feed is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.Feed update = 2; + + // Remove operation: A resource name for the removed feed is + // expected, in this format: + // + // `customers/{customer_id}/feeds/{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + }]; + } +} + +// Response message for an feed mutate. +message MutateFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedResult results = 2; +} + +// The result for the feed mutate. +message MutateFeedResult { + // Returned for successful operations. + string resource_name = 1 [ + (google.api.resource_reference) = { type: "googleads.googleapis.com/Feed" } + ]; + + // The mutated feed with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.Feed feed = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/geo_target_constant_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/geo_target_constant_service.proto new file mode 100644 index 000000000..a0795efb8 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/geo_target_constant_service.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/geo_target_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Geo target constant service. + +// Service to fetch geo target constants. +service GeoTargetConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns GeoTargetConstant suggestions by location name or by resource name. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [GeoTargetConstantSuggestionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestGeoTargetConstants(SuggestGeoTargetConstantsRequest) + returns (SuggestGeoTargetConstantsResponse) { + option (google.api.http) = { + post: "/v16/geoTargetConstants:suggest" + body: "*" + }; + } +} + +// Request message for +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v16.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsRequest { + // A list of location names. + message LocationNames { + // A list of location names. + repeated string names = 2; + } + + // A list of geo target constant resource names. + message GeoTargets { + // A list of geo target constant resource names. + repeated string geo_target_constants = 2; + } + + // If possible, returned geo targets are translated using this locale. If not, + // en is used by default. This is also used as a hint for returned geo + // targets. + optional string locale = 6; + + // Returned geo targets are restricted to this country code. + optional string country_code = 7; + + // Required. A selector of geo target constants. + oneof query { + // The location names to search by. At most 25 names can be set. + LocationNames location_names = 1; + + // The geo target constant resource names to filter by. + GeoTargets geo_targets = 2; + } +} + +// Response message for +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v16.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsResponse { + // Geo target constant suggestions. + repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; +} + +// A geo target constant suggestion. +message GeoTargetConstantSuggestion { + // The language this GeoTargetConstantSuggestion is currently translated to. + // It affects the name of geo target fields. For example, if locale=en, then + // name=Spain. If locale=es, then name=España. The default locale will be + // returned if no translation exists for the locale in the request. + optional string locale = 6; + + // Approximate user population that will be targeted, rounded to the + // nearest 100. + optional int64 reach = 7; + + // If the request searched by location name, this is the location name that + // matched the geo target. + optional string search_term = 8; + + // The GeoTargetConstant result. + google.ads.googleads.v16.resources.GeoTargetConstant geo_target_constant = 4; + + // The list of parents of the geo target constant. + repeated google.ads.googleads.v16.resources.GeoTargetConstant + geo_target_constant_parents = 5; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/google_ads_field_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/google_ads_field_service.proto new file mode 100644 index 000000000..395cda006 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/google_ads_field_service.proto @@ -0,0 +1,120 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/google_ads_field.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the GoogleAdsFieldService. + +// Service to fetch Google Ads API fields. +service GoogleAdsFieldService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns just the requested field. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) + returns (google.ads.googleads.v16.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v16/{resource_name=googleAdsFields/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Returns all fields that match the search query. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QueryError]() + // [QuotaError]() + // [RequestError]() + rpc SearchGoogleAdsFields(SearchGoogleAdsFieldsRequest) + returns (SearchGoogleAdsFieldsResponse) { + option (google.api.http) = { + post: "/v16/googleAdsFields:search" + body: "*" + }; + option (google.api.method_signature) = "query"; + } +} + +// Request message for +// [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v16.services.GoogleAdsFieldService.GetGoogleAdsField]. +message GetGoogleAdsFieldRequest { + // Required. The resource name of the field to get. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; +} + +// Request message for +// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v16.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsRequest { + // Required. The query string. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Token of the page to retrieve. If not specified, the first page of + // results will be returned. Use the value obtained from `next_page_token` + // in the previous response in order to request the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When too large a page is requested, the server may decide to further + // limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for +// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v16.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v16.resources.GoogleAdsField results = 1; + + // Pagination token used to retrieve the next page of results. Pass the + // content of this string as the `page_token` attribute of the next request. + // `next_page_token` is not returned for the last page. + string next_page_token = 2; + + // Total number of results that match the query ignoring the LIMIT clause. + int64 total_results_count = 3; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/google_ads_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/google_ads_service.proto new file mode 100644 index 000000000..ba239d994 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/google_ads_service.proto @@ -0,0 +1,1685 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/metrics.proto"; +import "google/ads/googleads/v16/common/segments.proto"; +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/enums/summary_row_setting.proto"; +import "google/ads/googleads/v16/resources/accessible_bidding_strategy.proto"; +import "google/ads/googleads/v16/resources/account_budget.proto"; +import "google/ads/googleads/v16/resources/account_budget_proposal.proto"; +import "google/ads/googleads/v16/resources/account_link.proto"; +import "google/ads/googleads/v16/resources/ad_group.proto"; +import "google/ads/googleads/v16/resources/ad_group_ad.proto"; +import "google/ads/googleads/v16/resources/ad_group_ad_asset_combination_view.proto"; +import "google/ads/googleads/v16/resources/ad_group_ad_asset_view.proto"; +import "google/ads/googleads/v16/resources/ad_group_ad_label.proto"; +import "google/ads/googleads/v16/resources/ad_group_asset.proto"; +import "google/ads/googleads/v16/resources/ad_group_asset_set.proto"; +import "google/ads/googleads/v16/resources/ad_group_audience_view.proto"; +import "google/ads/googleads/v16/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v16/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v16/resources/ad_group_criterion_customizer.proto"; +import "google/ads/googleads/v16/resources/ad_group_criterion_label.proto"; +import "google/ads/googleads/v16/resources/ad_group_criterion_simulation.proto"; +import "google/ads/googleads/v16/resources/ad_group_customizer.proto"; +import "google/ads/googleads/v16/resources/ad_group_extension_setting.proto"; +import "google/ads/googleads/v16/resources/ad_group_feed.proto"; +import "google/ads/googleads/v16/resources/ad_group_label.proto"; +import "google/ads/googleads/v16/resources/ad_group_simulation.proto"; +import "google/ads/googleads/v16/resources/ad_parameter.proto"; +import "google/ads/googleads/v16/resources/ad_schedule_view.proto"; +import "google/ads/googleads/v16/resources/age_range_view.proto"; +import "google/ads/googleads/v16/resources/android_privacy_shared_key_google_ad_group.proto"; +import "google/ads/googleads/v16/resources/android_privacy_shared_key_google_campaign.proto"; +import "google/ads/googleads/v16/resources/android_privacy_shared_key_google_network_type.proto"; +import "google/ads/googleads/v16/resources/asset.proto"; +import "google/ads/googleads/v16/resources/asset_field_type_view.proto"; +import "google/ads/googleads/v16/resources/asset_group.proto"; +import "google/ads/googleads/v16/resources/asset_group_asset.proto"; +import "google/ads/googleads/v16/resources/asset_group_listing_group_filter.proto"; +import "google/ads/googleads/v16/resources/asset_group_product_group_view.proto"; +import "google/ads/googleads/v16/resources/asset_group_signal.proto"; +import "google/ads/googleads/v16/resources/asset_group_top_combination_view.proto"; +import "google/ads/googleads/v16/resources/asset_set.proto"; +import "google/ads/googleads/v16/resources/asset_set_asset.proto"; +import "google/ads/googleads/v16/resources/asset_set_type_view.proto"; +import "google/ads/googleads/v16/resources/audience.proto"; +import "google/ads/googleads/v16/resources/batch_job.proto"; +import "google/ads/googleads/v16/resources/bidding_data_exclusion.proto"; +import "google/ads/googleads/v16/resources/bidding_seasonality_adjustment.proto"; +import "google/ads/googleads/v16/resources/bidding_strategy.proto"; +import "google/ads/googleads/v16/resources/bidding_strategy_simulation.proto"; +import "google/ads/googleads/v16/resources/billing_setup.proto"; +import "google/ads/googleads/v16/resources/call_view.proto"; +import "google/ads/googleads/v16/resources/campaign.proto"; +import "google/ads/googleads/v16/resources/campaign_asset.proto"; +import "google/ads/googleads/v16/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v16/resources/campaign_audience_view.proto"; +import "google/ads/googleads/v16/resources/campaign_bid_modifier.proto"; +import "google/ads/googleads/v16/resources/campaign_budget.proto"; +import "google/ads/googleads/v16/resources/campaign_conversion_goal.proto"; +import "google/ads/googleads/v16/resources/campaign_criterion.proto"; +import "google/ads/googleads/v16/resources/campaign_customizer.proto"; +import "google/ads/googleads/v16/resources/campaign_draft.proto"; +import "google/ads/googleads/v16/resources/campaign_extension_setting.proto"; +import "google/ads/googleads/v16/resources/campaign_feed.proto"; +import "google/ads/googleads/v16/resources/campaign_group.proto"; +import "google/ads/googleads/v16/resources/campaign_label.proto"; +import "google/ads/googleads/v16/resources/campaign_lifecycle_goal.proto"; +import "google/ads/googleads/v16/resources/campaign_search_term_insight.proto"; +import "google/ads/googleads/v16/resources/campaign_shared_set.proto"; +import "google/ads/googleads/v16/resources/campaign_simulation.proto"; +import "google/ads/googleads/v16/resources/carrier_constant.proto"; +import "google/ads/googleads/v16/resources/change_event.proto"; +import "google/ads/googleads/v16/resources/change_status.proto"; +import "google/ads/googleads/v16/resources/click_view.proto"; +import "google/ads/googleads/v16/resources/combined_audience.proto"; +import "google/ads/googleads/v16/resources/conversion_action.proto"; +import "google/ads/googleads/v16/resources/conversion_custom_variable.proto"; +import "google/ads/googleads/v16/resources/conversion_goal_campaign_config.proto"; +import "google/ads/googleads/v16/resources/conversion_value_rule.proto"; +import "google/ads/googleads/v16/resources/conversion_value_rule_set.proto"; +import "google/ads/googleads/v16/resources/currency_constant.proto"; +import "google/ads/googleads/v16/resources/custom_audience.proto"; +import "google/ads/googleads/v16/resources/custom_conversion_goal.proto"; +import "google/ads/googleads/v16/resources/custom_interest.proto"; +import "google/ads/googleads/v16/resources/customer.proto"; +import "google/ads/googleads/v16/resources/customer_asset.proto"; +import "google/ads/googleads/v16/resources/customer_asset_set.proto"; +import "google/ads/googleads/v16/resources/customer_client.proto"; +import "google/ads/googleads/v16/resources/customer_client_link.proto"; +import "google/ads/googleads/v16/resources/customer_conversion_goal.proto"; +import "google/ads/googleads/v16/resources/customer_customizer.proto"; +import "google/ads/googleads/v16/resources/customer_extension_setting.proto"; +import "google/ads/googleads/v16/resources/customer_feed.proto"; +import "google/ads/googleads/v16/resources/customer_label.proto"; +import "google/ads/googleads/v16/resources/customer_lifecycle_goal.proto"; +import "google/ads/googleads/v16/resources/customer_manager_link.proto"; +import "google/ads/googleads/v16/resources/customer_negative_criterion.proto"; +import "google/ads/googleads/v16/resources/customer_search_term_insight.proto"; +import "google/ads/googleads/v16/resources/customer_user_access.proto"; +import "google/ads/googleads/v16/resources/customer_user_access_invitation.proto"; +import "google/ads/googleads/v16/resources/customizer_attribute.proto"; +import "google/ads/googleads/v16/resources/detail_placement_view.proto"; +import "google/ads/googleads/v16/resources/detailed_demographic.proto"; +import "google/ads/googleads/v16/resources/display_keyword_view.proto"; +import "google/ads/googleads/v16/resources/distance_view.proto"; +import "google/ads/googleads/v16/resources/domain_category.proto"; +import "google/ads/googleads/v16/resources/dynamic_search_ads_search_term_view.proto"; +import "google/ads/googleads/v16/resources/expanded_landing_page_view.proto"; +import "google/ads/googleads/v16/resources/experiment.proto"; +import "google/ads/googleads/v16/resources/experiment_arm.proto"; +import "google/ads/googleads/v16/resources/extension_feed_item.proto"; +import "google/ads/googleads/v16/resources/feed.proto"; +import "google/ads/googleads/v16/resources/feed_item.proto"; +import "google/ads/googleads/v16/resources/feed_item_set.proto"; +import "google/ads/googleads/v16/resources/feed_item_set_link.proto"; +import "google/ads/googleads/v16/resources/feed_item_target.proto"; +import "google/ads/googleads/v16/resources/feed_mapping.proto"; +import "google/ads/googleads/v16/resources/feed_placeholder_view.proto"; +import "google/ads/googleads/v16/resources/gender_view.proto"; +import "google/ads/googleads/v16/resources/geo_target_constant.proto"; +import "google/ads/googleads/v16/resources/geographic_view.proto"; +import "google/ads/googleads/v16/resources/group_placement_view.proto"; +import "google/ads/googleads/v16/resources/hotel_group_view.proto"; +import "google/ads/googleads/v16/resources/hotel_performance_view.proto"; +import "google/ads/googleads/v16/resources/hotel_reconciliation.proto"; +import "google/ads/googleads/v16/resources/income_range_view.proto"; +import "google/ads/googleads/v16/resources/keyword_plan.proto"; +import "google/ads/googleads/v16/resources/keyword_plan_ad_group.proto"; +import "google/ads/googleads/v16/resources/keyword_plan_ad_group_keyword.proto"; +import "google/ads/googleads/v16/resources/keyword_plan_campaign.proto"; +import "google/ads/googleads/v16/resources/keyword_plan_campaign_keyword.proto"; +import "google/ads/googleads/v16/resources/keyword_theme_constant.proto"; +import "google/ads/googleads/v16/resources/keyword_view.proto"; +import "google/ads/googleads/v16/resources/label.proto"; +import "google/ads/googleads/v16/resources/landing_page_view.proto"; +import "google/ads/googleads/v16/resources/language_constant.proto"; +import "google/ads/googleads/v16/resources/lead_form_submission_data.proto"; +import "google/ads/googleads/v16/resources/life_event.proto"; +import "google/ads/googleads/v16/resources/local_services_employee.proto"; +import "google/ads/googleads/v16/resources/local_services_lead.proto"; +import "google/ads/googleads/v16/resources/local_services_lead_conversation.proto"; +import "google/ads/googleads/v16/resources/local_services_verification_artifact.proto"; +import "google/ads/googleads/v16/resources/location_view.proto"; +import "google/ads/googleads/v16/resources/managed_placement_view.proto"; +import "google/ads/googleads/v16/resources/media_file.proto"; +import "google/ads/googleads/v16/resources/mobile_app_category_constant.proto"; +import "google/ads/googleads/v16/resources/mobile_device_constant.proto"; +import "google/ads/googleads/v16/resources/offline_conversion_upload_client_summary.proto"; +import "google/ads/googleads/v16/resources/offline_user_data_job.proto"; +import "google/ads/googleads/v16/resources/operating_system_version_constant.proto"; +import "google/ads/googleads/v16/resources/paid_organic_search_term_view.proto"; +import "google/ads/googleads/v16/resources/parental_status_view.proto"; +import "google/ads/googleads/v16/resources/per_store_view.proto"; +import "google/ads/googleads/v16/resources/product_category_constant.proto"; +import "google/ads/googleads/v16/resources/product_group_view.proto"; +import "google/ads/googleads/v16/resources/product_link.proto"; +import "google/ads/googleads/v16/resources/product_link_invitation.proto"; +import "google/ads/googleads/v16/resources/qualifying_question.proto"; +import "google/ads/googleads/v16/resources/recommendation.proto"; +import "google/ads/googleads/v16/resources/recommendation_subscription.proto"; +import "google/ads/googleads/v16/resources/remarketing_action.proto"; +import "google/ads/googleads/v16/resources/search_term_view.proto"; +import "google/ads/googleads/v16/resources/shared_criterion.proto"; +import "google/ads/googleads/v16/resources/shared_set.proto"; +import "google/ads/googleads/v16/resources/shopping_performance_view.proto"; +import "google/ads/googleads/v16/resources/smart_campaign_search_term_view.proto"; +import "google/ads/googleads/v16/resources/smart_campaign_setting.proto"; +import "google/ads/googleads/v16/resources/third_party_app_analytics_link.proto"; +import "google/ads/googleads/v16/resources/topic_constant.proto"; +import "google/ads/googleads/v16/resources/topic_view.proto"; +import "google/ads/googleads/v16/resources/travel_activity_group_view.proto"; +import "google/ads/googleads/v16/resources/travel_activity_performance_view.proto"; +import "google/ads/googleads/v16/resources/user_interest.proto"; +import "google/ads/googleads/v16/resources/user_list.proto"; +import "google/ads/googleads/v16/resources/user_location_view.proto"; +import "google/ads/googleads/v16/resources/video.proto"; +import "google/ads/googleads/v16/resources/webpage_view.proto"; +import "google/ads/googleads/v16/services/ad_group_ad_label_service.proto"; +import "google/ads/googleads/v16/services/ad_group_ad_service.proto"; +import "google/ads/googleads/v16/services/ad_group_asset_service.proto"; +import "google/ads/googleads/v16/services/ad_group_bid_modifier_service.proto"; +import "google/ads/googleads/v16/services/ad_group_criterion_customizer_service.proto"; +import "google/ads/googleads/v16/services/ad_group_criterion_label_service.proto"; +import "google/ads/googleads/v16/services/ad_group_criterion_service.proto"; +import "google/ads/googleads/v16/services/ad_group_customizer_service.proto"; +import "google/ads/googleads/v16/services/ad_group_extension_setting_service.proto"; +import "google/ads/googleads/v16/services/ad_group_feed_service.proto"; +import "google/ads/googleads/v16/services/ad_group_label_service.proto"; +import "google/ads/googleads/v16/services/ad_group_service.proto"; +import "google/ads/googleads/v16/services/ad_parameter_service.proto"; +import "google/ads/googleads/v16/services/ad_service.proto"; +import "google/ads/googleads/v16/services/asset_group_asset_service.proto"; +import "google/ads/googleads/v16/services/asset_group_listing_group_filter_service.proto"; +import "google/ads/googleads/v16/services/asset_group_service.proto"; +import "google/ads/googleads/v16/services/asset_group_signal_service.proto"; +import "google/ads/googleads/v16/services/asset_service.proto"; +import "google/ads/googleads/v16/services/asset_set_asset_service.proto"; +import "google/ads/googleads/v16/services/asset_set_service.proto"; +import "google/ads/googleads/v16/services/audience_service.proto"; +import "google/ads/googleads/v16/services/bidding_data_exclusion_service.proto"; +import "google/ads/googleads/v16/services/bidding_seasonality_adjustment_service.proto"; +import "google/ads/googleads/v16/services/bidding_strategy_service.proto"; +import "google/ads/googleads/v16/services/campaign_asset_service.proto"; +import "google/ads/googleads/v16/services/campaign_asset_set_service.proto"; +import "google/ads/googleads/v16/services/campaign_bid_modifier_service.proto"; +import "google/ads/googleads/v16/services/campaign_budget_service.proto"; +import "google/ads/googleads/v16/services/campaign_conversion_goal_service.proto"; +import "google/ads/googleads/v16/services/campaign_criterion_service.proto"; +import "google/ads/googleads/v16/services/campaign_customizer_service.proto"; +import "google/ads/googleads/v16/services/campaign_draft_service.proto"; +import "google/ads/googleads/v16/services/campaign_extension_setting_service.proto"; +import "google/ads/googleads/v16/services/campaign_feed_service.proto"; +import "google/ads/googleads/v16/services/campaign_group_service.proto"; +import "google/ads/googleads/v16/services/campaign_label_service.proto"; +import "google/ads/googleads/v16/services/campaign_service.proto"; +import "google/ads/googleads/v16/services/campaign_shared_set_service.proto"; +import "google/ads/googleads/v16/services/conversion_action_service.proto"; +import "google/ads/googleads/v16/services/conversion_custom_variable_service.proto"; +import "google/ads/googleads/v16/services/conversion_goal_campaign_config_service.proto"; +import "google/ads/googleads/v16/services/conversion_value_rule_service.proto"; +import "google/ads/googleads/v16/services/conversion_value_rule_set_service.proto"; +import "google/ads/googleads/v16/services/custom_conversion_goal_service.proto"; +import "google/ads/googleads/v16/services/customer_asset_service.proto"; +import "google/ads/googleads/v16/services/customer_conversion_goal_service.proto"; +import "google/ads/googleads/v16/services/customer_customizer_service.proto"; +import "google/ads/googleads/v16/services/customer_extension_setting_service.proto"; +import "google/ads/googleads/v16/services/customer_feed_service.proto"; +import "google/ads/googleads/v16/services/customer_label_service.proto"; +import "google/ads/googleads/v16/services/customer_negative_criterion_service.proto"; +import "google/ads/googleads/v16/services/customer_service.proto"; +import "google/ads/googleads/v16/services/customizer_attribute_service.proto"; +import "google/ads/googleads/v16/services/experiment_arm_service.proto"; +import "google/ads/googleads/v16/services/experiment_service.proto"; +import "google/ads/googleads/v16/services/extension_feed_item_service.proto"; +import "google/ads/googleads/v16/services/feed_item_service.proto"; +import "google/ads/googleads/v16/services/feed_item_set_link_service.proto"; +import "google/ads/googleads/v16/services/feed_item_set_service.proto"; +import "google/ads/googleads/v16/services/feed_item_target_service.proto"; +import "google/ads/googleads/v16/services/feed_mapping_service.proto"; +import "google/ads/googleads/v16/services/feed_service.proto"; +import "google/ads/googleads/v16/services/keyword_plan_ad_group_keyword_service.proto"; +import "google/ads/googleads/v16/services/keyword_plan_ad_group_service.proto"; +import "google/ads/googleads/v16/services/keyword_plan_campaign_keyword_service.proto"; +import "google/ads/googleads/v16/services/keyword_plan_campaign_service.proto"; +import "google/ads/googleads/v16/services/keyword_plan_service.proto"; +import "google/ads/googleads/v16/services/label_service.proto"; +import "google/ads/googleads/v16/services/recommendation_subscription_service.proto"; +import "google/ads/googleads/v16/services/remarketing_action_service.proto"; +import "google/ads/googleads/v16/services/shared_criterion_service.proto"; +import "google/ads/googleads/v16/services/shared_set_service.proto"; +import "google/ads/googleads/v16/services/smart_campaign_setting_service.proto"; +import "google/ads/googleads/v16/services/user_list_service.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the GoogleAdsService. + +// Service to fetch data and metrics across resources. +service GoogleAdsService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all rows that match the search query. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ChangeEventError]() + // [ChangeStatusError]() + // [ClickViewError]() + // [HeaderError]() + // [InternalError]() + // [QueryError]() + // [QuotaError]() + // [RequestError]() + rpc Search(SearchGoogleAdsRequest) returns (SearchGoogleAdsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/googleAds:search" + body: "*" + }; + option (google.api.method_signature) = "customer_id,query"; + } + + // Returns all rows that match the search stream query. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ChangeEventError]() + // [ChangeStatusError]() + // [ClickViewError]() + // [HeaderError]() + // [InternalError]() + // [QueryError]() + // [QuotaError]() + // [RequestError]() + rpc SearchStream(SearchGoogleAdsStreamRequest) + returns (stream SearchGoogleAdsStreamResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/googleAds:searchStream" + body: "*" + }; + option (google.api.method_signature) = "customer_id,query"; + } + + // Creates, updates, or removes resources. This method supports atomic + // transactions with multiple types of resources. For example, you can + // atomically create a campaign and a campaign budget, or perform up to + // thousands of mutates atomically. + // + // This method is essentially a wrapper around a series of mutate methods. The + // only features it offers over calling those methods directly are: + // + // - Atomic transactions + // - Temp resource names (described below) + // - Somewhat reduced latency over making a series of mutate calls + // + // Note: Only resources that support atomic transactions are included, so this + // method can't replace all calls to individual services. + // + // ## Atomic Transaction Benefits + // + // Atomicity makes error handling much easier. If you're making a series of + // changes and one fails, it can leave your account in an inconsistent state. + // With atomicity, you either reach the chosen state directly, or the request + // fails and you can retry. + // + // ## Temp Resource Names + // + // Temp resource names are a special type of resource name used to create a + // resource and reference that resource in the same request. For example, if a + // campaign budget is created with `resource_name` equal to + // `customers/123/campaignBudgets/-1`, that resource name can be reused in + // the `Campaign.budget` field in the same request. That way, the two + // resources are created and linked atomically. + // + // To create a temp resource name, put a negative number in the part of the + // name that the server would normally allocate. + // + // Note: + // + // - Resources must be created with a temp name before the name can be reused. + // For example, the previous CampaignBudget+Campaign example would fail if + // the mutate order was reversed. + // - Temp names are not remembered across requests. + // - There's no limit to the number of temp names in a request. + // - Each temp name must use a unique negative number, even if the resource + // types differ. + // + // ## Latency + // + // It's important to group mutates by resource type or the request may time + // out and fail. Latency is roughly equal to a series of calls to individual + // mutate methods, where each change in resource type is a new call. For + // example, mutating 10 campaigns then 10 ad groups is like 2 calls, while + // mutating 1 campaign, 1 ad group, 1 campaign, 1 ad group is like 4 calls. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdGroupAdError]() + // [AdGroupCriterionError]() + // [AdGroupError]() + // [AssetError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [CampaignBudgetError]() + // [CampaignCriterionError]() + // [CampaignError]() + // [CampaignExperimentError]() + // [CampaignSharedSetError]() + // [CollectionSizeError]() + // [ContextError]() + // [ConversionActionError]() + // [CriterionError]() + // [CustomerFeedError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [DistinctError]() + // [ExtensionFeedItemError]() + // [ExtensionSettingError]() + // [FeedAttributeReferenceError]() + // [FeedError]() + // [FeedItemError]() + // [FeedItemSetError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionParsingError]() + // [HeaderError]() + // [ImageError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanCampaignError]() + // [KeywordPlanError]() + // [LabelError]() + // [ListOperationError]() + // [MediaUploadError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [PolicyFindingError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SharedSetError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + // [UserListError]() + // [YoutubeVideoRegistrationError]() + rpc Mutate(MutateGoogleAdsRequest) returns (MutateGoogleAdsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/googleAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,mutate_operations"; + } +} + +// Request message for +// [GoogleAdsService.Search][google.ads.googleads.v16.services.GoogleAdsService.Search]. +message SearchGoogleAdsRequest { + // Required. The ID of the customer being queried. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The query string. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 3; + + // Number of elements to retrieve in a single page. + // When too large a page is requested, the server may decide to + // further limit the number of returned resources. + int32 page_size = 4; + + // If true, the request is validated but not executed. + bool validate_only = 5; + + // If true, the total number of results that match the query ignoring the + // LIMIT clause will be included in the response. + // Default is false. + bool return_total_results_count = 7; + + // Determines whether a summary row will be returned. By default, summary row + // is not returned. If requested, the summary row will be sent in a response + // by itself after all other query results are returned. + google.ads.googleads.v16.enums.SummaryRowSettingEnum.SummaryRowSetting + summary_row_setting = 8; +} + +// Response message for +// [GoogleAdsService.Search][google.ads.googleads.v16.services.GoogleAdsService.Search]. +message SearchGoogleAdsResponse { + // The list of rows that matched the query. + repeated GoogleAdsRow results = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; + + // Total number of results that match the query ignoring the LIMIT + // clause. + int64 total_results_count = 3; + + // FieldMask that represents what fields were requested by the user. + google.protobuf.FieldMask field_mask = 5; + + // Summary row that contains summary of metrics in results. + // Summary of metrics means aggregation of metrics across all results, + // here aggregation could be sum, average, rate, etc. + GoogleAdsRow summary_row = 6; + + // The amount of resources consumed to serve the query. + int64 query_resource_consumption = 8; +} + +// Request message for +// [GoogleAdsService.SearchStream][google.ads.googleads.v16.services.GoogleAdsService.SearchStream]. +message SearchGoogleAdsStreamRequest { + // Required. The ID of the customer being queried. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The query string. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Determines whether a summary row will be returned. By default, summary row + // is not returned. If requested, the summary row will be sent in a response + // by itself after all other query results are returned. + google.ads.googleads.v16.enums.SummaryRowSettingEnum.SummaryRowSetting + summary_row_setting = 3; +} + +// Response message for +// [GoogleAdsService.SearchStream][google.ads.googleads.v16.services.GoogleAdsService.SearchStream]. +message SearchGoogleAdsStreamResponse { + // The list of rows that matched the query. + repeated GoogleAdsRow results = 1; + + // FieldMask that represents what fields were requested by the user. + google.protobuf.FieldMask field_mask = 2; + + // Summary row that contains summary of metrics in results. + // Summary of metrics means aggregation of metrics across all results, + // here aggregation could be sum, average, rate, etc. + GoogleAdsRow summary_row = 3; + + // The unique id of the request that is used for debugging purposes. + string request_id = 4; + + // The amount of resources consumed to serve the query. + // query_resource_consumption for the Summary row and non-Summary responses + // are returned separately in their respective rows. + // query_resource_consumption for non-Summary responses is returned in the + // final batch of results. + int64 query_resource_consumption = 6; +} + +// A returned row from the query. +message GoogleAdsRow { + // The account budget in the query. + google.ads.googleads.v16.resources.AccountBudget account_budget = 42; + + // The account budget proposal referenced in the query. + google.ads.googleads.v16.resources.AccountBudgetProposal + account_budget_proposal = 43; + + // The AccountLink referenced in the query. + google.ads.googleads.v16.resources.AccountLink account_link = 143; + + // The ad group referenced in the query. + google.ads.googleads.v16.resources.AdGroup ad_group = 3; + + // The ad referenced in the query. + google.ads.googleads.v16.resources.AdGroupAd ad_group_ad = 16; + + // The ad group ad asset combination view in the query. + google.ads.googleads.v16.resources.AdGroupAdAssetCombinationView + ad_group_ad_asset_combination_view = 193; + + // The ad group ad asset view in the query. + google.ads.googleads.v16.resources.AdGroupAdAssetView ad_group_ad_asset_view = + 131; + + // The ad group ad label referenced in the query. + google.ads.googleads.v16.resources.AdGroupAdLabel ad_group_ad_label = 120; + + // The ad group asset referenced in the query. + google.ads.googleads.v16.resources.AdGroupAsset ad_group_asset = 154; + + // The ad group asset set referenced in the query. + google.ads.googleads.v16.resources.AdGroupAssetSet ad_group_asset_set = 196; + + // The ad group audience view referenced in the query. + google.ads.googleads.v16.resources.AdGroupAudienceView + ad_group_audience_view = 57; + + // The bid modifier referenced in the query. + google.ads.googleads.v16.resources.AdGroupBidModifier ad_group_bid_modifier = + 24; + + // The criterion referenced in the query. + google.ads.googleads.v16.resources.AdGroupCriterion ad_group_criterion = 17; + + // The ad group criterion customizer referenced in the query. + google.ads.googleads.v16.resources.AdGroupCriterionCustomizer + ad_group_criterion_customizer = 187; + + // The ad group criterion label referenced in the query. + google.ads.googleads.v16.resources.AdGroupCriterionLabel + ad_group_criterion_label = 121; + + // The ad group criterion simulation referenced in the query. + google.ads.googleads.v16.resources.AdGroupCriterionSimulation + ad_group_criterion_simulation = 110; + + // The ad group customizer referenced in the query. + google.ads.googleads.v16.resources.AdGroupCustomizer ad_group_customizer = + 185; + + // The ad group extension setting referenced in the query. + google.ads.googleads.v16.resources.AdGroupExtensionSetting + ad_group_extension_setting = 112; + + // The ad group feed referenced in the query. + google.ads.googleads.v16.resources.AdGroupFeed ad_group_feed = 67; + + // The ad group label referenced in the query. + google.ads.googleads.v16.resources.AdGroupLabel ad_group_label = 115; + + // The ad group simulation referenced in the query. + google.ads.googleads.v16.resources.AdGroupSimulation ad_group_simulation = + 107; + + // The ad parameter referenced in the query. + google.ads.googleads.v16.resources.AdParameter ad_parameter = 130; + + // The age range view referenced in the query. + google.ads.googleads.v16.resources.AgeRangeView age_range_view = 48; + + // The ad schedule view referenced in the query. + google.ads.googleads.v16.resources.AdScheduleView ad_schedule_view = 89; + + // The domain category referenced in the query. + google.ads.googleads.v16.resources.DomainCategory domain_category = 91; + + // The asset referenced in the query. + google.ads.googleads.v16.resources.Asset asset = 105; + + // The asset field type view referenced in the query. + google.ads.googleads.v16.resources.AssetFieldTypeView asset_field_type_view = + 168; + + // The asset group asset referenced in the query. + google.ads.googleads.v16.resources.AssetGroupAsset asset_group_asset = 173; + + // The asset group signal referenced in the query. + google.ads.googleads.v16.resources.AssetGroupSignal asset_group_signal = 191; + + // The asset group listing group filter referenced in the query. + google.ads.googleads.v16.resources.AssetGroupListingGroupFilter + asset_group_listing_group_filter = 182; + + // The asset group product group view referenced in the query. + google.ads.googleads.v16.resources.AssetGroupProductGroupView + asset_group_product_group_view = 189; + + // The asset group top combination view referenced in the query. + google.ads.googleads.v16.resources.AssetGroupTopCombinationView + asset_group_top_combination_view = 199; + + // The asset group referenced in the query. + google.ads.googleads.v16.resources.AssetGroup asset_group = 172; + + // The asset set asset referenced in the query. + google.ads.googleads.v16.resources.AssetSetAsset asset_set_asset = 180; + + // The asset set referenced in the query. + google.ads.googleads.v16.resources.AssetSet asset_set = 179; + + // The asset set type view referenced in the query. + google.ads.googleads.v16.resources.AssetSetTypeView asset_set_type_view = 197; + + // The batch job referenced in the query. + google.ads.googleads.v16.resources.BatchJob batch_job = 139; + + // The bidding data exclusion referenced in the query. + google.ads.googleads.v16.resources.BiddingDataExclusion + bidding_data_exclusion = 159; + + // The bidding seasonality adjustment referenced in the query. + google.ads.googleads.v16.resources.BiddingSeasonalityAdjustment + bidding_seasonality_adjustment = 160; + + // The bidding strategy referenced in the query. + google.ads.googleads.v16.resources.BiddingStrategy bidding_strategy = 18; + + // The bidding strategy simulation referenced in the query. + google.ads.googleads.v16.resources.BiddingStrategySimulation + bidding_strategy_simulation = 158; + + // The billing setup referenced in the query. + google.ads.googleads.v16.resources.BillingSetup billing_setup = 41; + + // The call view referenced in the query. + google.ads.googleads.v16.resources.CallView call_view = 152; + + // The campaign budget referenced in the query. + google.ads.googleads.v16.resources.CampaignBudget campaign_budget = 19; + + // The campaign referenced in the query. + google.ads.googleads.v16.resources.Campaign campaign = 2; + + // The campaign asset referenced in the query. + google.ads.googleads.v16.resources.CampaignAsset campaign_asset = 142; + + // The campaign asset set referenced in the query. + google.ads.googleads.v16.resources.CampaignAssetSet campaign_asset_set = 181; + + // The campaign audience view referenced in the query. + google.ads.googleads.v16.resources.CampaignAudienceView + campaign_audience_view = 69; + + // The campaign bid modifier referenced in the query. + google.ads.googleads.v16.resources.CampaignBidModifier campaign_bid_modifier = + 26; + + // The CampaignConversionGoal referenced in the query. + google.ads.googleads.v16.resources.CampaignConversionGoal + campaign_conversion_goal = 175; + + // The campaign criterion referenced in the query. + google.ads.googleads.v16.resources.CampaignCriterion campaign_criterion = 20; + + // The campaign customizer referenced in the query. + google.ads.googleads.v16.resources.CampaignCustomizer campaign_customizer = + 186; + + // The campaign draft referenced in the query. + google.ads.googleads.v16.resources.CampaignDraft campaign_draft = 49; + + // The campaign extension setting referenced in the query. + google.ads.googleads.v16.resources.CampaignExtensionSetting + campaign_extension_setting = 113; + + // The campaign feed referenced in the query. + google.ads.googleads.v16.resources.CampaignFeed campaign_feed = 63; + + // Campaign Group referenced in AWQL query. + google.ads.googleads.v16.resources.CampaignGroup campaign_group = 25; + + // The campaign label referenced in the query. + google.ads.googleads.v16.resources.CampaignLabel campaign_label = 108; + + // The campaign lifecycle goal referenced in the query. + google.ads.googleads.v16.resources.CampaignLifecycleGoal + campaign_lifecycle_goal = 213; + + // The campaign search term insight referenced in the query. + google.ads.googleads.v16.resources.CampaignSearchTermInsight + campaign_search_term_insight = 204; + + // Campaign Shared Set referenced in AWQL query. + google.ads.googleads.v16.resources.CampaignSharedSet campaign_shared_set = 30; + + // The campaign simulation referenced in the query. + google.ads.googleads.v16.resources.CampaignSimulation campaign_simulation = + 157; + + // The carrier constant referenced in the query. + google.ads.googleads.v16.resources.CarrierConstant carrier_constant = 66; + + // The ChangeEvent referenced in the query. + google.ads.googleads.v16.resources.ChangeEvent change_event = 145; + + // The ChangeStatus referenced in the query. + google.ads.googleads.v16.resources.ChangeStatus change_status = 37; + + // The CombinedAudience referenced in the query. + google.ads.googleads.v16.resources.CombinedAudience combined_audience = 148; + + // The Audience referenced in the query. + google.ads.googleads.v16.resources.Audience audience = 190; + + // The conversion action referenced in the query. + google.ads.googleads.v16.resources.ConversionAction conversion_action = 103; + + // The conversion custom variable referenced in the query. + google.ads.googleads.v16.resources.ConversionCustomVariable + conversion_custom_variable = 153; + + // The ConversionGoalCampaignConfig referenced in the query. + google.ads.googleads.v16.resources.ConversionGoalCampaignConfig + conversion_goal_campaign_config = 177; + + // The conversion value rule referenced in the query. + google.ads.googleads.v16.resources.ConversionValueRule conversion_value_rule = + 164; + + // The conversion value rule set referenced in the query. + google.ads.googleads.v16.resources.ConversionValueRuleSet + conversion_value_rule_set = 165; + + // The ClickView referenced in the query. + google.ads.googleads.v16.resources.ClickView click_view = 122; + + // The currency constant referenced in the query. + google.ads.googleads.v16.resources.CurrencyConstant currency_constant = 134; + + // The CustomAudience referenced in the query. + google.ads.googleads.v16.resources.CustomAudience custom_audience = 147; + + // The CustomConversionGoal referenced in the query. + google.ads.googleads.v16.resources.CustomConversionGoal + custom_conversion_goal = 176; + + // The CustomInterest referenced in the query. + google.ads.googleads.v16.resources.CustomInterest custom_interest = 104; + + // The customer referenced in the query. + google.ads.googleads.v16.resources.Customer customer = 1; + + // The customer asset referenced in the query. + google.ads.googleads.v16.resources.CustomerAsset customer_asset = 155; + + // The customer asset set referenced in the query. + google.ads.googleads.v16.resources.CustomerAssetSet customer_asset_set = 195; + + // The accessible bidding strategy referenced in the query. + google.ads.googleads.v16.resources.AccessibleBiddingStrategy + accessible_bidding_strategy = 169; + + // The customer customizer referenced in the query. + google.ads.googleads.v16.resources.CustomerCustomizer customer_customizer = + 184; + + // The CustomerManagerLink referenced in the query. + google.ads.googleads.v16.resources.CustomerManagerLink customer_manager_link = + 61; + + // The CustomerClientLink referenced in the query. + google.ads.googleads.v16.resources.CustomerClientLink customer_client_link = + 62; + + // The CustomerClient referenced in the query. + google.ads.googleads.v16.resources.CustomerClient customer_client = 70; + + // The CustomerConversionGoal referenced in the query. + google.ads.googleads.v16.resources.CustomerConversionGoal + customer_conversion_goal = 174; + + // The customer extension setting referenced in the query. + google.ads.googleads.v16.resources.CustomerExtensionSetting + customer_extension_setting = 114; + + // The customer feed referenced in the query. + google.ads.googleads.v16.resources.CustomerFeed customer_feed = 64; + + // The customer label referenced in the query. + google.ads.googleads.v16.resources.CustomerLabel customer_label = 124; + + // The customer lifecycle goal referenced in the query. + google.ads.googleads.v16.resources.CustomerLifecycleGoal + customer_lifecycle_goal = 212; + + // The customer negative criterion referenced in the query. + google.ads.googleads.v16.resources.CustomerNegativeCriterion + customer_negative_criterion = 88; + + // The customer search term insight referenced in the query. + google.ads.googleads.v16.resources.CustomerSearchTermInsight + customer_search_term_insight = 205; + + // The CustomerUserAccess referenced in the query. + google.ads.googleads.v16.resources.CustomerUserAccess customer_user_access = + 146; + + // The CustomerUserAccessInvitation referenced in the query. + google.ads.googleads.v16.resources.CustomerUserAccessInvitation + customer_user_access_invitation = 150; + + // The customizer attribute referenced in the query. + google.ads.googleads.v16.resources.CustomizerAttribute customizer_attribute = + 178; + + // The detail placement view referenced in the query. + google.ads.googleads.v16.resources.DetailPlacementView detail_placement_view = + 118; + + // The detailed demographic referenced in the query. + google.ads.googleads.v16.resources.DetailedDemographic detailed_demographic = + 166; + + // The display keyword view referenced in the query. + google.ads.googleads.v16.resources.DisplayKeywordView display_keyword_view = + 47; + + // The distance view referenced in the query. + google.ads.googleads.v16.resources.DistanceView distance_view = 132; + + // The dynamic search ads search term view referenced in the query. + google.ads.googleads.v16.resources.DynamicSearchAdsSearchTermView + dynamic_search_ads_search_term_view = 106; + + // The expanded landing page view referenced in the query. + google.ads.googleads.v16.resources.ExpandedLandingPageView + expanded_landing_page_view = 128; + + // The extension feed item referenced in the query. + google.ads.googleads.v16.resources.ExtensionFeedItem extension_feed_item = 85; + + // The feed referenced in the query. + google.ads.googleads.v16.resources.Feed feed = 46; + + // The feed item referenced in the query. + google.ads.googleads.v16.resources.FeedItem feed_item = 50; + + // The feed item set referenced in the query. + google.ads.googleads.v16.resources.FeedItemSet feed_item_set = 149; + + // The feed item set link referenced in the query. + google.ads.googleads.v16.resources.FeedItemSetLink feed_item_set_link = 151; + + // The feed item target referenced in the query. + google.ads.googleads.v16.resources.FeedItemTarget feed_item_target = 116; + + // The feed mapping referenced in the query. + google.ads.googleads.v16.resources.FeedMapping feed_mapping = 58; + + // The feed placeholder view referenced in the query. + google.ads.googleads.v16.resources.FeedPlaceholderView feed_placeholder_view = + 97; + + // The gender view referenced in the query. + google.ads.googleads.v16.resources.GenderView gender_view = 40; + + // The geo target constant referenced in the query. + google.ads.googleads.v16.resources.GeoTargetConstant geo_target_constant = 23; + + // The geographic view referenced in the query. + google.ads.googleads.v16.resources.GeographicView geographic_view = 125; + + // The group placement view referenced in the query. + google.ads.googleads.v16.resources.GroupPlacementView group_placement_view = + 119; + + // The hotel group view referenced in the query. + google.ads.googleads.v16.resources.HotelGroupView hotel_group_view = 51; + + // The hotel performance view referenced in the query. + google.ads.googleads.v16.resources.HotelPerformanceView + hotel_performance_view = 71; + + // The hotel reconciliation referenced in the query. + google.ads.googleads.v16.resources.HotelReconciliation hotel_reconciliation = + 188; + + // The income range view referenced in the query. + google.ads.googleads.v16.resources.IncomeRangeView income_range_view = 138; + + // The keyword view referenced in the query. + google.ads.googleads.v16.resources.KeywordView keyword_view = 21; + + // The keyword plan referenced in the query. + google.ads.googleads.v16.resources.KeywordPlan keyword_plan = 32; + + // The keyword plan campaign referenced in the query. + google.ads.googleads.v16.resources.KeywordPlanCampaign keyword_plan_campaign = + 33; + + // The keyword plan campaign keyword referenced in the query. + google.ads.googleads.v16.resources.KeywordPlanCampaignKeyword + keyword_plan_campaign_keyword = 140; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v16.resources.KeywordPlanAdGroup keyword_plan_ad_group = + 35; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v16.resources.KeywordPlanAdGroupKeyword + keyword_plan_ad_group_keyword = 141; + + // The keyword theme constant referenced in the query. + google.ads.googleads.v16.resources.KeywordThemeConstant + keyword_theme_constant = 163; + + // The label referenced in the query. + google.ads.googleads.v16.resources.Label label = 52; + + // The landing page view referenced in the query. + google.ads.googleads.v16.resources.LandingPageView landing_page_view = 126; + + // The language constant referenced in the query. + google.ads.googleads.v16.resources.LanguageConstant language_constant = 55; + + // The location view referenced in the query. + google.ads.googleads.v16.resources.LocationView location_view = 123; + + // The managed placement view referenced in the query. + google.ads.googleads.v16.resources.ManagedPlacementView + managed_placement_view = 53; + + // The media file referenced in the query. + google.ads.googleads.v16.resources.MediaFile media_file = 90; + + // The local services employee referenced in the query. + google.ads.googleads.v16.resources.LocalServicesEmployee + local_services_employee = 223; + + // The local services verification artifact referenced in the query. + google.ads.googleads.v16.resources.LocalServicesVerificationArtifact + local_services_verification_artifact = 211; + + // The mobile app category constant referenced in the query. + google.ads.googleads.v16.resources.MobileAppCategoryConstant + mobile_app_category_constant = 87; + + // The mobile device constant referenced in the query. + google.ads.googleads.v16.resources.MobileDeviceConstant + mobile_device_constant = 98; + + // Offline conversion upload client summary. + google.ads.googleads.v16.resources.OfflineConversionUploadClientSummary + offline_conversion_upload_client_summary = 216; + + // The offline user data job referenced in the query. + google.ads.googleads.v16.resources.OfflineUserDataJob offline_user_data_job = + 137; + + // The operating system version constant referenced in the query. + google.ads.googleads.v16.resources.OperatingSystemVersionConstant + operating_system_version_constant = 86; + + // The paid organic search term view referenced in the query. + google.ads.googleads.v16.resources.PaidOrganicSearchTermView + paid_organic_search_term_view = 129; + + // The qualifying question referenced in the query. + google.ads.googleads.v16.resources.QualifyingQuestion qualifying_question = + 202; + + // The parental status view referenced in the query. + google.ads.googleads.v16.resources.ParentalStatusView parental_status_view = + 45; + + // The per store view referenced in the query. + google.ads.googleads.v16.resources.PerStoreView per_store_view = 198; + + // The product category referenced in the query. + google.ads.googleads.v16.resources.ProductCategoryConstant + product_category_constant = 208; + + // The product group view referenced in the query. + google.ads.googleads.v16.resources.ProductGroupView product_group_view = 54; + + // The product link referenced in the query. + google.ads.googleads.v16.resources.ProductLink product_link = 194; + + // The product link invitation in the query. + google.ads.googleads.v16.resources.ProductLinkInvitation + product_link_invitation = 209; + + // The recommendation referenced in the query. + google.ads.googleads.v16.resources.Recommendation recommendation = 22; + + // The recommendation subscription referenced in the query. + google.ads.googleads.v16.resources.RecommendationSubscription + recommendation_subscription = 220; + + // The search term view referenced in the query. + google.ads.googleads.v16.resources.SearchTermView search_term_view = 68; + + // The shared set referenced in the query. + google.ads.googleads.v16.resources.SharedCriterion shared_criterion = 29; + + // The shared set referenced in the query. + google.ads.googleads.v16.resources.SharedSet shared_set = 27; + + // The Smart campaign setting referenced in the query. + google.ads.googleads.v16.resources.SmartCampaignSetting + smart_campaign_setting = 167; + + // The shopping performance view referenced in the query. + google.ads.googleads.v16.resources.ShoppingPerformanceView + shopping_performance_view = 117; + + // The Smart campaign search term view referenced in the query. + google.ads.googleads.v16.resources.SmartCampaignSearchTermView + smart_campaign_search_term_view = 170; + + // The AccountLink referenced in the query. + google.ads.googleads.v16.resources.ThirdPartyAppAnalyticsLink + third_party_app_analytics_link = 144; + + // The topic view referenced in the query. + google.ads.googleads.v16.resources.TopicView topic_view = 44; + + // The travel activity group view referenced in the query. + google.ads.googleads.v16.resources.TravelActivityGroupView + travel_activity_group_view = 201; + + // The travel activity performance view referenced in the query. + google.ads.googleads.v16.resources.TravelActivityPerformanceView + travel_activity_performance_view = 200; + + // The experiment referenced in the query. + google.ads.googleads.v16.resources.Experiment experiment = 133; + + // The experiment arm referenced in the query. + google.ads.googleads.v16.resources.ExperimentArm experiment_arm = 183; + + // The user interest referenced in the query. + google.ads.googleads.v16.resources.UserInterest user_interest = 59; + + // The life event referenced in the query. + google.ads.googleads.v16.resources.LifeEvent life_event = 161; + + // The user list referenced in the query. + google.ads.googleads.v16.resources.UserList user_list = 38; + + // The user location view referenced in the query. + google.ads.googleads.v16.resources.UserLocationView user_location_view = 135; + + // The remarketing action referenced in the query. + google.ads.googleads.v16.resources.RemarketingAction remarketing_action = 60; + + // The topic constant referenced in the query. + google.ads.googleads.v16.resources.TopicConstant topic_constant = 31; + + // The video referenced in the query. + google.ads.googleads.v16.resources.Video video = 39; + + // The webpage view referenced in the query. + google.ads.googleads.v16.resources.WebpageView webpage_view = 162; + + // The lead form user submission referenced in the query. + google.ads.googleads.v16.resources.LeadFormSubmissionData + lead_form_submission_data = 192; + + // The local services lead referenced in the query. + google.ads.googleads.v16.resources.LocalServicesLead local_services_lead = + 210; + + // The local services lead conversationreferenced in the query. + google.ads.googleads.v16.resources.LocalServicesLeadConversation + local_services_lead_conversation = 214; + + // The android privacy shared key google ad group referenced in the query. + google.ads.googleads.v16.resources.AndroidPrivacySharedKeyGoogleAdGroup + android_privacy_shared_key_google_ad_group = 217; + + // The android privacy shared key google campaign referenced in the query. + google.ads.googleads.v16.resources.AndroidPrivacySharedKeyGoogleCampaign + android_privacy_shared_key_google_campaign = 218; + + // The android privacy shared key google network type referenced in the query. + google.ads.googleads.v16.resources.AndroidPrivacySharedKeyGoogleNetworkType + android_privacy_shared_key_google_network_type = 219; + + // The metrics. + google.ads.googleads.v16.common.Metrics metrics = 4; + + // The segments. + google.ads.googleads.v16.common.Segments segments = 102; +} + +// Request message for +// [GoogleAdsService.Mutate][google.ads.googleads.v16.services.GoogleAdsService.Mutate]. +message MutateGoogleAdsRequest { + // Required. The ID of the customer whose resources are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual resources. + repeated MutateOperation mutate_operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. The mutable + // resource will only be returned if the resource has the appropriate response + // field. For example, MutateCampaignResult.campaign. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// Response message for +// [GoogleAdsService.Mutate][google.ads.googleads.v16.services.GoogleAdsService.Mutate]. +message MutateGoogleAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All responses for the mutate. + repeated MutateOperationResponse mutate_operation_responses = 1; +} + +// A single operation (create, update, remove) on a resource. +message MutateOperation { + // The mutate operation. + oneof operation { + // An ad group ad label mutate operation. + AdGroupAdLabelOperation ad_group_ad_label_operation = 17; + + // An ad group ad mutate operation. + AdGroupAdOperation ad_group_ad_operation = 1; + + // An ad group asset mutate operation. + AdGroupAssetOperation ad_group_asset_operation = 56; + + // An ad group bid modifier mutate operation. + AdGroupBidModifierOperation ad_group_bid_modifier_operation = 2; + + // An ad group criterion customizer mutate operation. + AdGroupCriterionCustomizerOperation + ad_group_criterion_customizer_operation = 77; + + // An ad group criterion label mutate operation. + AdGroupCriterionLabelOperation ad_group_criterion_label_operation = 18; + + // An ad group criterion mutate operation. + AdGroupCriterionOperation ad_group_criterion_operation = 3; + + // An ad group customizer mutate operation. + AdGroupCustomizerOperation ad_group_customizer_operation = 75; + + // An ad group extension setting mutate operation. + AdGroupExtensionSettingOperation ad_group_extension_setting_operation = 19; + + // An ad group feed mutate operation. + AdGroupFeedOperation ad_group_feed_operation = 20; + + // An ad group label mutate operation. + AdGroupLabelOperation ad_group_label_operation = 21; + + // An ad group mutate operation. + AdGroupOperation ad_group_operation = 5; + + // An ad mutate operation. + AdOperation ad_operation = 49; + + // An ad parameter mutate operation. + AdParameterOperation ad_parameter_operation = 22; + + // An asset mutate operation. + AssetOperation asset_operation = 23; + + // An asset group asset mutate operation. + AssetGroupAssetOperation asset_group_asset_operation = 65; + + // An asset group listing group filter mutate operation. + AssetGroupListingGroupFilterOperation + asset_group_listing_group_filter_operation = 78; + + // An asset group signal mutate operation. + AssetGroupSignalOperation asset_group_signal_operation = 80; + + // An asset group mutate operation. + AssetGroupOperation asset_group_operation = 62; + + // An asset set asset mutate operation. + AssetSetAssetOperation asset_set_asset_operation = 71; + + // An asset set mutate operation. + AssetSetOperation asset_set_operation = 72; + + // An audience mutate operation. + AudienceOperation audience_operation = 81; + + // A bidding data exclusion mutate operation. + BiddingDataExclusionOperation bidding_data_exclusion_operation = 58; + + // A bidding seasonality adjustment mutate operation. + BiddingSeasonalityAdjustmentOperation + bidding_seasonality_adjustment_operation = 59; + + // A bidding strategy mutate operation. + BiddingStrategyOperation bidding_strategy_operation = 6; + + // A campaign asset mutate operation. + CampaignAssetOperation campaign_asset_operation = 52; + + // A campaign asset mutate operation. + CampaignAssetSetOperation campaign_asset_set_operation = 73; + + // A campaign bid modifier mutate operation. + CampaignBidModifierOperation campaign_bid_modifier_operation = 7; + + // A campaign budget mutate operation. + CampaignBudgetOperation campaign_budget_operation = 8; + + // A campaign conversion goal mutate operation. + CampaignConversionGoalOperation campaign_conversion_goal_operation = 67; + + // A campaign criterion mutate operation. + CampaignCriterionOperation campaign_criterion_operation = 13; + + // A campaign customizer mutate operation. + CampaignCustomizerOperation campaign_customizer_operation = 76; + + // A campaign draft mutate operation. + CampaignDraftOperation campaign_draft_operation = 24; + + // A campaign extension setting mutate operation. + CampaignExtensionSettingOperation campaign_extension_setting_operation = 26; + + // A campaign feed mutate operation. + CampaignFeedOperation campaign_feed_operation = 27; + + // A campaign group mutate operation. + CampaignGroupOperation campaign_group_operation = 9; + + // A campaign label mutate operation. + CampaignLabelOperation campaign_label_operation = 28; + + // A campaign mutate operation. + CampaignOperation campaign_operation = 10; + + // A campaign shared set mutate operation. + CampaignSharedSetOperation campaign_shared_set_operation = 11; + + // A conversion action mutate operation. + ConversionActionOperation conversion_action_operation = 12; + + // A conversion custom variable mutate operation. + ConversionCustomVariableOperation conversion_custom_variable_operation = 55; + + // A conversion goal campaign config mutate operation. + ConversionGoalCampaignConfigOperation + conversion_goal_campaign_config_operation = 69; + + // A conversion value rule mutate operation. + ConversionValueRuleOperation conversion_value_rule_operation = 63; + + // A conversion value rule set mutate operation. + ConversionValueRuleSetOperation conversion_value_rule_set_operation = 64; + + // A custom conversion goal mutate operation. + CustomConversionGoalOperation custom_conversion_goal_operation = 68; + + // A customer asset mutate operation. + CustomerAssetOperation customer_asset_operation = 57; + + // A customer conversion goal mutate operation. + CustomerConversionGoalOperation customer_conversion_goal_operation = 66; + + // A customer customizer mutate operation. + CustomerCustomizerOperation customer_customizer_operation = 79; + + // A customer extension setting mutate operation. + CustomerExtensionSettingOperation customer_extension_setting_operation = 30; + + // A customer feed mutate operation. + CustomerFeedOperation customer_feed_operation = 31; + + // A customer label mutate operation. + CustomerLabelOperation customer_label_operation = 32; + + // A customer negative criterion mutate operation. + CustomerNegativeCriterionOperation customer_negative_criterion_operation = + 34; + + // A customer mutate operation. + CustomerOperation customer_operation = 35; + + // A customizer attribute mutate operation. + CustomizerAttributeOperation customizer_attribute_operation = 70; + + // An experiment mutate operation. + ExperimentOperation experiment_operation = 82; + + // An experiment arm mutate operation. + ExperimentArmOperation experiment_arm_operation = 83; + + // An extension feed item mutate operation. + ExtensionFeedItemOperation extension_feed_item_operation = 36; + + // A feed item mutate operation. + FeedItemOperation feed_item_operation = 37; + + // A feed item set mutate operation. + FeedItemSetOperation feed_item_set_operation = 53; + + // A feed item set link mutate operation. + FeedItemSetLinkOperation feed_item_set_link_operation = 54; + + // A feed item target mutate operation. + FeedItemTargetOperation feed_item_target_operation = 38; + + // A feed mapping mutate operation. + FeedMappingOperation feed_mapping_operation = 39; + + // A feed mutate operation. + FeedOperation feed_operation = 40; + + // A keyword plan ad group operation. + KeywordPlanAdGroupOperation keyword_plan_ad_group_operation = 44; + + // A keyword plan ad group keyword operation. + KeywordPlanAdGroupKeywordOperation keyword_plan_ad_group_keyword_operation = + 50; + + // A keyword plan campaign keyword operation. + KeywordPlanCampaignKeywordOperation + keyword_plan_campaign_keyword_operation = 51; + + // A keyword plan campaign operation. + KeywordPlanCampaignOperation keyword_plan_campaign_operation = 45; + + // A keyword plan operation. + KeywordPlanOperation keyword_plan_operation = 48; + + // A label mutate operation. + LabelOperation label_operation = 41; + + // A recommendation subscription mutate operation. + RecommendationSubscriptionOperation recommendation_subscription_operation = + 86; + + // A remarketing action mutate operation. + RemarketingActionOperation remarketing_action_operation = 43; + + // A shared criterion mutate operation. + SharedCriterionOperation shared_criterion_operation = 14; + + // A shared set mutate operation. + SharedSetOperation shared_set_operation = 15; + + // A Smart campaign setting mutate operation. + SmartCampaignSettingOperation smart_campaign_setting_operation = 61; + + // A user list mutate operation. + UserListOperation user_list_operation = 16; + } +} + +// Response message for the resource mutate. +message MutateOperationResponse { + // The mutate response. + oneof response { + // The result for the ad group ad label mutate. + MutateAdGroupAdLabelResult ad_group_ad_label_result = 17; + + // The result for the ad group ad mutate. + MutateAdGroupAdResult ad_group_ad_result = 1; + + // The result for the ad group asset mutate. + MutateAdGroupAssetResult ad_group_asset_result = 56; + + // The result for the ad group bid modifier mutate. + MutateAdGroupBidModifierResult ad_group_bid_modifier_result = 2; + + // The result for the ad group criterion customizer mutate. + MutateAdGroupCriterionCustomizerResult + ad_group_criterion_customizer_result = 77; + + // The result for the ad group criterion label mutate. + MutateAdGroupCriterionLabelResult ad_group_criterion_label_result = 18; + + // The result for the ad group criterion mutate. + MutateAdGroupCriterionResult ad_group_criterion_result = 3; + + // The result for the ad group customizer mutate. + MutateAdGroupCustomizerResult ad_group_customizer_result = 75; + + // The result for the ad group extension setting mutate. + MutateAdGroupExtensionSettingResult ad_group_extension_setting_result = 19; + + // The result for the ad group feed mutate. + MutateAdGroupFeedResult ad_group_feed_result = 20; + + // The result for the ad group label mutate. + MutateAdGroupLabelResult ad_group_label_result = 21; + + // The result for the ad group mutate. + MutateAdGroupResult ad_group_result = 5; + + // The result for the ad parameter mutate. + MutateAdParameterResult ad_parameter_result = 22; + + // The result for the ad mutate. + MutateAdResult ad_result = 49; + + // The result for the asset mutate. + MutateAssetResult asset_result = 23; + + // The result for the asset group asset mutate. + MutateAssetGroupAssetResult asset_group_asset_result = 65; + + // The result for the asset group listing group filter mutate. + MutateAssetGroupListingGroupFilterResult + asset_group_listing_group_filter_result = 78; + + // The result for the asset group signal mutate. + MutateAssetGroupSignalResult asset_group_signal_result = 79; + + // The result for the asset group mutate. + MutateAssetGroupResult asset_group_result = 62; + + // The result for the asset set asset mutate. + MutateAssetSetAssetResult asset_set_asset_result = 71; + + // The result for the asset set mutate. + MutateAssetSetResult asset_set_result = 72; + + // The result for the audience mutate. + MutateAudienceResult audience_result = 80; + + // The result for the bidding data exclusion mutate. + MutateBiddingDataExclusionsResult bidding_data_exclusion_result = 58; + + // The result for the bidding seasonality adjustment mutate. + MutateBiddingSeasonalityAdjustmentsResult + bidding_seasonality_adjustment_result = 59; + + // The result for the bidding strategy mutate. + MutateBiddingStrategyResult bidding_strategy_result = 6; + + // The result for the campaign asset mutate. + MutateCampaignAssetResult campaign_asset_result = 52; + + // The result for the campaign asset set mutate. + MutateCampaignAssetSetResult campaign_asset_set_result = 73; + + // The result for the campaign bid modifier mutate. + MutateCampaignBidModifierResult campaign_bid_modifier_result = 7; + + // The result for the campaign budget mutate. + MutateCampaignBudgetResult campaign_budget_result = 8; + + // The result for the campaign conversion goal mutate. + MutateCampaignConversionGoalResult campaign_conversion_goal_result = 67; + + // The result for the campaign criterion mutate. + MutateCampaignCriterionResult campaign_criterion_result = 13; + + // The result for the campaign customizer mutate. + MutateCampaignCustomizerResult campaign_customizer_result = 76; + + // The result for the campaign draft mutate. + MutateCampaignDraftResult campaign_draft_result = 24; + + // The result for the campaign extension setting mutate. + MutateCampaignExtensionSettingResult campaign_extension_setting_result = 26; + + // The result for the campaign feed mutate. + MutateCampaignFeedResult campaign_feed_result = 27; + + // The result for the campaign group mutate. + MutateCampaignGroupResult campaign_group_result = 9; + + // The result for the campaign label mutate. + MutateCampaignLabelResult campaign_label_result = 28; + + // The result for the campaign mutate. + MutateCampaignResult campaign_result = 10; + + // The result for the campaign shared set mutate. + MutateCampaignSharedSetResult campaign_shared_set_result = 11; + + // The result for the conversion action mutate. + MutateConversionActionResult conversion_action_result = 12; + + // The result for the conversion custom variable mutate. + MutateConversionCustomVariableResult conversion_custom_variable_result = 55; + + // The result for the conversion goal campaign config mutate. + MutateConversionGoalCampaignConfigResult + conversion_goal_campaign_config_result = 69; + + // The result for the conversion value rule mutate. + MutateConversionValueRuleResult conversion_value_rule_result = 63; + + // The result for the conversion value rule set mutate. + MutateConversionValueRuleSetResult conversion_value_rule_set_result = 64; + + // The result for the custom conversion goal mutate. + MutateCustomConversionGoalResult custom_conversion_goal_result = 68; + + // The result for the customer asset mutate. + MutateCustomerAssetResult customer_asset_result = 57; + + // The result for the customer conversion goal mutate. + MutateCustomerConversionGoalResult customer_conversion_goal_result = 66; + + // The result for the customer customizer mutate. + MutateCustomerCustomizerResult customer_customizer_result = 74; + + // The result for the customer extension setting mutate. + MutateCustomerExtensionSettingResult customer_extension_setting_result = 30; + + // The result for the customer feed mutate. + MutateCustomerFeedResult customer_feed_result = 31; + + // The result for the customer label mutate. + MutateCustomerLabelResult customer_label_result = 32; + + // The result for the customer negative criterion mutate. + MutateCustomerNegativeCriteriaResult customer_negative_criterion_result = + 34; + + // The result for the customer mutate. + MutateCustomerResult customer_result = 35; + + // The result for the customizer attribute mutate. + MutateCustomizerAttributeResult customizer_attribute_result = 70; + + // The result for the experiment mutate. + MutateExperimentResult experiment_result = 81; + + // The result for the experiment arm mutate. + MutateExperimentArmResult experiment_arm_result = 82; + + // The result for the extension feed item mutate. + MutateExtensionFeedItemResult extension_feed_item_result = 36; + + // The result for the feed item mutate. + MutateFeedItemResult feed_item_result = 37; + + // The result for the feed item set mutate. + MutateFeedItemSetResult feed_item_set_result = 53; + + // The result for the feed item set link mutate. + MutateFeedItemSetLinkResult feed_item_set_link_result = 54; + + // The result for the feed item target mutate. + MutateFeedItemTargetResult feed_item_target_result = 38; + + // The result for the feed mapping mutate. + MutateFeedMappingResult feed_mapping_result = 39; + + // The result for the feed mutate. + MutateFeedResult feed_result = 40; + + // The result for the keyword plan ad group mutate. + MutateKeywordPlanAdGroupResult keyword_plan_ad_group_result = 44; + + // The result for the keyword plan campaign mutate. + MutateKeywordPlanCampaignResult keyword_plan_campaign_result = 45; + + // The result for the keyword plan ad group keyword mutate. + MutateKeywordPlanAdGroupKeywordResult keyword_plan_ad_group_keyword_result = + 50; + + // The result for the keyword plan campaign keyword mutate. + MutateKeywordPlanCampaignKeywordResult + keyword_plan_campaign_keyword_result = 51; + + // The result for the keyword plan mutate. + MutateKeywordPlansResult keyword_plan_result = 48; + + // The result for the label mutate. + MutateLabelResult label_result = 41; + + // The result for the recommendation subscription mutate. + MutateRecommendationSubscriptionResult recommendation_subscription_result = + 85; + + // The result for the remarketing action mutate. + MutateRemarketingActionResult remarketing_action_result = 43; + + // The result for the shared criterion mutate. + MutateSharedCriterionResult shared_criterion_result = 14; + + // The result for the shared set mutate. + MutateSharedSetResult shared_set_result = 15; + + // The result for the Smart campaign setting mutate. + MutateSmartCampaignSettingResult smart_campaign_setting_result = 61; + + // The result for the user list mutate. + MutateUserListResult user_list_result = 16; + } +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/identity_verification_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/identity_verification_service.proto new file mode 100644 index 000000000..13b07ab01 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/identity_verification_service.proto @@ -0,0 +1,148 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/identity_verification_program.proto"; +import "google/ads/googleads/v16/enums/identity_verification_program_status.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/empty.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "IdentityVerificationServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the IdentityVerificatio Service. + +// A service for managing Identity Verification Service. +service IdentityVerificationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Starts Identity Verification for a given verification program type. + // Statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc StartIdentityVerification(StartIdentityVerificationRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:startIdentityVerification" + body: "*" + }; + option (google.api.method_signature) = "customer_id,verification_program"; + } + + // Returns Identity Verification information. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetIdentityVerification(GetIdentityVerificationRequest) + returns (GetIdentityVerificationResponse) { + option (google.api.http) = { + get: "/v16/customers/{customer_id=*}/getIdentityVerification" + }; + option (google.api.method_signature) = "customer_id"; + } +} + +// Request message for +// [IdentityVerificationService.StartIdentityVerification]. +message StartIdentityVerificationRequest { + // Required. The Id of the customer for whom we are creating this + // verification. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The verification program type for which we want to start the + // verification. + google.ads.googleads.v16.enums.IdentityVerificationProgramEnum + .IdentityVerificationProgram verification_program = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [IdentityVerificationService.GetIdentityVerification]. +message GetIdentityVerificationRequest { + // Required. The ID of the customer for whom we are requesting verification + // information. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [IdentityVerificationService.GetIdentityVerification]. +message GetIdentityVerificationResponse { + // List of identity verifications for the customer. + repeated IdentityVerification identity_verification = 1; +} + +// An identity verification for a customer. +message IdentityVerification { + // The verification program type. + google.ads.googleads.v16.enums.IdentityVerificationProgramEnum + .IdentityVerificationProgram verification_program = 1; + + // The verification requirement for this verification program for this + // customer. + optional IdentityVerificationRequirement identity_verification_requirement = + 2; + + // Information regarding progress for this verification program for this + // customer. + optional IdentityVerificationProgress verification_progress = 3; +} + +// Information regarding the verification progress for a verification program +// type. +message IdentityVerificationProgress { + // Current Status (PENDING_USER_ACTION, SUCCESS, FAILURE etc) + google.ads.googleads.v16.enums.IdentityVerificationProgramStatusEnum + .IdentityVerificationProgramStatus program_status = 1; + + // The timestamp when the action url will expire in "yyyy-MM-dd HH:mm:ss" + // format. + string invitation_link_expiration_time = 2; + + // Action URL for user to complete verification for the given verification + // program type. + string action_url = 3; +} + +// Information regarding the verification requirement for a verification program +// type. +message IdentityVerificationRequirement { + // The deadline to start verification in "yyyy-MM-dd HH:mm:ss" format. + string verification_start_deadline_time = 1; + + // The deadline to submit verification. + string verification_completion_deadline_time = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/invoice_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/invoice_service.proto new file mode 100644 index 000000000..0782388b2 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/invoice_service.proto @@ -0,0 +1,86 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/month_of_year.proto"; +import "google/ads/googleads/v16/resources/invoice.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Invoice service. + +// A service to fetch invoices issued for a billing setup during a given month. +service InvoiceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all invoices associated with a billing setup, for a given month. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [InvoiceError]() + // [QuotaError]() + // [RequestError]() + rpc ListInvoices(ListInvoicesRequest) returns (ListInvoicesResponse) { + option (google.api.http) = { + get: "/v16/customers/{customer_id=*}/invoices" + }; + option (google.api.method_signature) = + "customer_id,billing_setup,issue_year,issue_month"; + } +} + +// Request message for fetching the invoices of a given billing setup that were +// issued during a given month. +message ListInvoicesRequest { + // Required. The ID of the customer to fetch invoices for. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The billing setup resource name of the requested invoices. + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string billing_setup = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue year to retrieve invoices, in yyyy format. Only + // invoices issued in 2019 or later can be retrieved. + string issue_year = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue month to retrieve invoices. + google.ads.googleads.v16.enums.MonthOfYearEnum.MonthOfYear issue_month = 4 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [InvoiceService.ListInvoices][google.ads.googleads.v16.services.InvoiceService.ListInvoices]. +message ListInvoicesResponse { + // The list of invoices that match the billing setup and time period. + repeated google.ads.googleads.v16.resources.Invoice invoices = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_ad_group_keyword_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_ad_group_keyword_service.proto new file mode 100644 index 000000000..37177ab74 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_ad_group_keyword_service.proto @@ -0,0 +1,141 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/keyword_plan_ad_group_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the keyword plan ad group keyword service. + +// Service to manage Keyword Plan ad group keywords. KeywordPlanAdGroup is +// required to add ad group keywords. Positive and negative keywords are +// supported. A maximum of 10,000 positive keywords are allowed per keyword +// plan. A maximum of 1,000 negative keywords are allower per keyword plan. This +// includes campaign negative keywords and ad group negative keywords. +service KeywordPlanAdGroupKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan ad group keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroupKeywords(MutateKeywordPlanAdGroupKeywordsRequest) + returns (MutateKeywordPlanAdGroupKeywordsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v16.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +message MutateKeywordPlanAdGroupKeywordsRequest { + // Required. The ID of the customer whose Keyword Plan ad group keywords are + // being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad + // group keywords. + repeated KeywordPlanAdGroupKeywordOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group +// keyword. +message KeywordPlanAdGroupKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group keyword. + google.ads.googleads.v16.resources.KeywordPlanAdGroupKeyword create = 1; + + // Update operation: The Keyword Plan ad group keyword is expected to have a + // valid resource name. + google.ads.googleads.v16.resources.KeywordPlanAdGroupKeyword update = 2; + + // Remove operation: A resource name for the removed Keyword Plan ad group + // keyword is expected, in this format: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + }]; + } +} + +// Response message for a Keyword Plan ad group keyword mutate. +message MutateKeywordPlanAdGroupKeywordsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateKeywordPlanAdGroupKeywordResult results = 2; +} + +// The result for the Keyword Plan ad group keyword mutate. +message MutateKeywordPlanAdGroupKeywordResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_ad_group_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_ad_group_service.proto new file mode 100644 index 000000000..78aae4af5 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_ad_group_service.proto @@ -0,0 +1,139 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/keyword_plan_ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the keyword plan ad group service. + +// Service to manage Keyword Plan ad groups. +service KeywordPlanAdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan ad groups. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupError]() + // [KeywordPlanError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroups(MutateKeywordPlanAdGroupsRequest) + returns (MutateKeywordPlanAdGroupsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/keywordPlanAdGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v16.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +message MutateKeywordPlanAdGroupsRequest { + // Required. The ID of the customer whose Keyword Plan ad groups are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad + // groups. + repeated KeywordPlanAdGroupOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group. +message KeywordPlanAdGroupOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group. + google.ads.googleads.v16.resources.KeywordPlanAdGroup create = 1; + + // Update operation: The Keyword Plan ad group is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.KeywordPlanAdGroup update = 2; + + // Remove operation: A resource name for the removed Keyword Plan ad group + // is expected, in this format: + // + // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + } +} + +// Response message for a Keyword Plan ad group mutate. +message MutateKeywordPlanAdGroupsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. The order of the results is determined by the + // order of the keywords in the original request. + repeated MutateKeywordPlanAdGroupResult results = 2; +} + +// The result for the Keyword Plan ad group mutate. +message MutateKeywordPlanAdGroupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_campaign_keyword_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_campaign_keyword_service.proto new file mode 100644 index 000000000..02c67ff40 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_campaign_keyword_service.proto @@ -0,0 +1,140 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/keyword_plan_campaign_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the keyword plan campaign keyword service. + +// Service to manage Keyword Plan campaign keywords. KeywordPlanCampaign is +// required to add the campaign keywords. Only negative keywords are supported. +// A maximum of 1000 negative keywords are allowed per plan. This includes both +// campaign negative keywords and ad group negative keywords. +service KeywordPlanCampaignKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan campaign keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanCampaignKeywordError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaignKeywords( + MutateKeywordPlanCampaignKeywordsRequest) + returns (MutateKeywordPlanCampaignKeywordsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v16.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +message MutateKeywordPlanCampaignKeywordsRequest { + // Required. The ID of the customer whose campaign keywords are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan + // campaign keywords. + repeated KeywordPlanCampaignKeywordOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign +// keyword. +message KeywordPlanCampaignKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign keyword. + google.ads.googleads.v16.resources.KeywordPlanCampaignKeyword create = 1; + + // Update operation: The Keyword Plan campaign keyword expected to have a + // valid resource name. + google.ads.googleads.v16.resources.KeywordPlanCampaignKeyword update = 2; + + // Remove operation: A resource name for the removed Keyword Plan campaign + // keywords expected in this format: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + }]; + } +} + +// Response message for a Keyword Plan campaign keyword mutate. +message MutateKeywordPlanCampaignKeywordsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateKeywordPlanCampaignKeywordResult results = 2; +} + +// The result for the Keyword Plan campaign keyword mutate. +message MutateKeywordPlanCampaignKeywordResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_campaign_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_campaign_service.proto new file mode 100644 index 000000000..4b7bb8c86 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_campaign_service.proto @@ -0,0 +1,139 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/keyword_plan_campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the keyword plan campaign service. + +// Service to manage Keyword Plan campaigns. +service KeywordPlanCampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan campaigns. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanCampaignError]() + // [KeywordPlanError]() + // [ListOperationError]() + // [MutateError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaigns(MutateKeywordPlanCampaignsRequest) + returns (MutateKeywordPlanCampaignsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/keywordPlanCampaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v16.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +message MutateKeywordPlanCampaignsRequest { + // Required. The ID of the customer whose Keyword Plan campaigns are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan + // campaigns. + repeated KeywordPlanCampaignOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign. +message KeywordPlanCampaignOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign. + google.ads.googleads.v16.resources.KeywordPlanCampaign create = 1; + + // Update operation: The Keyword Plan campaign is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.KeywordPlanCampaign update = 2; + + // Remove operation: A resource name for the removed Keyword Plan campaign + // is expected, in this format: + // + // `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + } +} + +// Response message for a Keyword Plan campaign mutate. +message MutateKeywordPlanCampaignsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateKeywordPlanCampaignResult results = 2; +} + +// The result for the Keyword Plan campaign mutate. +message MutateKeywordPlanCampaignResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_idea_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_idea_service.proto new file mode 100644 index 000000000..b442c6ea7 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_idea_service.proto @@ -0,0 +1,566 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/common/dates.proto"; +import "google/ads/googleads/v16/common/keyword_plan_common.proto"; +import "google/ads/googleads/v16/enums/keyword_match_type.proto"; +import "google/ads/googleads/v16/enums/keyword_plan_keyword_annotation.proto"; +import "google/ads/googleads/v16/enums/keyword_plan_network.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the keyword plan idea service. + +// Service to generate keyword ideas. +service KeywordPlanIdeaService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns a list of keyword ideas. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanIdeaError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateKeywordIdeas(GenerateKeywordIdeasRequest) + returns (GenerateKeywordIdeaResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:generateKeywordIdeas" + body: "*" + }; + } + + // Returns a list of keyword historical metrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateKeywordHistoricalMetrics(GenerateKeywordHistoricalMetricsRequest) + returns (GenerateKeywordHistoricalMetricsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:generateKeywordHistoricalMetrics" + body: "*" + }; + } + + // Returns a list of suggested AdGroups and suggested modifications + // (text, match type) for the given keywords. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateAdGroupThemes(GenerateAdGroupThemesRequest) + returns (GenerateAdGroupThemesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:generateAdGroupThemes" + body: "*" + }; + } + + // Returns metrics (such as impressions, clicks, total cost) of a keyword + // forecast for the given campaign. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateKeywordForecastMetrics(GenerateKeywordForecastMetricsRequest) + returns (GenerateKeywordForecastMetricsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:generateKeywordForecastMetrics" + body: "*" + }; + } +} + +// Request message for +// [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. +message GenerateKeywordIdeasRequest { + // The ID of the customer with the recommendation. + string customer_id = 1; + + // The resource name of the language to target. + // Each keyword belongs to some set of languages; a keyword is included if + // language is one of its languages. + // If not set, all keywords will be included. + optional string language = 14; + + // The resource names of the location to target. Maximum is 10. + // An empty list MAY be used to specify all targeting geos. + repeated string geo_target_constants = 15; + + // If true, adult keywords will be included in response. + // The default value is false. + bool include_adult_keywords = 10; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. To request next page of results use the + // value obtained from `next_page_token` in the previous response. + // The request fields must match across pages. + string page_token = 12; + + // Number of results to retrieve in a single page. + // A maximum of 10,000 results may be returned, if the page_size + // exceeds this, it is ignored. + // If unspecified, at most 10,000 results will be returned. + // The server may decide to further limit the number of returned resources. + // If the response contains fewer than 10,000 results it may not be assumed + // as last page of results. + int32 page_size = 13; + + // Targeting network. + // If not set, Google Search And Partners Network will be used. + google.ads.googleads.v16.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 9; + + // The keyword annotations to include in response. + repeated google.ads.googleads.v16.enums.KeywordPlanKeywordAnnotationEnum + .KeywordPlanKeywordAnnotation keyword_annotation = 17; + + // The aggregate fields to include in response. + google.ads.googleads.v16.common.KeywordPlanAggregateMetrics + aggregate_metrics = 16; + + // The options for historical metrics data. + google.ads.googleads.v16.common.HistoricalMetricsOptions + historical_metrics_options = 18; + + // The type of seed to generate keyword ideas. + oneof seed { + // A Keyword and a specific Url to generate ideas from + // for example, cars, www.example.com/cars. + KeywordAndUrlSeed keyword_and_url_seed = 2; + + // A Keyword or phrase to generate ideas from, for example, cars. + KeywordSeed keyword_seed = 3; + + // A specific url to generate ideas from, for example, www.example.com/cars. + UrlSeed url_seed = 5; + + // The site to generate ideas from, for example, www.example.com. + SiteSeed site_seed = 11; + } +} + +// Keyword And Url Seed +message KeywordAndUrlSeed { + // The URL to crawl in order to generate keyword ideas. + optional string url = 3; + + // Requires at least one keyword. + repeated string keywords = 4; +} + +// Keyword Seed +message KeywordSeed { + // Requires at least one keyword. + repeated string keywords = 2; +} + +// Site Seed +message SiteSeed { + // The domain name of the site. If the customer requesting the ideas doesn't + // own the site provided only public information is returned. + optional string site = 2; +} + +// Url Seed +message UrlSeed { + // The URL to crawl in order to generate keyword ideas. + optional string url = 2; +} + +// Response message for +// [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. +message GenerateKeywordIdeaResponse { + // Results of generating keyword ideas. + repeated GenerateKeywordIdeaResult results = 1; + + // The aggregate metrics for all keyword ideas. + google.ads.googleads.v16.common.KeywordPlanAggregateMetricResults + aggregate_metric_results = 4; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. + // `next_page_token` is not returned for the last page. + string next_page_token = 2; + + // Total number of results available. + int64 total_size = 3; +} + +// The result of generating keyword ideas. +message GenerateKeywordIdeaResult { + // Text of the keyword idea. + // As in Keyword Plan historical metrics, this text may not be an actual + // keyword, but the canonical form of multiple keywords. + // See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService. + optional string text = 5; + + // The historical metrics for the keyword. + google.ads.googleads.v16.common.KeywordPlanHistoricalMetrics + keyword_idea_metrics = 3; + + // The annotations for the keyword. + // The annotation data is only provided if requested. + google.ads.googleads.v16.common.KeywordAnnotations keyword_annotations = 6; + + // The list of close variants from the requested keywords that + // are combined into this GenerateKeywordIdeaResult. See + // https://support.google.com/google-ads/answer/9342105 for the + // definition of "close variants". + repeated string close_variants = 7; +} + +// Request message for +// [KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics][google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics]. +message GenerateKeywordHistoricalMetricsRequest { + // The ID of the customer with the recommendation. + string customer_id = 1; + + // A list of keywords to get historical metrics. + // Not all inputs will be returned as a result of near-exact deduplication. + // For example, if stats for "car" and "cars" are requested, only "car" will + // be returned. + // A maximum of 10,000 keywords can be used. + repeated string keywords = 2; + + // The resource name of the language to target. + // Each keyword belongs to some set of languages; a keyword is included if + // language is one of its languages. + // If not set, all keywords will be included. + optional string language = 4; + + // If true, adult keywords will be included in response. + // The default value is false. + bool include_adult_keywords = 5; + + // The resource names of the location to target. Maximum is 10. + // An empty list MAY be used to specify all targeting geos. + repeated string geo_target_constants = 6; + + // Targeting network. + // If not set, Google Search And Partners Network will be used. + google.ads.googleads.v16.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 7; + + // The aggregate fields to include in response. + google.ads.googleads.v16.common.KeywordPlanAggregateMetrics + aggregate_metrics = 8; + + // The options for historical metrics data. + google.ads.googleads.v16.common.HistoricalMetricsOptions + historical_metrics_options = 3; +} + +// Response message for +// [KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics][google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics]. +message GenerateKeywordHistoricalMetricsResponse { + // List of keywords and their historical metrics. + repeated GenerateKeywordHistoricalMetricsResult results = 1; + + // The aggregate metrics for all keywords. + google.ads.googleads.v16.common.KeywordPlanAggregateMetricResults + aggregate_metric_results = 2; +} + +// The result of generating keyword historical metrics. +message GenerateKeywordHistoricalMetricsResult { + // The text of the query associated with one or more keywords. + // Note that we de-dupe your keywords list, eliminating close variants + // before returning the keywords as text. For example, if your request + // originally contained the keywords "car" and "cars", the returned search + // query will only contain "cars". The list of de-duped queries will be + // included in close_variants field. + optional string text = 1; + + // The list of close variants from the requested keywords whose stats + // are combined into this GenerateKeywordHistoricalMetricsResult. + repeated string close_variants = 3; + + // The historical metrics for text and its close variants + google.ads.googleads.v16.common.KeywordPlanHistoricalMetrics keyword_metrics = + 2; +} + +// Request message for +// [KeywordPlanIdeaService.GenerateAdGroupThemes][google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateAdGroupThemes]. +message GenerateAdGroupThemesRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A list of keywords to group into the provided AdGroups. + repeated string keywords = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. A list of resource names of AdGroups to group keywords into. + // Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}` + repeated string ad_groups = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [KeywordPlanIdeaService.GenerateAdGroupThemes][google.ads.googleads.v16.services.KeywordPlanIdeaService.GenerateAdGroupThemes]. +message GenerateAdGroupThemesResponse { + // A list of suggested AdGroup/keyword pairings. + repeated AdGroupKeywordSuggestion ad_group_keyword_suggestions = 1; + + // A list of provided AdGroups that could not be used as suggestions. + repeated UnusableAdGroup unusable_ad_groups = 2; +} + +// The suggested text and AdGroup/Campaign pairing for a given keyword. +message AdGroupKeywordSuggestion { + // The original keyword text. + string keyword_text = 1; + + // The normalized version of keyword_text for BROAD/EXACT/PHRASE suggestions. + string suggested_keyword_text = 2; + + // The suggested keyword match type. + google.ads.googleads.v16.enums.KeywordMatchTypeEnum.KeywordMatchType + suggested_match_type = 3; + + // The suggested AdGroup for the keyword. + // Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}` + string suggested_ad_group = 4; + + // The suggested Campaign for the keyword. + // Resource name format: `customers/{customer_id}/campaigns/{campaign_id}` + string suggested_campaign = 5; +} + +// An AdGroup/Campaign pair that could not be used as a suggestion for keywords. +// +// AdGroups may not be usable if the AdGroup +// +// * belongs to a Campaign that is not ENABLED or PAUSED +// * is itself not ENABLED +message UnusableAdGroup { + // The AdGroup resource name. + // Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}` + string ad_group = 1; + + // The Campaign resource name. + // Resource name format: `customers/{customer_id}/campaigns/{campaign_id}` + string campaign = 2; +} + +// Request message for [KeywordPlanIdeaService.GenerateKeywordForecastMetrics]. +message GenerateKeywordForecastMetricsRequest { + // The ID of the customer. + string customer_id = 1; + + // The currency used for exchange rate conversion. + // By default, the account currency of the customer is used. + // Set this field only if the currency is different from the account currency. + // The list of valid currency codes can be found at + // https://developers.google.com/google-ads/api/data/codes-formats#currency-codes. + optional string currency_code = 2; + + // The date range for the forecast. The start date must be in the future and + // end date must be within 1 year from today. The reference timezone used is + // the one of the Google Ads account belonging to the customer. If not set, a + // default date range from next Sunday to the following Saturday will be used. + google.ads.googleads.v16.common.DateRange forecast_period = 3; + + // Required. The campaign used in the forecast. + CampaignToForecast campaign = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// A campaign to do a keyword campaign forecast. +message CampaignToForecast { + // Supported bidding strategies for new campaign forecasts. + message CampaignBiddingStrategy { + // Bidding strategies. + oneof bidding_strategy { + // Use manual CPC bidding strategy for forecasting. + ManualCpcBiddingStrategy manual_cpc_bidding_strategy = 1; + + // Use maximize clicks bidding strategy for forecasting. + MaximizeClicksBiddingStrategy maximize_clicks_bidding_strategy = 2; + + // Use maximize conversions bidding strategy for forecasting. + MaximizeConversionsBiddingStrategy maximize_conversions_bidding_strategy = + 3; + } + } + + // The list of resource names of languages to be targeted. The resource name + // is of the format "languageConstants/{criterion_id}". See + // https://developers.google.com/google-ads/api/data/codes-formats#languages + // for the list of language criterion codes. + repeated string language_constants = 1; + + // Locations to be targeted. Locations must be unique. + repeated CriterionBidModifier geo_modifiers = 2; + + // Required. The network used for targeting. + google.ads.googleads.v16.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork + keyword_plan_network = 3 [(google.api.field_behavior) = REQUIRED]; + + // The list of negative keywords to be used in the campaign when doing the + // forecast. + repeated google.ads.googleads.v16.common.KeywordInfo negative_keywords = 4; + + // Required. The bidding strategy for the campaign. + CampaignBiddingStrategy bidding_strategy = 5 + [(google.api.field_behavior) = REQUIRED]; + + // The expected conversion rate (number of conversions divided by number of + // total clicks) as defined by the user. This value is expressed as a decimal + // value, so an expected conversion rate of 2% should be entered as 0.02. If + // left empty, an estimated conversion rate will be used. + optional double conversion_rate = 6; + + // The ad groups in the new campaign to forecast. + repeated ForecastAdGroup ad_groups = 7; +} + +// An ad group that is part of a campaign to be forecasted. +message ForecastAdGroup { + // The max cpc to use for the ad group when generating forecasted traffic. + // This value will override the max cpc value set in the bidding strategy. + // Only specify this field for bidding strategies that max cpc values. + optional int64 max_cpc_bid_micros = 1; + + // Required. The list of biddable keywords to be used in the ad group when + // doing the forecast. Requires at least one keyword. + repeated BiddableKeyword biddable_keywords = 2 + [(google.api.field_behavior) = REQUIRED]; + + // The details of the keyword. You should specify both the keyword text and + // match type. + repeated google.ads.googleads.v16.common.KeywordInfo negative_keywords = 3; +} + +// A biddable keyword part of an ad group. +message BiddableKeyword { + // Required. Keyword. Must have text and match type. + google.ads.googleads.v16.common.KeywordInfo keyword = 1 + [(google.api.field_behavior) = REQUIRED]; + + // A max cpc bid in micros that overrides the ad group level max cpc bid in + // forecast simulation. This value will override the max cpc value set in the + // bidding strategy and ad group. Only specify this field for bidding + // strategies that support max cpc values. + optional int64 max_cpc_bid_micros = 2; +} + +// Location Criterion bid modifier. +message CriterionBidModifier { + // The resource name of the geo location to target. The resource name is of + // the format "geoTargetConstants/{criterion_id}". + string geo_target_constant = 1; + + // The associated multiplier for the criterion_id. If set, this value cannot + // be 0. + optional double bid_modifier = 2; +} + +// Manual CPC Bidding Strategy. +message ManualCpcBiddingStrategy { + // Campaign level budget in micros. If set, a minimum value + // is enforced for the local currency used in the campaign. An error + // will occur showing the minimum value if this field is set too low. + optional int64 daily_budget_micros = 1; + + // Required. A bid in micros to be applied to ad groups within the campaign + // for a manual CPC bidding strategy. + int64 max_cpc_bid_micros = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Maximize Clicks Bidding Strategy. +message MaximizeClicksBiddingStrategy { + // Required. The daily target spend in micros to be used for estimation. A + // minimum value is enforced for the local currency used in the campaign. An + // error will occur showing the minimum value if this field is set too low. + int64 daily_target_spend_micros = 1 [(google.api.field_behavior) = REQUIRED]; + + // Ceiling on max CPC bids in micros. + optional int64 max_cpc_bid_ceiling_micros = 2; +} + +// Maximize Conversions Bidding Strategy. +message MaximizeConversionsBiddingStrategy { + // Required. The daily target spend in micros to be used for estimation. This + // value must be greater than zero. + int64 daily_target_spend_micros = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [KeywordPlanIdeaService.GenerateKeywordForecastMetrics]. +message GenerateKeywordForecastMetricsResponse { + // Results of the campaign forecast. + optional KeywordForecastMetrics campaign_forecast_metrics = 1; +} + +// The forecast metrics for the planless keyword campaign. +message KeywordForecastMetrics { + // The total number of impressions. + optional double impressions = 1; + + // The average click through rate. Available only if impressions > 0. + optional double click_through_rate = 2; + + // The average cpc. Available only if clicks > 0. + optional int64 average_cpc_micros = 3; + + // The total number of clicks. + optional double clicks = 4; + + // The total cost. + optional int64 cost_micros = 5; + + // Forecasted number of conversions: clicks * conversion_rate. + optional double conversions = 6; + + // Forecasted conversion rate. + optional double conversion_rate = 7; + + // Average cost per acquisition calculated as cost_micros / conversions. + optional int64 average_cpa_micros = 8; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_service.proto new file mode 100644 index 000000000..03aae44c4 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/keyword_plan_service.proto @@ -0,0 +1,134 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/keyword_plan.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the keyword plan service. + +// Service to manage keyword plans. +service KeywordPlanService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes keyword plans. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateKeywordPlans(MutateKeywordPlansRequest) + returns (MutateKeywordPlansResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/keywordPlans:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v16.services.KeywordPlanService.MutateKeywordPlans]. +message MutateKeywordPlansRequest { + // Required. The ID of the customer whose keyword plans are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual keyword plans. + repeated KeywordPlanOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a keyword plan. +message KeywordPlanOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new keyword plan. + google.ads.googleads.v16.resources.KeywordPlan create = 1; + + // Update operation: The keyword plan is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.KeywordPlan update = 2; + + // Remove operation: A resource name for the removed keyword plan is + // expected in this format: + // + // `customers/{customer_id}/keywordPlans/{keyword_plan_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + }]; + } +} + +// Response message for a keyword plan mutate. +message MutateKeywordPlansResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateKeywordPlansResult results = 2; +} + +// The result for the keyword plan mutate. +message MutateKeywordPlansResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/keyword_theme_constant_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/keyword_theme_constant_service.proto new file mode 100644 index 000000000..d1ddc2c52 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/keyword_theme_constant_service.proto @@ -0,0 +1,79 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Smart Campaign keyword theme constant service. + +// Service to fetch Smart Campaign keyword themes. +service KeywordThemeConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns KeywordThemeConstant suggestions by keyword themes. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestKeywordThemeConstants(SuggestKeywordThemeConstantsRequest) + returns (SuggestKeywordThemeConstantsResponse) { + option (google.api.http) = { + post: "/v16/keywordThemeConstants:suggest" + body: "*" + }; + } +} + +// Request message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v16.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsRequest { + // The query text of a keyword theme that will be used to map to similar + // keyword themes. For example, "plumber" or "roofer". + string query_text = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. This for + // refining the scope of the query, default to 'US' if not set. + string country_code = 2; + + // The two letter language code for get corresponding keyword theme for + // refining the scope of the query, default to 'en' if not set. + string language_code = 3; +} + +// Response message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v16.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v16.resources.KeywordThemeConstant + keyword_theme_constants = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/label_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/label_service.proto new file mode 100644 index 000000000..3975a355e --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/label_service.proto @@ -0,0 +1,148 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LabelServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to manage labels. +service LabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes labels. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateLabels(MutateLabelsRequest) returns (MutateLabelsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/labels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [LabelService.MutateLabels][google.ads.googleads.v16.services.LabelService.MutateLabels]. +message MutateLabelsRequest { + // Required. ID of the customer whose labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on labels. + repeated LabelOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove, update) on a label. +message LabelOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new label. + google.ads.googleads.v16.resources.Label create = 1; + + // Update operation: The label is expected to have a valid resource name. + google.ads.googleads.v16.resources.Label update = 2; + + // Remove operation: A resource name for the label being removed, in + // this format: + // + // `customers/{customer_id}/labels/{label_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + }]; + } +} + +// Response message for a labels mutate. +message MutateLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateLabelResult results = 2; +} + +// The result for a label mutate. +message MutateLabelResult { + // Returned for successful operations. + string resource_name = 1 [ + (google.api.resource_reference) = { type: "googleads.googleapis.com/Label" } + ]; + + // The mutated label with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.Label label = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/offline_user_data_job_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/offline_user_data_job_service.proto new file mode 100644 index 000000000..c96c2bd80 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/offline_user_data_job_service.proto @@ -0,0 +1,220 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/offline_user_data.proto"; +import "google/ads/googleads/v16/resources/offline_user_data_job.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the OfflineUserDataJobService. + +// Service to manage offline user data jobs. +service OfflineUserDataJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [NotAllowlistedError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc CreateOfflineUserDataJob(CreateOfflineUserDataJobRequest) + returns (CreateOfflineUserDataJobResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/offlineUserDataJobs:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,job"; + } + + // Adds operations to the offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc AddOfflineUserDataJobOperations(AddOfflineUserDataJobOperationsRequest) + returns (AddOfflineUserDataJobOperationsResponse) { + option (google.api.http) = { + post: "/v16/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,operations"; + } + + // Runs the offline user data job. + // + // When finished, the long running operation will contain the processing + // result or failure information, if any. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc RunOfflineUserDataJob(RunOfflineUserDataJobRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v16/{resource_name=customers/*/offlineUserDataJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v16.resources.OfflineUserDataJobMetadata" + }; + } +} + +// Request message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v16.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobRequest { + // Required. The ID of the customer for which to create an offline user data + // job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The offline user data job to be created. + google.ads.googleads.v16.resources.OfflineUserDataJob job = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // If true, match rate range for the offline user data job is calculated and + // made available in the resource. + bool enable_match_rate_range_preview = 5; +} + +// Response message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v16.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobResponse { + // The resource name of the OfflineUserDataJob. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + }]; +} + +// Request message for +// [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v16.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +message RunOfflineUserDataJobRequest { + // Required. The resource name of the OfflineUserDataJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v16.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsRequest { + // Required. The resource name of the OfflineUserDataJob. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // True to enable partial failure for the offline user data job. + optional bool enable_partial_failure = 4; + + // True to enable warnings for the offline user data job. When enabled, a + // warning will not block the OfflineUserDataJobOperation, and will also + // return warning messages about malformed field values. + optional bool enable_warnings = 6; + + // Required. The list of operations to be done. + repeated OfflineUserDataJobOperation operations = 3 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; +} + +// Operation to be made for the AddOfflineUserDataJobOperationsRequest. +message OfflineUserDataJobOperation { + // Operation to be made for the AddOfflineUserDataJobOperationsRequest. + oneof operation { + // Add the provided data to the transaction. Data cannot be retrieved after + // being uploaded. + google.ads.googleads.v16.common.UserData create = 1; + + // Remove the provided data from the transaction. Data cannot be retrieved + // after being uploaded. + google.ads.googleads.v16.common.UserData remove = 2; + + // Remove all previously provided data. This is only supported for Customer + // Match. + bool remove_all = 3; + } +} + +// Response message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v16.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // Non blocking errors that pertain to operation failures in the warnings + // mode. Returned only when enable_warnings = true. + google.rpc.Status warning = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/payments_account_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/payments_account_service.proto new file mode 100644 index 000000000..e9457fc1f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/payments_account_service.proto @@ -0,0 +1,75 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/payments_account.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the payments account service. + +// Service to provide payments accounts that can be used to set up consolidated +// billing. +service PaymentsAccountService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all payments accounts associated with all managers + // between the login customer ID and specified serving customer in the + // hierarchy, inclusive. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PaymentsAccountError]() + // [QuotaError]() + // [RequestError]() + rpc ListPaymentsAccounts(ListPaymentsAccountsRequest) + returns (ListPaymentsAccountsResponse) { + option (google.api.http) = { + get: "/v16/customers/{customer_id=*}/paymentsAccounts" + }; + option (google.api.method_signature) = "customer_id"; + } +} + +// Request message for fetching all accessible payments accounts. +message ListPaymentsAccountsRequest { + // Required. The ID of the customer to apply the PaymentsAccount list + // operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v16.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v16.resources.PaymentsAccount + payments_accounts = 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/product_link_invitation_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/product_link_invitation_service.proto new file mode 100644 index 000000000..4ca8acdf6 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/product_link_invitation_service.proto @@ -0,0 +1,145 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/product_link_invitation_status.proto"; +import "google/ads/googleads/v16/resources/product_link_invitation.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// This service allows management of product link invitations from Google Ads +// accounts to other accounts. +service ProductLinkInvitationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a product link invitation. + rpc CreateProductLinkInvitation(CreateProductLinkInvitationRequest) + returns (CreateProductLinkInvitationResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/productLinkInvitations:create" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,product_link_invitation"; + } + + // Update a product link invitation. + rpc UpdateProductLinkInvitation(UpdateProductLinkInvitationRequest) + returns (UpdateProductLinkInvitationResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/productLinkInvitations:update" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,product_link_invitation_status,resource_name"; + } + + // Remove a product link invitation. + rpc RemoveProductLinkInvitation(RemoveProductLinkInvitationRequest) + returns (RemoveProductLinkInvitationResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/productLinkInvitations:remove" + body: "*" + }; + option (google.api.method_signature) = "customer_id,resource_name"; + } +} + +// Request message for +// [ProductLinkInvitationService.CreateProductLinkInvitation][google.ads.googleads.v16.services.ProductLinkInvitationService.CreateProductLinkInvitation]. +message CreateProductLinkInvitationRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The product link invitation to be created. + google.ads.googleads.v16.resources.ProductLinkInvitation + product_link_invitation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for product link invitation create. +message CreateProductLinkInvitationResponse { + // Resource name of the product link invitation. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLinkInvitation" + }]; +} + +// Request message for +// [ProductLinkInvitationService.UpdateProductLinkInvitation][google.ads.googleads.v16.services.ProductLinkInvitationService.UpdateProductLinkInvitation]. +message UpdateProductLinkInvitationRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The product link invitation to be created. + google.ads.googleads.v16.enums.ProductLinkInvitationStatusEnum + .ProductLinkInvitationStatus product_link_invitation_status = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Resource name of the product link invitation. + string resource_name = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLinkInvitation" + } + ]; +} + +// Response message for product link invitation update. +message UpdateProductLinkInvitationResponse { + // Result of the update. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLinkInvitation" + }]; +} + +// Request message for +// [ProductLinkinvitationService.RemoveProductLinkInvitation][]. +message RemoveProductLinkInvitationRequest { + // Required. The ID of the product link invitation being removed. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the product link invitation being removed. + // expected, in this format: + // + // ` ` + string resource_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLinkInvitation" + } + ]; +} + +// Response message for product link invitation removeal. +message RemoveProductLinkInvitationResponse { + // Result for the remove request. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLinkInvitation" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/product_link_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/product_link_service.proto new file mode 100644 index 000000000..2f449a7ec --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/product_link_service.proto @@ -0,0 +1,130 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/product_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ProductLinkServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// This service allows management of links between a Google +// Ads customer and another product. +service ProductLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a product link. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc CreateProductLink(CreateProductLinkRequest) + returns (CreateProductLinkResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/productLinks:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,product_link"; + } + + // Removes a product link. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc RemoveProductLink(RemoveProductLinkRequest) + returns (RemoveProductLinkResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/productLinks:remove" + body: "*" + }; + option (google.api.method_signature) = "customer_id,resource_name"; + } +} + +// Request message for +// [ProductLinkService.CreateProductLink][google.ads.googleads.v16.services.ProductLinkService.CreateProductLink]. +message CreateProductLinkRequest { + // Required. The ID of the customer for which the product link is created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The product link to be created. + google.ads.googleads.v16.resources.ProductLink product_link = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [ProductLinkService.CreateProductLink][google.ads.googleads.v16.services.ProductLinkService.CreateProductLink]. +message CreateProductLinkResponse { + // Returned for successful operations. Resource name of the product link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLink" + }]; +} + +// Request message for +// [ProductLinkService.RemoveProductLink][google.ads.googleads.v16.services.ProductLinkService.RemoveProductLink]. +message RemoveProductLinkRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Remove operation: A resource name for the product link to remove + // is expected, in this format: + // + // `customers/{customer_id}/productLinks/{product_link_id} ` + string resource_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLink" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// Response message for product link removal. +message RemoveProductLinkResponse { + // Result for the remove request. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductLink" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/reach_plan_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/reach_plan_service.proto new file mode 100644 index 000000000..fddb7b9a3 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/reach_plan_service.proto @@ -0,0 +1,678 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/common/dates.proto"; +import "google/ads/googleads/v16/enums/frequency_cap_time_unit.proto"; +import "google/ads/googleads/v16/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v16/enums/reach_plan_network.proto"; +import "google/ads/googleads/v16/enums/reach_plan_surface.proto"; +import "google/ads/googleads/v16/enums/target_frequency_time_unit.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the reach plan service. + +// Reach Plan Service gives users information about audience size that can +// be reached through advertisement on YouTube. In particular, +// GenerateReachForecast provides estimated number of people of specified +// demographics that can be reached by an ad in a given market by a campaign of +// certain duration with a defined budget. +service ReachPlanService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the list of plannable locations (for example, countries). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableLocations(ListPlannableLocationsRequest) + returns (ListPlannableLocationsResponse) { + option (google.api.http) = { + post: "/v16:listPlannableLocations" + body: "*" + }; + } + + // Returns the list of per-location plannable YouTube ad formats with allowed + // targeting. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableProducts(ListPlannableProductsRequest) + returns (ListPlannableProductsResponse) { + option (google.api.http) = { + post: "/v16:listPlannableProducts" + body: "*" + }; + option (google.api.method_signature) = "plannable_location_id"; + } + + // Generates a reach forecast for a given targeting / product mix. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [ReachPlanError]() + // [RequestError]() + rpc GenerateReachForecast(GenerateReachForecastRequest) + returns (GenerateReachForecastResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:generateReachForecast" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,campaign_duration,planned_products"; + } +} + +// Request message for +// [ReachPlanService.ListPlannableLocations][google.ads.googleads.v16.services.ReachPlanService.ListPlannableLocations]. +message ListPlannableLocationsRequest {} + +// The list of plannable locations. +message ListPlannableLocationsResponse { + // The list of locations available for planning. + // See + // https://developers.google.com/google-ads/api/reference/data/geotargets + // for sample locations. + repeated PlannableLocation plannable_locations = 1; +} + +// A plannable location: country, metro region, province, etc. +message PlannableLocation { + // The location identifier. + optional string id = 4; + + // The unique location name in English. + optional string name = 5; + + // The parent country (not present if location is a country). + // If present, will always be a GeoTargetConstant ID. Additional information + // such as country name is provided by + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v16.services.ReachPlanService.ListPlannableLocations] + // or GoogleAdsService.Search/SearchStream. + optional int64 parent_country_id = 6; + + // The ISO-3166-1 alpha-2 country code that is associated with the location. + optional string country_code = 7; + + // The location's type. Location types correspond to target_type returned by + // searching location type in GoogleAdsService.Search/SearchStream. + optional string location_type = 8; +} + +// Request to list available products in a given location. +message ListPlannableProductsRequest { + // Required. The ID of the selected location for planning. To list the + // available plannable location IDs use + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v16.services.ReachPlanService.ListPlannableLocations]. + string plannable_location_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response with all available products. +message ListPlannableProductsResponse { + // The list of products available for planning and related targeting metadata. + repeated ProductMetadata product_metadata = 1; +} + +// The metadata associated with an available plannable product. +message ProductMetadata { + // The code associated with the ad product (for example: BUMPER, + // TRUEVIEW_IN_STREAM). + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v16.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 4; + + // The name associated with the ad product. + string plannable_product_name = 3; + + // The allowed plannable targeting for this product. + PlannableTargeting plannable_targeting = 2; +} + +// The targeting for which traffic metrics will be reported. +message PlannableTargeting { + // Allowed plannable age ranges for the product for which metrics will be + // reported. Actual targeting is computed by mapping this age range onto + // standard Google common.AgeRangeInfo values. + repeated + google.ads.googleads.v16.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange + age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v16.common.GenderInfo genders = 2; + + // Targetable devices for the ad product. + // TABLET device targeting is automatically applied to reported metrics + // when MOBILE targeting is selected for CPM_MASTHEAD, + // GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products. + repeated google.ads.googleads.v16.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v16.enums.ReachPlanNetworkEnum.ReachPlanNetwork + networks = 4; + + // Targetable YouTube Select Lineups for the ad product. + repeated YouTubeSelectLineUp youtube_select_lineups = 5; + + // Targetable surface combinations for the ad product. + SurfaceTargetingCombinations surface_targeting = 6; +} + +// Request message for +// [ReachPlanService.GenerateReachForecast][google.ads.googleads.v16.services.ReachPlanService.GenerateReachForecast]. +message GenerateReachForecastRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // The currency code. + // Three-character ISO 4217 currency code. + optional string currency_code = 9; + + // Required. Campaign duration. + CampaignDuration campaign_duration = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Chosen cookie frequency cap to be applied to each planned product. + // This is equivalent to the frequency cap exposed in Google Ads when creating + // a campaign, it represents the maximum number of times an ad can be shown to + // the same user. + // If not specified, no cap is applied. + // + // This field is deprecated in v4 and will eventually be removed. + // Use cookie_frequency_cap_setting instead. + optional int32 cookie_frequency_cap = 10; + + // Chosen cookie frequency cap to be applied to each planned product. + // This is equivalent to the frequency cap exposed in Google Ads when creating + // a campaign, it represents the maximum number of times an ad can be shown to + // the same user during a specified time interval. + // If not specified, a default of 0 (no cap) is applied. + // + // This field replaces the deprecated cookie_frequency_cap field. + FrequencyCap cookie_frequency_cap_setting = 8; + + // Chosen minimum effective frequency (the number of times a person was + // exposed to the ad) for the reported reach metrics [1-10]. + // This won't affect the targeting, but just the reporting. + // If not specified, a default of 1 is applied. + // + // This field cannot be combined with the effective_frequency_limit field. + optional int32 min_effective_frequency = 11; + + // The highest minimum effective frequency (the number of times a person was + // exposed to the ad) value [1-10] to include in + // Forecast.effective_frequency_breakdowns. + // If not specified, Forecast.effective_frequency_breakdowns will not be + // provided. + // + // The effective frequency value provided here will also be used as the + // minimum effective frequency for the reported reach metrics. + // + // This field cannot be combined with the min_effective_frequency field. + optional EffectiveFrequencyLimit effective_frequency_limit = 12; + + // The targeting to be applied to all products selected in the product mix. + // + // This is planned targeting: execution details might vary based on the + // advertising product, consult an implementation specialist. + // + // See specific metrics for details on how targeting affects them. + Targeting targeting = 6; + + // Required. The products to be forecast. + // The max number of allowed planned products is 15. + repeated PlannedProduct planned_products = 7 + [(google.api.field_behavior) = REQUIRED]; + + // Controls the forecast metrics returned in the response. + ForecastMetricOptions forecast_metric_options = 13; + + // The name of the customer being planned for. This is a user-defined value. + optional string customer_reach_group = 14; +} + +// Effective frequency limit. +message EffectiveFrequencyLimit { + // The highest effective frequency value to include in + // Forecast.effective_frequency_breakdowns. + // This field supports frequencies 1-10, inclusive. + int32 effective_frequency_breakdown_limit = 1; +} + +// A rule specifying the maximum number of times an ad can be shown to a user +// over a particular time period. +message FrequencyCap { + // Required. The number of impressions, inclusive. + int32 impressions = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The type of time unit. + google.ads.googleads.v16.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit + time_unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The targeting for which traffic metrics will be reported. +message Targeting { + // The ID of the selected location. Plannable location IDs can be + // obtained from + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v16.services.ReachPlanService.ListPlannableLocations]. + // + // Requests must set either this field or `plannable_location_ids`. + // + // This field is deprecated as of V12 and will be removed in a future release. + // Use `plannable_location_ids` instead. + optional string plannable_location_id = 6; + + // The list of plannable location IDs to target with this forecast. + // + // If more than one ID is provided, all IDs must have the same + // `parent_country_id`. Planning for more than `parent_county` is not + // supported. Plannable location IDs and their `parent_country_id` can be + // obtained from + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v16.services.ReachPlanService.ListPlannableLocations]. + // + // Requests must set either this field or `plannable_location_id`. + repeated string plannable_location_ids = 8; + + // Targeted age range. + // An unset value is equivalent to targeting all ages. + google.ads.googleads.v16.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange + age_range = 2; + + // Targeted genders. + // An unset value is equivalent to targeting MALE and FEMALE. + repeated google.ads.googleads.v16.common.GenderInfo genders = 3; + + // Targeted devices. + // If not specified, targets all applicable devices. Applicable devices vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v16.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v16.common.DeviceInfo devices = 4; + + // Targetable network for the ad product. + // If not specified, targets all applicable networks. Applicable networks vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v16.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v16.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = + 5; + + // Targeted audiences. + // If not specified, does not target any specific audience. + AudienceTargeting audience_targeting = 7; +} + +// The duration of a planned campaign. +message CampaignDuration { + // The duration value in days. + // + // This field cannot be combined with the date_range field. + optional int32 duration_in_days = 2; + + // Date range of the campaign. + // Dates are in the yyyy-mm-dd format and inclusive. + // The end date must be < 1 year in the future and the + // date range must be <= 92 days long. + // + // This field cannot be combined with the duration_in_days field. + google.ads.googleads.v16.common.DateRange date_range = 3; +} + +// A product being planned for reach. +message PlannedProduct { + // Required. Selected product for planning. + // The code associated with the ad product (for example: Trueview, Bumper). + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v16.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Maximum budget allocation in micros for the selected product. + // The value is specified in the selected planning currency_code. + // For example: 1 000 000$ = 1 000 000 000 000 micros. + optional int64 budget_micros = 4 [(google.api.field_behavior) = REQUIRED]; + + // Targeting settings for the selected product. + // To list the available targeting for each product use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v16.services.ReachPlanService.ListPlannableProducts]. + AdvancedProductTargeting advanced_product_targeting = 5; +} + +// Response message containing the generated reach curve. +message GenerateReachForecastResponse { + // Reference on target audiences for this curve. + OnTargetAudienceMetrics on_target_audience_metrics = 1; + + // The generated reach curve for the planned product mix. + ReachCurve reach_curve = 2; +} + +// The reach curve for the planned products. +message ReachCurve { + // All points on the reach curve. + repeated ReachForecast reach_forecasts = 1; +} + +// A point on reach curve. +message ReachForecast { + // The cost in micros. + int64 cost_micros = 5; + + // Forecasted traffic metrics for this point. + Forecast forecast = 2; + + // The forecasted allocation and traffic metrics for each planned product + // at this point on the reach curve. + repeated PlannedProductReachForecast planned_product_reach_forecasts = 4; +} + +// Forecasted traffic metrics for the planned products and targeting. +message Forecast { + // Number of unique people reached at least + // GenerateReachForecastRequest.min_effective_frequency or + // GenerateReachForecastRequest.effective_frequency_limit times that exactly + // matches the Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the on_target_reach + // value will be rounded to 0. + optional int64 on_target_reach = 5; + + // Total number of unique people reached at least + // GenerateReachForecastRequest.min_effective_frequency or + // GenerateReachForecastRequest.effective_frequency_limit times. This includes + // people that may fall outside the specified Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the total_reach + // value will be rounded to 0. + optional int64 total_reach = 6; + + // Number of ad impressions that exactly matches the Targeting. + optional int64 on_target_impressions = 7; + + // Total number of ad impressions. This includes impressions that may fall + // outside the specified Targeting, due to insufficient information on + // signed-in users. + optional int64 total_impressions = 8; + + // Number of times the ad's impressions were considered viewable. + // See https://support.google.com/google-ads/answer/7029393 for + // more information about what makes an ad viewable and how + // viewability is measured. + optional int64 viewable_impressions = 9; + + // A list of effective frequency forecasts. The list is ordered starting with + // 1+ and ending with the value set in + // GenerateReachForecastRequest.effective_frequency_limit. If no + // effective_frequency_limit was set, this list will be empty. + repeated EffectiveFrequencyBreakdown effective_frequency_breakdowns = 10; + + // Number of unique people reached that exactly matches the Targeting + // including co-viewers. + optional int64 on_target_coview_reach = 11; + + // Number of unique people reached including co-viewers. This includes + // people that may fall outside the specified Targeting. + optional int64 total_coview_reach = 12; + + // Number of ad impressions that exactly matches the Targeting including + // co-viewers. + optional int64 on_target_coview_impressions = 13; + + // Total number of ad impressions including co-viewers. This includes + // impressions that may fall outside the specified Targeting, due to + // insufficient information on signed-in users. + optional int64 total_coview_impressions = 14; + + // Number of ad views forecasted for the specified product and targeting. + // A view is counted when a viewer views a larger portion or the entirety of + // an ad beyond an impression. + // + // See https://support.google.com/google-ads/answer/2375431 for + // more information on views. + optional int64 views = 15; +} + +// The forecasted allocation and traffic metrics for a specific product +// at a point on the reach curve. +message PlannedProductReachForecast { + // Selected product for planning. The product codes returned are within the + // set of the ones returned by ListPlannableProducts when using the same + // location ID. + string plannable_product_code = 1; + + // The cost in micros. This may differ from the product's input allocation + // if one or more planned products cannot fulfill the budget because of + // limited inventory. + int64 cost_micros = 2; + + // Forecasted traffic metrics for this product. + PlannedProductForecast planned_product_forecast = 3; +} + +// Forecasted traffic metrics for a planned product. +message PlannedProductForecast { + // Number of unique people reached that exactly matches the Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the on_target_reach + // value will be rounded to 0. + int64 on_target_reach = 1; + + // Number of unique people reached. This includes people that may fall + // outside the specified Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the total_reach + // value will be rounded to 0. + int64 total_reach = 2; + + // Number of ad impressions that exactly matches the Targeting. + int64 on_target_impressions = 3; + + // Total number of ad impressions. This includes impressions that may fall + // outside the specified Targeting, due to insufficient information on + // signed-in users. + int64 total_impressions = 4; + + // Number of times the ad's impressions were considered viewable. + // See https://support.google.com/google-ads/answer/7029393 for + // more information about what makes an ad viewable and how + // viewability is measured. + optional int64 viewable_impressions = 5; + + // Number of unique people reached that exactly matches the Targeting + // including co-viewers. + optional int64 on_target_coview_reach = 6; + + // Number of unique people reached including co-viewers. This includes + // people that may fall outside the specified Targeting. + optional int64 total_coview_reach = 7; + + // Number of ad impressions that exactly matches the Targeting including + // co-viewers. + optional int64 on_target_coview_impressions = 8; + + // Total number of ad impressions including co-viewers. This includes + // impressions that may fall outside the specified Targeting, due to + // insufficient information on signed-in users. + optional int64 total_coview_impressions = 9; + + // The number of times per selected time unit a user will see an ad, averaged + // over the number of time units in the forecast length. This field will only + // be populated for a Target Frequency campaign. + // + // See https://support.google.com/google-ads/answer/12400225 for more + // information about Target Frequency campaigns. + optional double average_frequency = 10; + + // Number of ad views forecasted for the specified product and targeting. + // A view is counted when a viewer views a larger portion or the entirety of + // an ad beyond an impression. + // + // See https://support.google.com/google-ads/answer/2375431 for + // more information on views. + optional int64 views = 11; +} + +// Audience metrics for the planned products. +// These metrics consider the following targeting dimensions: +// +// - Location +// - PlannableAgeRange +// - Gender +// - AudienceTargeting (only for youtube_audience_size) +message OnTargetAudienceMetrics { + // Reference audience size matching the considered targeting for YouTube. + optional int64 youtube_audience_size = 3; + + // Reference audience size matching the considered targeting for Census. + optional int64 census_audience_size = 4; +} + +// A breakdown of the number of unique people reached at a given effective +// frequency. +message EffectiveFrequencyBreakdown { + // The effective frequency [1-10]. + int32 effective_frequency = 1; + + // The number of unique people reached at least effective_frequency times that + // exactly matches the Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the on_target_reach + // value will be rounded to 0. + int64 on_target_reach = 2; + + // Total number of unique people reached at least effective_frequency times. + // This includes people that may fall outside the specified Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the total_reach + // value will be rounded to 0. + int64 total_reach = 3; + + // The number of users (including co-viewing users) reached for the associated + // effective_frequency value. + optional int64 effective_coview_reach = 4; + + // The number of users (including co-viewing users) reached for the associated + // effective_frequency value within the specified plan demographic. + optional int64 on_target_effective_coview_reach = 5; +} + +// Controls forecast metrics to return. +message ForecastMetricOptions { + // Indicates whether to include co-view metrics in the response forecast. + bool include_coview = 1; +} + +// Audience targeting for reach forecast. +message AudienceTargeting { + // List of audiences based on user interests to be targeted. + repeated google.ads.googleads.v16.common.UserInterestInfo user_interest = 1; +} + +// Advanced targeting settings for products. +message AdvancedProductTargeting { + // Surface targeting settings for this product. + SurfaceTargeting surface_targeting_settings = 2; + + // Settings for a Target frequency campaign. Must be set when selecting the + // TARGET_FREQUENCY product. + // + // See https://support.google.com/google-ads/answer/12400225 for more + // information about Target Frequency campaigns. + TargetFrequencySettings target_frequency_settings = 3; + + // Targeting options for this product. + oneof advanced_targeting { + // Settings for YouTube Select targeting. + YouTubeSelectSettings youtube_select_settings = 1; + } +} + +// Request settings for YouTube Select Lineups +message YouTubeSelectSettings { + // Lineup for YouTube Select Targeting. + int64 lineup_id = 1; +} + +// A Plannable YouTube Select Lineup for product targeting. +message YouTubeSelectLineUp { + // The ID of the YouTube Select Lineup. + int64 lineup_id = 1; + + // The unique name of the YouTube Select Lineup. + string lineup_name = 2; +} + +// The surface targeting combinations available for an ad product. +message SurfaceTargetingCombinations { + // Default surface targeting applied to the ad product. + SurfaceTargeting default_targeting = 1; + + // Available surface target combinations for the ad product. + repeated SurfaceTargeting available_targeting_combinations = 2; +} + +// Container for surfaces for a product. Surfaces refer to the available types +// of ad inventories such as In-Feed, In-Stream, and Shorts. +message SurfaceTargeting { + // List of surfaces available to target. + repeated google.ads.googleads.v16.enums.ReachPlanSurfaceEnum.ReachPlanSurface + surfaces = 1; +} + +// Target Frequency settings for a supported product. +message TargetFrequencySettings { + // Required. The time unit used to describe the time frame for + // target_frequency. + google.ads.googleads.v16.enums.TargetFrequencyTimeUnitEnum + .TargetFrequencyTimeUnit time_unit = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The target frequency goal per selected time unit. + int32 target_frequency = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/recommendation_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/recommendation_service.proto new file mode 100644 index 000000000..518bee266 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/recommendation_service.proto @@ -0,0 +1,634 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/common/extensions.proto"; +import "google/ads/googleads/v16/enums/ad_group_type.proto"; +import "google/ads/googleads/v16/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v16/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v16/enums/conversion_tracking_status_enum.proto"; +import "google/ads/googleads/v16/enums/keyword_match_type.proto"; +import "google/ads/googleads/v16/enums/recommendation_type.proto"; +import "google/ads/googleads/v16/resources/ad.proto"; +import "google/ads/googleads/v16/resources/asset.proto"; +import "google/ads/googleads/v16/resources/recommendation.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Recommendation service. + +// Service to manage recommendations. +service RecommendationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Applies given recommendations with corresponding apply parameters. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RecommendationError]() + // [RequestError]() + // [UrlFieldError]() + rpc ApplyRecommendation(ApplyRecommendationRequest) + returns (ApplyRecommendationResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/recommendations:apply" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Dismisses given recommendations. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RecommendationError]() + // [RequestError]() + rpc DismissRecommendation(DismissRecommendationRequest) + returns (DismissRecommendationResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/recommendations:dismiss" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Generates Recommendations based off the requested recommendation_types. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RecommendationError]() + // [RequestError]() + rpc GenerateRecommendations(GenerateRecommendationsRequest) + returns (GenerateRecommendationsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/recommendations:generate" + body: "*" + }; + option (google.api.method_signature) = + "customer_id,recommendation_types,advertising_channel_type"; + } +} + +// Request message for +// [RecommendationService.ApplyRecommendation][google.ads.googleads.v16.services.RecommendationService.ApplyRecommendation]. +message ApplyRecommendationRequest { + // Required. The ID of the customer with the recommendation. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to apply recommendations. + // If partial_failure=false all recommendations should be of the same type + // There is a limit of 100 operations per request. + repeated ApplyRecommendationOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, operations will be carried + // out as a transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; +} + +// Information about the operation to apply a recommendation and any parameters +// to customize it. +message ApplyRecommendationOperation { + // Parameters to use when applying a campaign budget recommendation. + message CampaignBudgetParameters { + // New budget amount to set for target budget resource. This is a required + // field. + optional int64 new_budget_amount_micros = 2; + } + + // Parameters to use when applying a forecasting set target roas + // recommendation. + message ForecastingSetTargetRoasParameters { + // New target ROAS (revenue per unit of spend) to set for a campaign + // resource. + // The value is between 0.01 and 1000.0, inclusive. + optional double target_roas = 1; + + // New campaign budget amount to set for a campaign resource. + optional int64 campaign_budget_amount_micros = 2; + } + + // Parameters to use when applying a text ad recommendation. + message TextAdParameters { + // New ad to add to recommended ad group. All necessary fields need to be + // set in this message. This is a required field. + google.ads.googleads.v16.resources.Ad ad = 1; + } + + // Parameters to use when applying keyword recommendation. + message KeywordParameters { + // The ad group resource to add keyword to. This is a required field. + optional string ad_group = 4; + + // The match type of the keyword. This is a required field. + google.ads.googleads.v16.enums.KeywordMatchTypeEnum.KeywordMatchType + match_type = 2; + + // Optional, CPC bid to set for the keyword. If not set, keyword will use + // bid based on bidding strategy used by target ad group. + optional int64 cpc_bid_micros = 5; + } + + // Parameters to use when applying Target CPA recommendation. + message TargetCpaOptInParameters { + // Average CPA to use for Target CPA bidding strategy. This is a required + // field. + optional int64 target_cpa_micros = 3; + + // Optional, budget amount to set for the campaign. + optional int64 new_campaign_budget_amount_micros = 4; + } + + // Parameters to use when applying a Target ROAS opt-in recommendation. + message TargetRoasOptInParameters { + // Average ROAS (revenue per unit of spend) to use for Target ROAS bidding + // strategy. The value is between 0.01 and 1000.0, inclusive. This is a + // required field, unless new_campaign_budget_amount_micros is set. + optional double target_roas = 1; + + // Optional, budget amount to set for the campaign. + optional int64 new_campaign_budget_amount_micros = 2; + } + + // Parameters to use when applying callout extension recommendation. + message CalloutExtensionParameters { + // Callout extensions to be added. This is a required field. + repeated google.ads.googleads.v16.common.CalloutFeedItem + callout_extensions = 1; + } + + // Parameters to use when applying call extension recommendation. + message CallExtensionParameters { + // Call extensions to be added. This is a required field. + repeated google.ads.googleads.v16.common.CallFeedItem call_extensions = 1; + } + + // Parameters to use when applying sitelink recommendation. + message SitelinkExtensionParameters { + // Sitelinks to be added. This is a required field. + repeated google.ads.googleads.v16.common.SitelinkFeedItem + sitelink_extensions = 1; + } + + // Parameters to use when applying callout asset recommendations. + message CalloutAssetParameters { + // Required. Callout assets to be added. This is a required field. + AdAssetApplyParameters ad_asset_apply_parameters = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // Parameters to use when applying call asset recommendations. + message CallAssetParameters { + // Required. Call assets to be added. This is a required field. + AdAssetApplyParameters ad_asset_apply_parameters = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // Parameters to use when applying sitelink asset recommendations. + message SitelinkAssetParameters { + // Required. Sitelink assets to be added. This is a required field. + AdAssetApplyParameters ad_asset_apply_parameters = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // Parameters to use when applying raise Target CPA recommendations. + message RaiseTargetCpaParameters { + // Required. Target to set CPA multiplier to. This is a required field. + double target_cpa_multiplier = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Parameters to use when applying lower Target ROAS recommendations. + message LowerTargetRoasParameters { + // Required. Target to set ROAS multiplier to. This is a required field. + double target_roas_multiplier = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Common parameters used when applying ad asset recommendations. + message AdAssetApplyParameters { + // Scope to apply the assets to. + enum ApplyScope { + // The apply scope has not been specified. + UNSPECIFIED = 0; + + // Unknown. + UNKNOWN = 1; + + // Apply at the customer scope. + CUSTOMER = 2; + + // Apply at the campaign scope. + CAMPAIGN = 3; + } + + // The assets to create and attach to a scope. This may be combined with + // existing_assets in the same call. + repeated google.ads.googleads.v16.resources.Asset new_assets = 1; + + // The resource names of existing assets to attach to a scope. This may be + // combined with new_assets in the same call. + repeated string existing_assets = 2; + + // Required. The scope at which to apply the assets. Assets at the campaign + // scope level will be applied to the campaign associated with the + // recommendation. Assets at the customer scope will apply to the entire + // account. Assets at the campaign scope will override any attached at the + // customer scope. + ApplyScope scope = 3 [(google.api.field_behavior) = REQUIRED]; + } + + // Parameters to use when applying move unused budget recommendation. + message MoveUnusedBudgetParameters { + // Budget amount to move from excess budget to constrained budget. This is + // a required field. + optional int64 budget_micros_to_move = 2; + } + + // Parameters to use when applying a responsive search ad asset + // recommendation. + message ResponsiveSearchAdAssetParameters { + // Updated ad. The current ad's content will be replaced. + google.ads.googleads.v16.resources.Ad updated_ad = 1; + } + + // Parameters to use when applying a responsive search ad improve ad strength + // recommendation. + message ResponsiveSearchAdImproveAdStrengthParameters { + // Updated ad. The current ad's content will be replaced. + google.ads.googleads.v16.resources.Ad updated_ad = 1; + } + + // Parameters to use when applying a responsive search ad recommendation. + message ResponsiveSearchAdParameters { + // Required. New ad to add to recommended ad group. + google.ads.googleads.v16.resources.Ad ad = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // Parameters to use when applying a raise target CPA bid too low + // recommendation. The apply is asynchronous and can take minutes depending on + // the number of ad groups there is in the related campaign.. + message RaiseTargetCpaBidTooLowParameters { + // Required. A number greater than 1.0 indicating the factor by which to + // increase the target CPA. This is a required field. + double target_multiplier = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Parameters to use when applying a use broad match keyword recommendation. + message UseBroadMatchKeywordParameters { + // New budget amount to set for target budget resource. + optional int64 new_budget_amount_micros = 1; + } + + // Parameters to use when applying a set target CPA recommendation. + message ForecastingSetTargetCpaParameters { + // Average CPA to use for Target CPA bidding strategy. + optional int64 target_cpa_micros = 1; + + // New campaign budget amount to set for a campaign resource. + optional int64 campaign_budget_amount_micros = 2; + } + + // Parameters to use when applying a lead form asset recommendation. + message LeadFormAssetParameters { + // Required. Lead form assets to be added. This is a required field. + AdAssetApplyParameters ad_asset_apply_parameters = 1 + [(google.api.field_behavior) = REQUIRED]; + + // If true, the "Submit Lead Form" goal will be set on the target campaign. + // As a result, ads will be shown as lead form creative ads. If false, + // the "Submit Lead Form" goal will not be set on the campaign and ads will + // contain lead form assets. + optional bool set_submit_lead_form_asset_campaign_goal = 2; + } + + // The resource name of the recommendation to apply. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Recommendation" + }]; + + // Parameters to use when applying the recommendation. + oneof apply_parameters { + // Optional parameters to use when applying a campaign budget + // recommendation. + CampaignBudgetParameters campaign_budget = 2; + + // Optional parameters to use when applying a text ad recommendation. + TextAdParameters text_ad = 3; + + // Optional parameters to use when applying keyword recommendation. + KeywordParameters keyword = 4; + + // Optional parameters to use when applying target CPA opt-in + // recommendation. + TargetCpaOptInParameters target_cpa_opt_in = 5; + + // Optional parameters to use when applying target ROAS opt-in + // recommendation. + TargetRoasOptInParameters target_roas_opt_in = 10; + + // Parameters to use when applying callout extension recommendation. + CalloutExtensionParameters callout_extension = 6; + + // Parameters to use when applying call extension recommendation. + CallExtensionParameters call_extension = 7; + + // Parameters to use when applying sitelink recommendation. + SitelinkExtensionParameters sitelink_extension = 8; + + // Parameters to use when applying move unused budget recommendation. + MoveUnusedBudgetParameters move_unused_budget = 9; + + // Parameters to use when applying a responsive search ad recommendation. + ResponsiveSearchAdParameters responsive_search_ad = 11; + + // Parameters to use when applying a use broad match keyword recommendation. + UseBroadMatchKeywordParameters use_broad_match_keyword = 12; + + // Parameters to use when applying a responsive search ad asset + // recommendation. + ResponsiveSearchAdAssetParameters responsive_search_ad_asset = 13; + + // Parameters to use when applying a responsive search ad improve ad + // strength recommendation. + ResponsiveSearchAdImproveAdStrengthParameters + responsive_search_ad_improve_ad_strength = 14; + + // Parameters to use when applying a raise target CPA bid too low + // recommendation. The apply is asynchronous and can take minutes depending + // on the number of ad groups there is in the related campaign. + RaiseTargetCpaBidTooLowParameters raise_target_cpa_bid_too_low = 15; + + // Parameters to use when applying a forecasting set target ROAS + // recommendation. + ForecastingSetTargetRoasParameters forecasting_set_target_roas = 16; + + // Parameters to use when applying callout asset recommendation. + CalloutAssetParameters callout_asset = 17; + + // Parameters to use when applying call asset recommendation. + CallAssetParameters call_asset = 18; + + // Parameters to use when applying sitelink asset recommendation. + SitelinkAssetParameters sitelink_asset = 19; + + // Parameters to use when applying raise Target CPA recommendation. + RaiseTargetCpaParameters raise_target_cpa = 20; + + // Parameters to use when applying lower Target ROAS recommendation. + LowerTargetRoasParameters lower_target_roas = 21; + + // Parameters to use when applying forecasting set target CPA + // recommendation. + ForecastingSetTargetCpaParameters forecasting_set_target_cpa = 22; + + // Parameters to use when applying set target CPA + // recommendation. + ForecastingSetTargetCpaParameters set_target_cpa = 23; + + // Parameters to use when applying set target ROAS + // recommendation. + ForecastingSetTargetRoasParameters set_target_roas = 24; + + // Parameters to use when applying lead form asset recommendation. + LeadFormAssetParameters lead_form_asset = 25; + } +} + +// Response message for +// [RecommendationService.ApplyRecommendation][google.ads.googleads.v16.services.RecommendationService.ApplyRecommendation]. +message ApplyRecommendationResponse { + // Results of operations to apply recommendations. + repeated ApplyRecommendationResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors) we return the RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result of applying a recommendation. +message ApplyRecommendationResult { + // Returned for successful applies. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Recommendation" + }]; +} + +// Request message for +// [RecommendationService.DismissRecommendation][google.ads.googleads.v16.services.RecommendationService.DismissRecommendation]. +message DismissRecommendationRequest { + // Operation to dismiss a single recommendation identified by resource_name. + message DismissRecommendationOperation { + // The resource name of the recommendation to dismiss. + string resource_name = 1; + } + + // Required. The ID of the customer with the recommendation. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to dismiss recommendations. + // If partial_failure=false all recommendations should be of the same type + // There is a limit of 100 operations per request. + repeated DismissRecommendationOperation operations = 3 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, operations will be carried in a + // single transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 2; +} + +// Response message for +// [RecommendationService.DismissRecommendation][google.ads.googleads.v16.services.RecommendationService.DismissRecommendation]. +message DismissRecommendationResponse { + // The result of dismissing a recommendation. + message DismissRecommendationResult { + // Returned for successful dismissals. + string resource_name = 1; + } + + // Results of operations to dismiss recommendations. + repeated DismissRecommendationResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors) we return the RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// Request message for +// [RecommendationService.GenerateRecommendations][google.ads.googleads.v16.services.RecommendationService.GenerateRecommendations]. +message GenerateRecommendationsRequest { + // Current bidding information of the campaign. Provides a wrapper for + // bidding-related signals that inform recommendations. + message BiddingInfo { + // Current bidding strategy. + // This field is necessary for the following recommendation_types: + // MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, + // MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, + // TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN + optional google.ads.googleads.v16.enums.BiddingStrategyTypeEnum + .BiddingStrategyType bidding_strategy_type = 1; + + // Optional details related to the bidding_strategy_type. + oneof bidding_strategy_target_info { + // Current target_cpa in micros. + // This can be populated for campaigns with a bidding strategy type of + // TARGET_CPA or MAXIMIZE_CONVERSIONS. + int64 target_cpa_micros = 2; + + // Current target_roas. + // This can be populated for campaigns with a bidding strategy type of + // TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE. + double target_roas = 3; + } + } + + // Current AdGroup Information of the campaign. + message AdGroupInfo { + // Optional. AdGroup Type of the AdGroup. + // This field is necessary for the following recommendation_types if + // ad_group_info is set: + // KEYWORD + optional google.ads.googleads.v16.enums.AdGroupTypeEnum.AdGroupType + ad_group_type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Current keywords. + // This field is optional for the following recommendation_types if + // ad_group_info is set: + // KEYWORD + repeated google.ads.googleads.v16.common.KeywordInfo keywords = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + // A keyword seed and a specific url to generate keywords from. + message SeedInfo { + // A specific url to generate ideas from, for example: www.example.com/cars. + optional string url_seed = 2; + + // Optional. Keywords or phrases to generate ideas from, for example: cars + // or "car dealership near me". + repeated string keyword_seeds = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. The ID of the customer generating recommendations. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. List of eligible recommendation_types to generate. If the + // uploaded criteria isn't sufficient to make a recommendation, or the + // campaign is already in the recommended state, no recommendation will be + // returned for that type. Generally, a recommendation is returned if all + // required fields for that recommendation_type are uploaded, but there are + // cases where this is still not sufficient. + // + // The following recommendation_types are supported for recommendation + // generation: + // KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, + // MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, + // SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN + repeated + google.ads.googleads.v16.enums.RecommendationTypeEnum.RecommendationType + recommendation_types = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Advertising channel type of the campaign. + // The following advertising_channel_types are supported for recommendation + // generation: + // PERFORMANCE_MAX and SEARCH + google.ads.googleads.v16.enums.AdvertisingChannelTypeEnum + .AdvertisingChannelType advertising_channel_type = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Number of sitelinks on the campaign. + // This field is necessary for the following recommendation_types: + // SITELINK_ASSET + optional int32 campaign_sitelink_count = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Current conversion tracking status. + // This field is necessary for the following recommendation_types: + // MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, + // MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, + // TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN + optional google.ads.googleads.v16.enums.ConversionTrackingStatusEnum + .ConversionTrackingStatus conversion_tracking_status = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Current bidding information of the campaign. + // This field is necessary for the following recommendation_types: + // MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, + // MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, + // TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN + optional BiddingInfo bidding_info = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Current AdGroup Information. + // Supports information from a single AdGroup. + // This field is optional for the following recommendation_types: + // KEYWORD + repeated AdGroupInfo ad_group_info = 7 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Seed information for Keywords. + // This field is necessary for the following recommendation_types: + // KEYWORD + optional SeedInfo seed_info = 8 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [RecommendationService.GenerateRecommendations][google.ads.googleads.v16.services.RecommendationService.GenerateRecommendations]. +message GenerateRecommendationsResponse { + // List of generated recommendations from the passed in set of requested + // recommendation_types. If there isn't sufficient data to generate a + // recommendation for the requested recommendation_types, the result set won't + // contain a recommendation for that type. + repeated google.ads.googleads.v16.resources.Recommendation recommendations = + 1; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/recommendation_subscription_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/recommendation_subscription_service.proto new file mode 100644 index 000000000..f508e104f --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/recommendation_subscription_service.proto @@ -0,0 +1,141 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/recommendation_subscription.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationSubscriptionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Recommendation service. + +// Service to manage recommendation subscriptions. +service RecommendationSubscriptionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Mutates given subscription with corresponding apply parameters. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RecommendationError]() + // [RequestError]() + // [UrlFieldError]() + rpc MutateRecommendationSubscription(MutateRecommendationSubscriptionRequest) + returns (MutateRecommendationSubscriptionResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/recommendationSubscriptions:mutateRecommendationSubscription" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [RecommendationSubscriptionService.MutateRecommendationSubscription] +message MutateRecommendationSubscriptionRequest { + // Required. The ID of the subscribing customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of create or update operations. + repeated RecommendationSubscriptionOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. The mutable + // resource will only be returned if the resource has the appropriate response + // field. For example, MutateCampaignResult.campaign. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update) on a recommendation subscription. +// [RecommendationSubscriptionService.MutateRecommendationSubscription] +message RecommendationSubscriptionOperation { + // Optional. FieldMask that determines which resource fields are modified in + // an update. + google.protobuf.FieldMask update_mask = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. Create or update operation. + oneof operation { + // Create operation: No resource name is expected for the new subscription. + google.ads.googleads.v16.resources.RecommendationSubscription create = 1; + + // Update operation: The subscription is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.RecommendationSubscription update = 2; + } +} + +// Response message for +// [RecommendationSubscriptionService.MutateRecommendationSubscription] +message MutateRecommendationSubscriptionResponse { + // Results, one per operation. + repeated MutateRecommendationSubscriptionResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors) we return the RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// Result message for +// [RecommendationSubscriptionService.MutateRecommendationSubscription] +message MutateRecommendationSubscriptionResult { + // Resource name of the subscription that was modified. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/RecommendationSubscription" + }]; + + // The mutated recommendation subscription with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.RecommendationSubscription + recommendation_subscription = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/remarketing_action_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/remarketing_action_service.proto new file mode 100644 index 000000000..019512fed --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/remarketing_action_service.proto @@ -0,0 +1,121 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/remarketing_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Remarketing Action service. + +// Service to manage remarketing actions. +service RemarketingActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates remarketing actions. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateRemarketingActions(MutateRemarketingActionsRequest) + returns (MutateRemarketingActionsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/remarketingActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v16.services.RemarketingActionService.MutateRemarketingActions]. +message MutateRemarketingActionsRequest { + // Required. The ID of the customer whose remarketing actions are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual remarketing + // actions. + repeated RemarketingActionOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a remarketing action. +message RemarketingActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new remarketing + // action. + google.ads.googleads.v16.resources.RemarketingAction create = 1; + + // Update operation: The remarketing action is expected to have a valid + // resource name. + google.ads.googleads.v16.resources.RemarketingAction update = 2; + } +} + +// Response message for remarketing action mutate. +message MutateRemarketingActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateRemarketingActionResult results = 2; +} + +// The result for the remarketing action mutate. +message MutateRemarketingActionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + }]; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/shared_criterion_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/shared_criterion_service.proto new file mode 100644 index 000000000..d57cc020d --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/shared_criterion_service.proto @@ -0,0 +1,143 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/shared_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Shared Criterion service. + +// Service to manage shared criteria. +service SharedCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes shared criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedCriteria(MutateSharedCriteriaRequest) + returns (MutateSharedCriteriaResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/sharedCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v16.services.SharedCriterionService.MutateSharedCriteria]. +message MutateSharedCriteriaRequest { + // Required. The ID of the customer whose shared criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared criteria. + repeated SharedCriterionOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, remove) on an shared criterion. +message SharedCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared + // criterion. + google.ads.googleads.v16.resources.SharedCriterion create = 1; + + // Remove operation: A resource name for the removed shared criterion is + // expected, in this format: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + }]; + } +} + +// Response message for a shared criterion mutate. +message MutateSharedCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateSharedCriterionResult results = 2; +} + +// The result for the shared criterion mutate. +message MutateSharedCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + }]; + + // The mutated shared criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.SharedCriterion shared_criterion = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/shared_set_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/shared_set_service.proto new file mode 100644 index 000000000..9009c7a67 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/shared_set_service.proto @@ -0,0 +1,153 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/resources/shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Shared Set service. + +// Service to manage shared sets. +service SharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SharedSetError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedSets(MutateSharedSetsRequest) + returns (MutateSharedSetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/sharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [SharedSetService.MutateSharedSets][google.ads.googleads.v16.services.SharedSetService.MutateSharedSets]. +message MutateSharedSetsRequest { + // Required. The ID of the customer whose shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared sets. + repeated SharedSetOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation (create, update, remove) on an shared set. +message SharedSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared set. + google.ads.googleads.v16.resources.SharedSet create = 1; + + // Update operation: The shared set is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.SharedSet update = 2; + + // Remove operation: A resource name for the removed shared set is expected, + // in this format: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + }]; + } +} + +// Response message for a shared set mutate. +message MutateSharedSetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateSharedSetResult results = 2; +} + +// The result for the shared set mutate. +message MutateSharedSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + }]; + + // The mutated shared set with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.SharedSet shared_set = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/smart_campaign_setting_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/smart_campaign_setting_service.proto new file mode 100644 index 000000000..4a98135ac --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/smart_campaign_setting_service.proto @@ -0,0 +1,212 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/response_content_type.proto"; +import "google/ads/googleads/v16/enums/smart_campaign_not_eligible_reason.proto"; +import "google/ads/googleads/v16/enums/smart_campaign_status.proto"; +import "google/ads/googleads/v16/resources/smart_campaign_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the Smart campaign setting service. + +// Service to manage Smart campaign settings. +service SmartCampaignSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the status of the requested Smart campaign. + rpc GetSmartCampaignStatus(GetSmartCampaignStatusRequest) + returns (GetSmartCampaignStatusResponse) { + option (google.api.http) = { + get: "/v16/{resource_name=customers/*/smartCampaignSettings/*}:getSmartCampaignStatus" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates Smart campaign settings for campaigns. + rpc MutateSmartCampaignSettings(MutateSmartCampaignSettingsRequest) + returns (MutateSmartCampaignSettingsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/smartCampaignSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [SmartCampaignSettingService.GetSmartCampaignStatus][google.ads.googleads.v16.services.SmartCampaignSettingService.GetSmartCampaignStatus]. +message GetSmartCampaignStatusRequest { + // Required. The resource name of the Smart campaign setting belonging to the + // Smart campaign to fetch the status of. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + } + ]; +} + +// Details related to Smart campaigns that are not eligible to serve. +message SmartCampaignNotEligibleDetails { + // The reason why the Smart campaign is not eligible to serve. + optional google.ads.googleads.v16.enums.SmartCampaignNotEligibleReasonEnum + .SmartCampaignNotEligibleReason not_eligible_reason = 1; +} + +// Details related to Smart campaigns that are eligible to serve. +message SmartCampaignEligibleDetails { + // The timestamp of the last impression observed in the last 48 hours for this + // campaign. + // The timestamp is in the customer’s timezone and in + // “yyyy-MM-dd HH:mm:ss” format. + optional string last_impression_date_time = 1; + + // The timestamp of when the campaign will end, if applicable. + // The timestamp is in the customer’s timezone and in + // “yyyy-MM-dd HH:mm:ss” format. + optional string end_date_time = 2; +} + +// Details related to paused Smart campaigns. +message SmartCampaignPausedDetails { + // The timestamp of when the campaign was last paused. + // The timestamp is in the customer’s timezone and in + // “yyyy-MM-dd HH:mm:ss” format. + optional string paused_date_time = 1; +} + +// Details related to removed Smart campaigns. +message SmartCampaignRemovedDetails { + // The timestamp of when the campaign was removed. + // The timestamp is in the customer’s timezone and in + // “yyyy-MM-dd HH:mm:ss” format. + optional string removed_date_time = 1; +} + +// Details related to Smart campaigns that have ended. +message SmartCampaignEndedDetails { + // The timestamp of when the campaign ended. + // The timestamp is in the customer’s timezone and in + // “yyyy-MM-dd HH:mm:ss” format. + optional string end_date_time = 1; +} + +// Response message for +// [SmartCampaignSettingService.GetSmartCampaignStatus][google.ads.googleads.v16.services.SmartCampaignSettingService.GetSmartCampaignStatus]. +message GetSmartCampaignStatusResponse { + // The status of this Smart campaign. + google.ads.googleads.v16.enums.SmartCampaignStatusEnum.SmartCampaignStatus + smart_campaign_status = 1; + + // Additional details accompanying the status of a Smart campaign. + oneof smart_campaign_status_details { + // Details related to Smart campaigns that are ineligible to serve. + SmartCampaignNotEligibleDetails not_eligible_details = 2; + + // Details related to Smart campaigns that are eligible to serve. + SmartCampaignEligibleDetails eligible_details = 3; + + // Details related to paused Smart campaigns. + SmartCampaignPausedDetails paused_details = 4; + + // Details related to removed Smart campaigns. + SmartCampaignRemovedDetails removed_details = 5; + + // Details related to Smart campaigns that have ended. + SmartCampaignEndedDetails ended_details = 6; + } +} + +// Request message for +// [SmartCampaignSettingService.MutateSmartCampaignSettings][google.ads.googleads.v16.services.SmartCampaignSettingService.MutateSmartCampaignSettings]. +message MutateSmartCampaignSettingsRequest { + // Required. The ID of the customer whose Smart campaign settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Smart campaign + // settings. + repeated SmartCampaignSettingOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v16.enums.ResponseContentTypeEnum.ResponseContentType + response_content_type = 5; +} + +// A single operation to update Smart campaign settings for a campaign. +message SmartCampaignSettingOperation { + // Update operation: The Smart campaign setting must specify a valid + // resource name. + google.ads.googleads.v16.resources.SmartCampaignSetting update = 1; + + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; +} + +// Response message for campaign mutate. +message MutateSmartCampaignSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateSmartCampaignSettingResult results = 2; +} + +// The result for the Smart campaign setting mutate. +message MutateSmartCampaignSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + }]; + + // The mutated Smart campaign setting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v16.resources.SmartCampaignSetting + smart_campaign_setting = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/smart_campaign_suggest_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/smart_campaign_suggest_service.proto new file mode 100644 index 000000000..de3911219 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/smart_campaign_suggest_service.proto @@ -0,0 +1,257 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/ad_type_infos.proto"; +import "google/ads/googleads/v16/common/criteria.proto"; +import "google/ads/googleads/v16/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSuggestServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to get suggestions for Smart Campaigns. +service SmartCampaignSuggestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns BudgetOption suggestions. + rpc SuggestSmartCampaignBudgetOptions( + SuggestSmartCampaignBudgetOptionsRequest) + returns (SuggestSmartCampaignBudgetOptionsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" + body: "*" + }; + } + + // Suggests a Smart campaign ad compatible with the Ad family of resources, + // based on data points such as targeting and the business to advertise. + rpc SuggestSmartCampaignAd(SuggestSmartCampaignAdRequest) + returns (SuggestSmartCampaignAdResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:suggestSmartCampaignAd" + body: "*" + }; + } + + // Suggests keyword themes to advertise on. + rpc SuggestKeywordThemes(SuggestKeywordThemesRequest) + returns (SuggestKeywordThemesResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:suggestKeywordThemes" + body: "*" + }; + } +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions][google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions]. +message SuggestSmartCampaignBudgetOptionsRequest { + // Required. The ID of the customer whose budget options are to be suggested. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. For first time campaign creation use SuggestionInfo, for + // subsequent updates on BudgetOptions based on an already created campaign + // use that campaign. + oneof suggestion_data { + // Required. The resource name of the campaign to get suggestion for. + string campaign = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Information needed to get budget options + SmartCampaignSuggestionInfo suggestion_info = 3 + [(google.api.field_behavior) = REQUIRED]; + } +} + +// Information needed to get suggestion for Smart Campaign. More information +// provided will help the system to derive better suggestions. +message SmartCampaignSuggestionInfo { + // A list of locations. + message LocationList { + // Required. Locations. + repeated google.ads.googleads.v16.common.LocationInfo locations = 1 + [(google.api.field_behavior) = REQUIRED]; + } + + // A context that describes a business. + message BusinessContext { + // Optional. The name of the business. + string business_name = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Landing page URL of the campaign. + string final_url = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The two letter advertising language for the Smart campaign to be + // constructed, default to 'en' if not set. + string language_code = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The business ad schedule. + repeated google.ads.googleads.v16.common.AdScheduleInfo ad_schedules = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Smart campaign keyword themes. This field may greatly improve + // suggestion accuracy and we recommend always setting it if possible. + repeated google.ads.googleads.v16.common.KeywordThemeInfo keyword_themes = 7 + [(google.api.field_behavior) = OPTIONAL]; + + // The business settings to consider when generating suggestions. + // Settings are automatically extracted from the business when provided. + // Otherwise, these settings must be specified explicitly. + oneof business_setting { + // Optional. Context describing the business to advertise. + BusinessContext business_context = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The resource name of a Business Profile location. + // Business Profile location resource names can be fetched through the + // Business Profile API and adhere to the following format: + // `locations/{locationId}`. + // + // See the [Business Profile API] + // (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) + // for additional details. + string business_profile_location = 9 + [(google.api.field_behavior) = OPTIONAL]; + } + + // The geo target of the campaign, either a list of locations or + // a single proximity shall be specified. + oneof geo_target { + // Optional. The targeting geo location by locations. + LocationList location_list = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The targeting geo location by proximity. + google.ads.googleads.v16.common.ProximityInfo proximity = 5 + [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions][google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions]. +// Depending on whether the system could suggest the options, either all of the +// options or none of them might be returned. +message SuggestSmartCampaignBudgetOptionsResponse { + // Performance metrics for a given budget option. + message Metrics { + // The estimated min daily clicks. + int64 min_daily_clicks = 1; + + // The estimated max daily clicks. + int64 max_daily_clicks = 2; + } + + // Smart Campaign budget option. + message BudgetOption { + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + int64 daily_amount_micros = 1; + + // Metrics pertaining to the suggested budget, could be empty if there is + // not enough information to derive the estimates. + Metrics metrics = 2; + } + + // Optional. The lowest budget option. + optional BudgetOption low = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The recommended budget option. + optional BudgetOption recommended = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The highest budget option. + optional BudgetOption high = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inputs used to suggest a Smart campaign ad. + // Required fields: final_url, language_code, keyword_themes. + // Optional but recommended fields to improve the quality of the suggestion: + // business_setting and geo_target. + SmartCampaignSuggestionInfo suggestion_info = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdResponse { + // Optional. Ad info includes 3 creative headlines and 2 creative + // descriptions. + google.ads.googleads.v16.common.SmartCampaignAdInfo ad_info = 1 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Information to get keyword theme suggestions. + // Required fields: + // + // * suggestion_info.final_url + // * suggestion_info.language_code + // * suggestion_info.geo_target + // + // Recommended fields: + // + // * suggestion_info.business_setting + SmartCampaignSuggestionInfo suggestion_info = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v16.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesResponse { + // A Smart campaign keyword theme suggestion. + message KeywordTheme { + // A keyword theme. + oneof keyword_theme { + // A Smart campaign keyword theme constant. + google.ads.googleads.v16.resources.KeywordThemeConstant + keyword_theme_constant = 1; + + // A free-form text keyword theme. + string free_form_keyword_theme = 2; + } + } + + // Smart campaign keyword theme suggestions. + repeated KeywordTheme keyword_themes = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/third_party_app_analytics_link_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/third_party_app_analytics_link_service.proto new file mode 100644 index 000000000..610093e93 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/third_party_app_analytics_link_service.proto @@ -0,0 +1,68 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// This service allows management of links between Google Ads and third party +// app analytics. +service ThirdPartyAppAnalyticsLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be + // provided to the third party when setting up app analytics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RegenerateShareableLinkId(RegenerateShareableLinkIdRequest) + returns (RegenerateShareableLinkIdResponse) { + option (google.api.http) = { + post: "/v16/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" + body: "*" + }; + } +} + +// Request message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v16.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdRequest { + // Resource name of the third party app analytics link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + }]; +} + +// Response message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v16.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdResponse {} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/travel_asset_suggestion_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/travel_asset_suggestion_service.proto new file mode 100644 index 000000000..54f114a23 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/travel_asset_suggestion_service.proto @@ -0,0 +1,123 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/enums/asset_field_type.proto"; +import "google/ads/googleads/v16/enums/call_to_action_type.proto"; +import "google/ads/googleads/v16/enums/hotel_asset_suggestion_status.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "TravelAssetSuggestionServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Service to retrieve Travel asset suggestions. +service TravelAssetSuggestionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns Travel Asset suggestions. Asset + // suggestions are returned on a best-effort basis. There are no guarantees + // that all possible asset types will be returned for any given hotel + // property. + rpc SuggestTravelAssets(SuggestTravelAssetsRequest) + returns (SuggestTravelAssetsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:suggestTravelAssets" + body: "*" + }; + option (google.api.method_signature) = "customer_id,language_option"; + } +} + +// Request message for +// [TravelAssetSuggestionService.SuggestTravelAssets][google.ads.googleads.v16.services.TravelAssetSuggestionService.SuggestTravelAssets]. +message SuggestTravelAssetsRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The language specifications in BCP 47 format (for example, en-US, + // zh-CN, etc.) for the asset suggestions. Text will be in this language. + // Usually matches one of the campaign target languages. + string language_option = 2 [(google.api.field_behavior) = REQUIRED]; + + // The Google Maps Place IDs of hotels for which assets are requested. See + // https://developers.google.com/places/web-service/place-id for more + // information. + repeated string place_ids = 4; +} + +// Response message for +// [TravelAssetSuggestionService.SuggestTravelAssets][google.ads.googleads.v16.services.TravelAssetSuggestionService.SuggestTravelAssets]. +message SuggestTravelAssetsResponse { + // Asset suggestions for each place ID submitted in the request. + repeated HotelAssetSuggestion hotel_asset_suggestions = 1; +} + +// Message containing the asset suggestions for a hotel. +message HotelAssetSuggestion { + // Google Places ID of the hotel. + string place_id = 1; + + // Suggested final URL for an AssetGroup. + string final_url = 2; + + // Hotel name in requested language. + string hotel_name = 3; + + // Call to action type. + google.ads.googleads.v16.enums.CallToActionTypeEnum.CallToActionType + call_to_action = 4; + + // Text assets such as headline, description, etc. + repeated HotelTextAsset text_assets = 5; + + // Image assets such as landscape/portrait/square, etc. + repeated HotelImageAsset image_assets = 6; + + // The status of the hotel asset suggestion. + google.ads.googleads.v16.enums.HotelAssetSuggestionStatusEnum + .HotelAssetSuggestionStatus status = 7; +} + +// A single text asset suggestion for a hotel. +message HotelTextAsset { + // Asset text in requested language. + string text = 1; + + // The text asset type. For example, HEADLINE, DESCRIPTION, etc. + google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 2; +} + +// A single image asset suggestion for a hotel. +message HotelImageAsset { + // URI for the image. + string uri = 1; + + // The Image asset type. For example, MARKETING_IMAGE, + // PORTRAIT_MARKETING_IMAGE, etc. + google.ads.googleads.v16.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 2; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/user_data_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/user_data_service.proto new file mode 100644 index 000000000..d1c362502 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/user_data_service.proto @@ -0,0 +1,108 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/common/offline_user_data.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserDataServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the UserDataService. + +// Service to manage user data uploads. +// Any uploads made to a Customer Match list through this service will be +// eligible for matching as per the customer matching process. See +// https://support.google.com/google-ads/answer/7474263. However, the uploads +// made through this service will not be visible under the 'Segment members' +// section for the Customer Match List in the Google Ads UI. +service UserDataService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Uploads the given user data. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + // [UserDataError]() + rpc UploadUserData(UploadUserDataRequest) returns (UploadUserDataResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}:uploadUserData" + body: "*" + }; + } +} + +// Request message for +// [UserDataService.UploadUserData][google.ads.googleads.v16.services.UserDataService.UploadUserData] +message UploadUserDataRequest { + // Required. The ID of the customer for which to update the user data. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to be done. + repeated UserDataOperation operations = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Metadata of the request. + oneof metadata { + // Metadata for data updates to a Customer Match user list. + google.ads.googleads.v16.common.CustomerMatchUserListMetadata + customer_match_user_list_metadata = 2; + } +} + +// Operation to be made for the UploadUserDataRequest. +message UserDataOperation { + // Operation to be made for the UploadUserDataRequest. + oneof operation { + // The list of user data to be appended to the user list. + google.ads.googleads.v16.common.UserData create = 1; + + // The list of user data to be removed from the user list. + google.ads.googleads.v16.common.UserData remove = 2; + } +} + +// Response message for +// [UserDataService.UploadUserData][google.ads.googleads.v16.services.UserDataService.UploadUserData] +// Uploads made through this service will not be visible under the 'Segment +// members' section for the Customer Match List in the Google Ads UI. +message UploadUserDataResponse { + // The date time at which the request was received by API, formatted as + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string upload_date_time = 3; + + // Number of upload data operations received by API. + optional int32 received_operations_count = 4; +} diff --git a/third_party/googleapis/google/ads/googleads/v16/services/user_list_service.proto b/third_party/googleapis/google/ads/googleads/v16/services/user_list_service.proto new file mode 100644 index 000000000..41bacc521 --- /dev/null +++ b/third_party/googleapis/google/ads/googleads/v16/services/user_list_service.proto @@ -0,0 +1,139 @@ +// Copyright 2023 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. + +syntax = "proto3"; + +package google.ads.googleads.v16.services; + +import "google/ads/googleads/v16/resources/user_list.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserListServiceProto"; +option java_package = "com.google.ads.googleads.v16.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V16::Services"; + +// Proto file describing the User List service. + +// Service to manage user lists. +service UserListService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates user lists. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [StringFormatError]() + // [StringLengthError]() + // [UserListError]() + rpc MutateUserLists(MutateUserListsRequest) + returns (MutateUserListsResponse) { + option (google.api.http) = { + post: "/v16/customers/{customer_id=*}/userLists:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [UserListService.MutateUserLists][google.ads.googleads.v16.services.UserListService.MutateUserLists]. +message MutateUserListsRequest { + // Required. The ID of the customer whose user lists are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual user lists. + repeated UserListOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a user list. +message UserListOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new user list. + google.ads.googleads.v16.resources.UserList create = 1; + + // Update operation: The user list is expected to have a valid resource + // name. + google.ads.googleads.v16.resources.UserList update = 2; + + // Remove operation: A resource name for the removed user list is expected, + // in this format: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; + } +} + +// Response message for user list mutate. +message MutateUserListsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateUserListResult results = 2; +} + +// The result for the user list mutate. +message MutateUserListResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; +} diff --git a/third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto b/third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto index c0c758ed9..94297441a 100644 --- a/third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto +++ b/third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto @@ -121,6 +121,11 @@ message CheckResponse { // Consumer info of this check. ConsumerInfo consumer_info = 2; + + // The unique id of the api key in the format of "apikey:". + // This field will be populated when the consumer passed to Service Control + // is an API key and all the API key related validations are successful. + string api_key_uid = 5; } // `ConsumerInfo` provides information about the consumer. diff --git a/third_party/googleapis/google/apps/card/v1/BUILD.bazel b/third_party/googleapis/google/apps/card/v1/BUILD.bazel index d4ce73e57..35360f73f 100644 --- a/third_party/googleapis/google/apps/card/v1/BUILD.bazel +++ b/third_party/googleapis/google/apps/card/v1/BUILD.bazel @@ -72,6 +72,8 @@ go_gapic_assembly_pkg( ############################################################################## load( "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", "py_proto_library", ) @@ -80,6 +82,21 @@ py_proto_library( deps = [":card_proto"], ) +py_gapic_library( + name = "card_py_gapic", + srcs = [":card_proto"], + rest_numeric_enums = False, + transport = "grpc", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "card-v1-py", + deps = [ + ":card_py_gapic", + ], +) + ############################################################################## # PHP ############################################################################## diff --git a/third_party/googleapis/google/apps/card/v1/card.proto b/third_party/googleapis/google/apps/card/v1/card.proto index e05c711c6..538a785b3 100644 --- a/third_party/googleapis/google/apps/card/v1/card.proto +++ b/third_party/googleapis/google/apps/card/v1/card.proto @@ -23,6 +23,8 @@ option go_package = "google.golang.org/genproto/googleapis/apps/card/v1;card"; option java_multiple_files = true; option java_outer_classname = "CardProto"; option java_package = "com.google.apps.card.v1"; +option php_namespace = "Google\\Apps\\Card\\V1"; +option ruby_package = "Google::Apps::Card::V1"; // A card interface displayed in a Google Chat message or Google Workspace // Add-on. @@ -1057,7 +1059,10 @@ message SelectionInput { // [`SelectionInput` widget // page](https://developers.google.com/chat/ui/widgets/selection-input#multiselect-menu). // - // [Google Chat apps](https://developers.google.com/chat): + // [Google Workspace Add-ons and Chat + // apps](https://developers.google.com/workspace/extend): + // multiselect for Google Workspace Add-ons are in + // [Developer Preview](https://developers.google.com/workspace/preview). MULTI_SELECT = 4; } @@ -1572,9 +1577,9 @@ message Grid { OnClick on_click = 5; } -// The `Columns` widget displays up to 2 columns in a card message or dialog. -// You can add widgets to each column; the widgets appear in the order that -// they are specified. For an example in Google Chat apps, see +// The `Columns` widget displays up to 2 columns in a card or dialog. You can +// add widgets to each column; the widgets appear in the order that they are +// specified. For an example in Google Chat apps, see // [Columns](https://developers.google.com/chat/ui/widgets/columns). // // The height of each column is determined by the taller column. For example, if @@ -1597,7 +1602,10 @@ message Grid { // To include more than 2 columns, or to use rows, use the // [`Grid`][google.apps.card.v1.Grid] widget. // -// [Google Chat apps](https://developers.google.com/chat): +// [Google Workspace Add-ons and Chat +// apps](https://developers.google.com/workspace/extend): +// Columns for Google Workspace Add-ons are in +// [Developer Preview](https://developers.google.com/workspace/preview). message Columns { // A column. // diff --git a/third_party/googleapis/google/apps/events/subscriptions/BUILD.bazel b/third_party/googleapis/google/apps/events/subscriptions/BUILD.bazel new file mode 100644 index 000000000..2a2fbc421 --- /dev/null +++ b/third_party/googleapis/google/apps/events/subscriptions/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-apps-events-subscriptions. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for google-apps-events-subscriptions. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1 in this case. +ruby_cloud_gapic_library( + name = "subscriptions_ruby_wrapper", + srcs = ["//google/apps/events/subscriptions/v1:subscriptions_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-apps-events-subscriptions", + "ruby-cloud-wrapper-of=v1:0.0", + ], + service_yaml = "//google/apps/events/subscriptions/v1:workspaceevents_v1.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-apps-events-subscriptions-ruby", + deps = [ + ":subscriptions_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/apps/events/subscriptions/v1/BUILD.bazel b/third_party/googleapis/google/apps/events/subscriptions/v1/BUILD.bazel index ca5f7c414..420821aef 100644 --- a/third_party/googleapis/google/apps/events/subscriptions/v1/BUILD.bazel +++ b/third_party/googleapis/google/apps/events/subscriptions/v1/BUILD.bazel @@ -290,7 +290,7 @@ ruby_grpc_library( ruby_cloud_gapic_library( name = "subscriptions_ruby_gapic", srcs = [":subscriptions_proto_with_info"], - extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-events-subscriptions-v1"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-apps-events-subscriptions-v1"], grpc_service_config = "subscriptions_v1_grpc_service_config.json", rest_numeric_enums = True, service_yaml = "workspaceevents_v1.yaml", @@ -303,7 +303,7 @@ ruby_cloud_gapic_library( # Open Source Packages ruby_gapic_assembly_pkg( - name = "google-cloud-events-subscriptions-v1-ruby", + name = "google-apps-events-subscriptions-v1-ruby", deps = [ ":subscriptions_ruby_gapic", ":subscriptions_ruby_grpc", diff --git a/third_party/googleapis/google/apps/meet/BUILD.bazel b/third_party/googleapis/google/apps/meet/BUILD.bazel index b258d7744..5129c5804 100644 --- a/third_party/googleapis/google/apps/meet/BUILD.bazel +++ b/third_party/googleapis/google/apps/meet/BUILD.bazel @@ -15,15 +15,15 @@ load( # Generates a Ruby wrapper client for meet. # Ruby wrapper clients are versionless, but are generated from source protos -# for a particular service version, v2beta in this case. +# for a particular service version, v2 in this case. ruby_cloud_gapic_library( name = "meet_ruby_wrapper", - srcs = ["//google/apps/meet/v2beta:meet_proto_with_info"], + srcs = ["//google/apps/meet/v2:meet_proto_with_info"], extra_protoc_parameters = [ "ruby-cloud-gem-name=google-apps-meet", - "ruby-cloud-wrapper-of=v2beta:0.2", + "ruby-cloud-wrapper-of=v2:0.0", ], - service_yaml = "//google/apps/meet/v2beta:meet_v2beta.yaml", + service_yaml = "//google/apps/meet/v2:meet_v2.yaml", transport = "grpc+rest", ) diff --git a/third_party/googleapis/google/apps/meet/v2/BUILD.bazel b/third_party/googleapis/google/apps/meet/v2/BUILD.bazel index dc8f3c026..a75216398 100644 --- a/third_party/googleapis/google/apps/meet/v2/BUILD.bazel +++ b/third_party/googleapis/google/apps/meet/v2/BUILD.bazel @@ -286,7 +286,7 @@ ruby_cloud_gapic_library( name = "meet_ruby_gapic", srcs = [":meet_proto_with_info"], extra_protoc_parameters = [ - "ruby-cloud-gem-name=google-cloud-apps-meet-v2", + "ruby-cloud-gem-name=google-apps-meet-v2", ], grpc_service_config = "meet_v2_grpc_service_config.json", rest_numeric_enums = True, diff --git a/third_party/googleapis/google/apps/meet/v2/meet_v2.yaml b/third_party/googleapis/google/apps/meet/v2/meet_v2.yaml index 59b6704cb..e7d63a00a 100644 --- a/third_party/googleapis/google/apps/meet/v2/meet_v2.yaml +++ b/third_party/googleapis/google/apps/meet/v2/meet_v2.yaml @@ -12,27 +12,20 @@ documentation: authentication: rules: - - selector: google.apps.meet.v2.* + - selector: 'google.apps.meet.v2.ConferenceRecordsService.*' oauth: canonical_scopes: |- https://www.googleapis.com/auth/meetings.space.created, https://www.googleapis.com/auth/meetings.space.readonly - - selector: google.apps.meet.v2.SpacesService.CreateSpace + - selector: 'google.apps.meet.v2.SpacesService.*' oauth: canonical_scopes: |- https://www.googleapis.com/auth/meetings.space.created - - selector: google.apps.meet.v2.SpacesService.UpdateSpace + - selector: google.apps.meet.v2.SpacesService.GetSpace oauth: canonical_scopes: |- - https://www.googleapis.com/auth/meetings.space.created - - selector: google.apps.meet.v2.SpacesService.DeleteSpace - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/meetings.space.created - - selector: google.apps.meet.v2.SpacesService.EndActiveConference - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/meetings.space.created + https://www.googleapis.com/auth/meetings.space.created, + https://www.googleapis.com/auth/meetings.space.readonly publishing: new_issue_uri: https://issuetracker.google.com/issues/new?component=1216362&template=1766418 diff --git a/third_party/googleapis/google/apps/meet/v2/service.proto b/third_party/googleapis/google/apps/meet/v2/service.proto index 8ad3bea9b..d519f3e86 100644 --- a/third_party/googleapis/google/apps/meet/v2/service.proto +++ b/third_party/googleapis/google/apps/meet/v2/service.proto @@ -35,6 +35,9 @@ option ruby_package = "Google::Apps::Meet::V2"; // REST API for services dealing with spaces. service SpacesService { option (google.api.default_host) = "meet.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/meetings.space.created," + "https://www.googleapis.com/auth/meetings.space.readonly"; // Creates a space. rpc CreateSpace(CreateSpaceRequest) returns (Space) { @@ -76,6 +79,9 @@ service SpacesService { // REST API for services dealing with conference records. service ConferenceRecordsService { option (google.api.default_host) = "meet.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/meetings.space.created," + "https://www.googleapis.com/auth/meetings.space.readonly"; // Gets a conference record by conference ID. rpc GetConferenceRecord(GetConferenceRecordRequest) diff --git a/third_party/googleapis/google/chat/logging/v1/BUILD.bazel b/third_party/googleapis/google/chat/logging/v1/BUILD.bazel index a1f228223..6db9a00e4 100644 --- a/third_party/googleapis/google/chat/logging/v1/BUILD.bazel +++ b/third_party/googleapis/google/chat/logging/v1/BUILD.bazel @@ -49,7 +49,7 @@ load( go_proto_library( name = "logging_go_proto", compilers = ["@io_bazel_rules_go//proto:go_grpc"], - importpath = "google.golang.org/genproto/googleapis/chat/logging/v1", + importpath = "cloud.google.com/go/chat/logging/apiv1/loggingpb", protos = [":logging_proto"], deps = [ "//google/rpc:status_go_proto", diff --git a/third_party/googleapis/google/chat/logging/v1/chat_app_log_entry.proto b/third_party/googleapis/google/chat/logging/v1/chat_app_log_entry.proto index 9caa4c9fe..fd8425543 100644 --- a/third_party/googleapis/google/chat/logging/v1/chat_app_log_entry.proto +++ b/third_party/googleapis/google/chat/logging/v1/chat_app_log_entry.proto @@ -18,7 +18,7 @@ package google.chat.logging.v1; import "google/rpc/status.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/logging/v1;logging"; +option go_package = "cloud.google.com/go/chat/logging/apiv1/loggingpb;loggingpb"; option java_multiple_files = true; option java_outer_classname = "ChatAppLogEntryProto"; option java_package = "com.google.chat.logging.v1"; diff --git a/third_party/googleapis/google/chat/v1/BUILD.bazel b/third_party/googleapis/google/chat/v1/BUILD.bazel index 52f6f1841..29e0a71b6 100644 --- a/third_party/googleapis/google/chat/v1/BUILD.bazel +++ b/third_party/googleapis/google/chat/v1/BUILD.bazel @@ -135,7 +135,7 @@ load( go_proto_library( name = "chat_go_proto", compilers = ["@io_bazel_rules_go//proto:go_grpc"], - importpath = "google.golang.org/genproto/googleapis/chat/v1", + importpath = "cloud.google.com/go/chat/apiv1/chatpb", protos = [":chat_proto"], deps = [ "//google/api:annotations_go_proto", @@ -148,7 +148,7 @@ go_gapic_library( name = "chat_go_gapic", srcs = [":chat_proto_with_info"], grpc_service_config = "chat_grpc_service_config.json", - importpath = "google.golang.org/google/chat/v1;chat", + importpath = "cloud.google.com/go/chat/apiv1;chat", metadata = True, release_level = "beta", rest_numeric_enums = True, @@ -185,11 +185,15 @@ py_gapic_library( name = "chat_py_gapic", srcs = [":chat_proto"], grpc_service_config = "chat_grpc_service_config.json", + opt_args = [ + "python-gapic-namespace=google.apps", + "warehouse-package-name=google-apps-chat", + ], rest_numeric_enums = True, service_yaml = "chat_v1.yaml", transport = "grpc+rest", deps = [ - "//google/apps/card/v1:card_py_proto", + "//google/apps/card/v1:card_py_proto", ], ) diff --git a/third_party/googleapis/google/chat/v1/action_status.proto b/third_party/googleapis/google/chat/v1/action_status.proto index 953948b83..4bf4f842b 100644 --- a/third_party/googleapis/google/chat/v1/action_status.proto +++ b/third_party/googleapis/google/chat/v1/action_status.proto @@ -18,10 +18,13 @@ package google.chat.v1; import "google/rpc/code.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "ActionStatusProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // Represents the status for a request to either invoke or submit a // [dialog](https://developers.google.com/chat/how-tos/dialogs). diff --git a/third_party/googleapis/google/chat/v1/annotation.proto b/third_party/googleapis/google/chat/v1/annotation.proto index 4f3806705..55f6a9c0a 100644 --- a/third_party/googleapis/google/chat/v1/annotation.proto +++ b/third_party/googleapis/google/chat/v1/annotation.proto @@ -18,10 +18,13 @@ package google.chat.v1; import "google/chat/v1/user.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "AnnotationProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // Output only. Annotations associated with the plain-text body of the message. // To add basic formatting to a text message, see diff --git a/third_party/googleapis/google/chat/v1/attachment.proto b/third_party/googleapis/google/chat/v1/attachment.proto index 3cc0f676c..2e3285c6f 100644 --- a/third_party/googleapis/google/chat/v1/attachment.proto +++ b/third_party/googleapis/google/chat/v1/attachment.proto @@ -19,10 +19,13 @@ package google.chat.v1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "AttachmentProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // An attachment in Google Chat. message Attachment { diff --git a/third_party/googleapis/google/chat/v1/chat_grpc_service_config.json b/third_party/googleapis/google/chat/v1/chat_grpc_service_config.json index d0c9e51e8..d2f47bd9e 100644 --- a/third_party/googleapis/google/chat/v1/chat_grpc_service_config.json +++ b/third_party/googleapis/google/chat/v1/chat_grpc_service_config.json @@ -22,6 +22,10 @@ { "service": "google.chat.v1.ChatService", "method": "UploadAttachment" }, { "service": "google.chat.v1.ChatService", "method": "FindDirectMessage" }, { "service": "google.chat.v1.ChatService", "method": "CompleteImportSpace" }, + { "service": "google.chat.v1.ChatService", "method": "UpdateMembership" }, + { "service": "google.chat.v1.ChatService", "method": "UpdateSpaceReadState" }, + { "service": "google.chat.v1.ChatService", "method": "GetSpaceReadState" }, + { "service": "google.chat.v1.ChatService", "method": "GetThreadReadState" }, { "service": "google.chat.v1.ChatService", "method": "GetAttachment" } ], "timeout": "30s", diff --git a/third_party/googleapis/google/chat/v1/chat_service.proto b/third_party/googleapis/google/chat/v1/chat_service.proto index 0b60e74fd..e055bb32b 100644 --- a/third_party/googleapis/google/chat/v1/chat_service.proto +++ b/third_party/googleapis/google/chat/v1/chat_service.proto @@ -26,10 +26,13 @@ import "google/chat/v1/space.proto"; import "google/chat/v1/space_setup.proto"; import "google/protobuf/empty.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "ChatServiceProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // Enables developers to build Chat apps and // integrations on Google Chat Platform. diff --git a/third_party/googleapis/google/chat/v1/chat_v1.yaml b/third_party/googleapis/google/chat/v1/chat_v1.yaml index 5859ac065..8cfd6b28b 100644 --- a/third_party/googleapis/google/chat/v1/chat_v1.yaml +++ b/third_party/googleapis/google/chat/v1/chat_v1.yaml @@ -8,8 +8,9 @@ apis: documentation: summary: |- - Enables apps to fetch information and perform actions in Google Chat. - Authentication is a prerequisite for using the Google Chat REST API. + The Google Chat API lets you build Chat apps to integrate your services + with Google Chat and manage Chat resources such as spaces, members, and + messages. authentication: rules: @@ -142,3 +143,47 @@ authentication: https://www.googleapis.com/auth/chat.import, https://www.googleapis.com/auth/chat.messages, https://www.googleapis.com/auth/chat.messages.create + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=350158&template=1047346 + documentation_uri: https://developers.google.com/chat/concepts + api_short_name: chat + github_label: 'api: chat' + doc_tag_prefix: chat + organization: CLOUD + library_settings: + - version: google.chat.v1 + launch_stage: GA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + cpp_settings: + common: + destinations: + - PACKAGE_MANAGER + php_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + dotnet_settings: + common: + destinations: + - PACKAGE_MANAGER + ruby_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER + proto_reference_documentation_uri: https://developers.google.com/chat/api/reference/rest diff --git a/third_party/googleapis/google/chat/v1/contextual_addon.proto b/third_party/googleapis/google/chat/v1/contextual_addon.proto index ad3725afc..c4c6876d9 100644 --- a/third_party/googleapis/google/chat/v1/contextual_addon.proto +++ b/third_party/googleapis/google/chat/v1/contextual_addon.proto @@ -18,10 +18,13 @@ package google.chat.v1; import "google/chat/v1/widgets.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "ContextualAddOnProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // The markup for developers to specify the contents of a contextual AddOn. message ContextualAddOnMarkup { diff --git a/third_party/googleapis/google/chat/v1/deletion_metadata.proto b/third_party/googleapis/google/chat/v1/deletion_metadata.proto index 6b3ed17f0..e7fcab726 100644 --- a/third_party/googleapis/google/chat/v1/deletion_metadata.proto +++ b/third_party/googleapis/google/chat/v1/deletion_metadata.proto @@ -16,10 +16,13 @@ syntax = "proto3"; package google.chat.v1; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "DeletionMetadataProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // Information about a deleted message. A message is deleted when `delete_time` // is set. diff --git a/third_party/googleapis/google/chat/v1/group.proto b/third_party/googleapis/google/chat/v1/group.proto index 7b0d9d906..bf9147c6d 100644 --- a/third_party/googleapis/google/chat/v1/group.proto +++ b/third_party/googleapis/google/chat/v1/group.proto @@ -16,10 +16,13 @@ syntax = "proto3"; package google.chat.v1; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "GroupProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // A Google Group in Google Chat. message Group { diff --git a/third_party/googleapis/google/chat/v1/history_state.proto b/third_party/googleapis/google/chat/v1/history_state.proto index adb1a6737..34f744271 100644 --- a/third_party/googleapis/google/chat/v1/history_state.proto +++ b/third_party/googleapis/google/chat/v1/history_state.proto @@ -16,10 +16,13 @@ syntax = "proto3"; package google.chat.v1; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "HistoryStateProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // The history state for messages and spaces. Specifies how long messages and // conversation threads are kept after creation. diff --git a/third_party/googleapis/google/chat/v1/matched_url.proto b/third_party/googleapis/google/chat/v1/matched_url.proto index 6e65a0fe4..ee987e37b 100644 --- a/third_party/googleapis/google/chat/v1/matched_url.proto +++ b/third_party/googleapis/google/chat/v1/matched_url.proto @@ -18,10 +18,13 @@ package google.chat.v1; import "google/api/field_behavior.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "MatchedUrlProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // A matched URL in a Chat message. Chat apps can preview matched URLs. For more // information, see [Preview diff --git a/third_party/googleapis/google/chat/v1/membership.proto b/third_party/googleapis/google/chat/v1/membership.proto index 1943a07d2..e4fb69c23 100644 --- a/third_party/googleapis/google/chat/v1/membership.proto +++ b/third_party/googleapis/google/chat/v1/membership.proto @@ -22,10 +22,13 @@ import "google/chat/v1/group.proto"; import "google/chat/v1/user.proto"; import "google/protobuf/timestamp.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "MembershipProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // Represents a membership relation in Google Chat, such as whether a user or // Chat app is invited to, part of, or absent from a space. diff --git a/third_party/googleapis/google/chat/v1/message.proto b/third_party/googleapis/google/chat/v1/message.proto index 009b3819b..2e1385240 100644 --- a/third_party/googleapis/google/chat/v1/message.proto +++ b/third_party/googleapis/google/chat/v1/message.proto @@ -32,10 +32,13 @@ import "google/chat/v1/user.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "MessageProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // A message in a Google Chat space. message Message { diff --git a/third_party/googleapis/google/chat/v1/reaction.proto b/third_party/googleapis/google/chat/v1/reaction.proto index b4778ecb0..d96c3471b 100644 --- a/third_party/googleapis/google/chat/v1/reaction.proto +++ b/third_party/googleapis/google/chat/v1/reaction.proto @@ -20,10 +20,13 @@ import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/chat/v1/user.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "ReactionProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // A reaction to a message. message Reaction { diff --git a/third_party/googleapis/google/chat/v1/slash_command.proto b/third_party/googleapis/google/chat/v1/slash_command.proto index 8917d6868..68192f9c4 100644 --- a/third_party/googleapis/google/chat/v1/slash_command.proto +++ b/third_party/googleapis/google/chat/v1/slash_command.proto @@ -16,10 +16,13 @@ syntax = "proto3"; package google.chat.v1; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "SlashCommandProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // A [slash command](https://developers.google.com/chat/how-tos/slash-commands) // in Google Chat. diff --git a/third_party/googleapis/google/chat/v1/space.proto b/third_party/googleapis/google/chat/v1/space.proto index 48eabeedf..d1e9e10c4 100644 --- a/third_party/googleapis/google/chat/v1/space.proto +++ b/third_party/googleapis/google/chat/v1/space.proto @@ -22,10 +22,13 @@ import "google/chat/v1/history_state.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "SpaceProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // A space in Google Chat. Spaces are conversations between two or more users // or 1:1 messages between a user and a Chat app. diff --git a/third_party/googleapis/google/chat/v1/space_setup.proto b/third_party/googleapis/google/chat/v1/space_setup.proto index 55251564d..31757a7e1 100644 --- a/third_party/googleapis/google/chat/v1/space_setup.proto +++ b/third_party/googleapis/google/chat/v1/space_setup.proto @@ -20,10 +20,13 @@ import "google/api/field_behavior.proto"; import "google/chat/v1/membership.proto"; import "google/chat/v1/space.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "SpaceSetupProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; message SetUpSpaceRequest { // Required. The `Space.spaceType` field is required. diff --git a/third_party/googleapis/google/chat/v1/user.proto b/third_party/googleapis/google/chat/v1/user.proto index 80a2b66f2..5feba2a04 100644 --- a/third_party/googleapis/google/chat/v1/user.proto +++ b/third_party/googleapis/google/chat/v1/user.proto @@ -19,10 +19,13 @@ package google.chat.v1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "UserProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // A user in Google Chat. // When returned as an output from a request, if your Chat app [authenticates as diff --git a/third_party/googleapis/google/chat/v1/widgets.proto b/third_party/googleapis/google/chat/v1/widgets.proto index c33403d5b..f2defb5de 100644 --- a/third_party/googleapis/google/chat/v1/widgets.proto +++ b/third_party/googleapis/google/chat/v1/widgets.proto @@ -16,10 +16,13 @@ syntax = "proto3"; package google.chat.v1; -option go_package = "google.golang.org/genproto/googleapis/chat/v1;chat"; +option csharp_namespace = "Google.Chat.V1"; +option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; option java_multiple_files = true; option java_outer_classname = "WidgetsProto"; option java_package = "com.google.chat.v1"; +option php_namespace = "Google\\Chat\\V1"; +option ruby_package = "Google::Chat::V1"; // A widget is a UI element that presents text and images. message WidgetMarkup { diff --git a/third_party/googleapis/google/cloud/aiplatform/BUILD.bazel b/third_party/googleapis/google/cloud/aiplatform/BUILD.bazel index ccc6de7c2..c28da956a 100644 --- a/third_party/googleapis/google/cloud/aiplatform/BUILD.bazel +++ b/third_party/googleapis/google/cloud/aiplatform/BUILD.bazel @@ -21,7 +21,7 @@ ruby_cloud_gapic_library( srcs = ["//google/cloud/aiplatform/v1:aiplatform_proto_with_info"], extra_protoc_parameters = [ "ruby-cloud-gem-name=google-cloud-ai_platform", - "ruby-cloud-wrapper-of=v1:0.35", + "ruby-cloud-wrapper-of=v1:0.36", "ruby-cloud-product-url=https://cloud.google.com/vertex-ai/docs/", "ruby-cloud-api-id=aiplatform.googleapis.com", "ruby-cloud-api-shortname=aiplatform", diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/feature.proto b/third_party/googleapis/google/cloud/aiplatform/v1/feature.proto index 464b88890..e47a5287d 100644 --- a/third_party/googleapis/google/cloud/aiplatform/v1/feature.proto +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature.proto @@ -170,4 +170,8 @@ message Feature { // The name of the BigQuery Table/View column hosting data for this version. // If no value is provided, will use feature_id. string version_column_name = 106; + + // Entity responsible for maintaining this feature. Can be comma separated + // list of email addresses or URIs. + string point_of_contact = 107; } diff --git a/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store_service.proto index c6a44037e..bb451126e 100644 --- a/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store_service.proto +++ b/third_party/googleapis/google/cloud/aiplatform/v1/feature_online_store_service.proto @@ -73,9 +73,20 @@ enum FeatureViewDataFormat { // Lookup key for a feature view. message FeatureViewDataKey { + // ID that is comprised from several parts (columns). + message CompositeKey { + // Parts to construct Entity ID. Should match with the same ID columns as + // defined in FeatureView in the same order. + repeated string parts = 1; + } + oneof key_oneof { // String key to use for lookup. string key = 1; + + // The actual Entity ID will be composed from this struct. This should match + // with the way ID is defined in the FeatureView spec. + CompositeKey composite_key = 2; } } diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature.proto index f5510a91d..f88981051 100644 --- a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature.proto +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature.proto @@ -197,4 +197,8 @@ message Feature { // The name of the BigQuery Table/View column hosting data for this version. // If no value is provided, will use feature_id. string version_column_name = 106; + + // Entity responsible for maintaining this feature. Can be comma separated + // list of email addresses or URIs. + string point_of_contact = 107; } diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto index ba9275837..d5876ac91 100644 --- a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto @@ -73,9 +73,20 @@ enum FeatureViewDataFormat { // Lookup key for a feature view. message FeatureViewDataKey { + // ID that is comprised from several parts (columns). + message CompositeKey { + // Parts to construct Entity ID. Should match with the same ID columns as + // defined in FeatureView in the same order. + repeated string parts = 1; + } + oneof key_oneof { // String key to use for lookup. string key = 1; + + // The actual Entity ID will be composed from this struct. This should match + // with the way ID is defined in the FeatureView spec. + CompositeKey composite_key = 2; } } diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view.proto index 3e4337d4c..e24188e27 100644 --- a/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view.proto +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature_view.proto @@ -147,6 +147,22 @@ message FeatureView { [(google.api.field_behavior) = REQUIRED]; } + // Service agent type used during data sync. + enum ServiceAgentType { + // By default, the project-level Vertex AI Service Agent is enabled. + SERVICE_AGENT_TYPE_UNSPECIFIED = 0; + + // Indicates the project-level Vertex AI Service Agent + // (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + // will be used during sync jobs. + SERVICE_AGENT_TYPE_PROJECT = 1; + + // Enable a FeatureView service account to be created by Vertex AI and + // output in the field `service_account_email`. This service account will + // be used to read from the source BigQuery table during sync. + SERVICE_AGENT_TYPE_FEATURE_VIEW = 2; + } + oneof source { // Optional. Configures how data is supposed to be extracted from a BigQuery // source to be loaded onto the FeatureOnlineStore. @@ -199,4 +215,18 @@ message FeatureView { // online serving. VectorSearchConfig vector_search_config = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Service agent type used during data sync. By default, the Vertex + // AI Service Agent is used. When using an IAM Policy to isolate this + // FeatureView within a project, a separate service account should be + // provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`. + // This will generate a separate service account to access the BigQuery source + // table. + ServiceAgentType service_agent_type = 14 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. A Service Account unique to this FeatureView. The role + // bigquery.dataViewer should be granted to this service account to allow + // Vertex AI Feature Store to sync data to the online store. + string service_account_email = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource.proto b/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource.proto index abf5e2c85..8e2aa894b 100644 --- a/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource.proto +++ b/third_party/googleapis/google/cloud/aiplatform/v1beta1/persistent_resource.proto @@ -237,6 +237,9 @@ message RaySpec { // set. string head_node_resource_pool_id = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Ray metrics configurations. + RayMetricSpec ray_metric_spec = 8 [(google.api.field_behavior) = OPTIONAL]; } // Persistent Cluster runtime information as output @@ -274,3 +277,9 @@ message ServiceAccountSpec { // Required if any containers are specified in `ResourceRuntimeSpec`. string service_account = 2 [(google.api.field_behavior) = OPTIONAL]; } + +// Configuration for the Ray metrics. +message RayMetricSpec { + // Optional. Flag to disable the Ray metrics collection. + bool disabled = 1 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/alloydb/v1alpha/resources.proto b/third_party/googleapis/google/cloud/alloydb/v1alpha/resources.proto index eb213a55c..c3b347765 100644 --- a/third_party/googleapis/google/cloud/alloydb/v1alpha/resources.proto +++ b/third_party/googleapis/google/cloud/alloydb/v1alpha/resources.proto @@ -16,14 +16,14 @@ syntax = "proto3"; package google.cloud.alloydb.v1alpha; +import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; +import "google/api/resource.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; import "google/type/dayofweek.proto"; import "google/type/timeofday.proto"; -import "google/api/field_behavior.proto"; -import "google/api/field_info.proto"; -import "google/api/resource.proto"; option csharp_namespace = "Google.Cloud.AlloyDb.V1Alpha"; option go_package = "cloud.google.com/go/alloydb/apiv1alpha/alloydbpb;alloydbpb"; @@ -956,6 +956,11 @@ message Instance { // This is the connection endpoint for an end-user application. string ip_address = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. The public IP addresses for the Instance. This is available + // ONLY when enable_public_ip is set. This is the connection endpoint for an + // end-user application. + string public_ip_address = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. Reconciling (https://google.aip.dev/128#reconciliation). // Set to true if the current state of Instance does not match the user's // intended state, and the service is actively updating the resource to @@ -1030,6 +1035,9 @@ message ConnectionInfo { // Output only. The unique ID of the Instance. string instance_uid = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The DNS name to use with PSC for the Instance. + string psc_dns_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Message describing Backup object diff --git a/third_party/googleapis/google/cloud/alloydb/v1beta/BUILD.bazel b/third_party/googleapis/google/cloud/alloydb/v1beta/BUILD.bazel index a9b5d8af7..0f7ad4004 100644 --- a/third_party/googleapis/google/cloud/alloydb/v1beta/BUILD.bazel +++ b/third_party/googleapis/google/cloud/alloydb/v1beta/BUILD.bazel @@ -28,6 +28,7 @@ proto_library( "//google/api:annotations_proto", "//google/api:client_proto", "//google/api:field_behavior_proto", + "//google/api:field_info_proto", "//google/api:resource_proto", "//google/longrunning:operations_proto", "//google/rpc:status_proto", diff --git a/third_party/googleapis/google/cloud/alloydb/v1beta/alloydb_v1beta.yaml b/third_party/googleapis/google/cloud/alloydb/v1beta/alloydb_v1beta.yaml index d93b73621..2df11dd8d 100644 --- a/third_party/googleapis/google/cloud/alloydb/v1beta/alloydb_v1beta.yaml +++ b/third_party/googleapis/google/cloud/alloydb/v1beta/alloydb_v1beta.yaml @@ -56,19 +56,6 @@ documentation: permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. -backend: - rules: - - selector: 'google.cloud.alloydb.v1beta.AlloyDBAdmin.*' - deadline: 60.0 - - selector: google.cloud.location.Locations.GetLocation - deadline: 60.0 - - selector: google.cloud.location.Locations.ListLocations - deadline: 60.0 - - selector: 'google.iam.v1.IAMPolicy.*' - deadline: 60.0 - - selector: 'google.longrunning.Operations.*' - deadline: 60.0 - http: rules: - selector: google.cloud.location.Locations.GetLocation diff --git a/third_party/googleapis/google/cloud/alloydb/v1beta/alloydb_v1beta_grpc_service_config.json b/third_party/googleapis/google/cloud/alloydb/v1beta/alloydb_v1beta_grpc_service_config.json index 442133114..e208336dd 100644 --- a/third_party/googleapis/google/cloud/alloydb/v1beta/alloydb_v1beta_grpc_service_config.json +++ b/third_party/googleapis/google/cloud/alloydb/v1beta/alloydb_v1beta_grpc_service_config.json @@ -11,7 +11,8 @@ { "service": "google.cloud.alloydb.v1beta.AlloyDBAdmin", "method": "GenerateClientCertificate" }, { "service": "google.cloud.alloydb.v1beta.AlloyDBAdmin", "method": "GetConnectionInfo" }, { "service": "google.cloud.alloydb.v1beta.AlloyDBAdmin", "method": "ListUsers" }, - { "service": "google.cloud.alloydb.v1beta.AlloyDBAdmin", "method": "GetUser" } + { "service": "google.cloud.alloydb.v1beta.AlloyDBAdmin", "method": "GetUser" }, + { "service": "google.cloud.alloydb.v1beta.AlloyDBAdmin", "method": "ListDatabases" } ], "timeout": "60s", "retryPolicy": { diff --git a/third_party/googleapis/google/cloud/alloydb/v1beta/resources.proto b/third_party/googleapis/google/cloud/alloydb/v1beta/resources.proto index bbcfd96d3..59e443ff5 100644 --- a/third_party/googleapis/google/cloud/alloydb/v1beta/resources.proto +++ b/third_party/googleapis/google/cloud/alloydb/v1beta/resources.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.cloud.alloydb.v1beta; import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; import "google/api/resource.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -386,14 +387,14 @@ message Cluster { // Metadata related to network configuration. message NetworkConfig { - // Required. The resource link for the VPC network in which cluster + // Optional. The resource link for the VPC network in which cluster // resources are created and from which they are accessible via Private IP. // The network must belong to the same project as the cluster. It is // specified in the form: // "projects/{project_number}/global/networks/{network_id}". This is // required to create a cluster. string network = 1 [ - (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OPTIONAL, (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } @@ -404,8 +405,8 @@ message Cluster { // instance IPs for this cluster will be created in the allocated range. The // range name must comply with RFC 1035. Specifically, the name must be 1-63 // characters long and match the regular expression - // [a-z]([-a-z0-9]*[a-z0-9])?. - // Field name is intended to be consistent with CloudSQL. + // `[a-z]([-a-z0-9]*[a-z0-9])?`. + // Field name is intended to be consistent with Cloud SQL. string allocated_ip_range = 2 [(google.api.field_behavior) = OPTIONAL]; } @@ -606,6 +607,9 @@ message Cluster { // Output only. Cross Region replication config specific to PRIMARY cluster. PrimaryConfig primary_config = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reserved for future use. + bool satisfies_pzs = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; } // An Instance is a computing unit that an end customer can connect to. @@ -698,6 +702,79 @@ message Instance { SslConfig ssl_config = 2 [(google.api.field_behavior) = OPTIONAL]; } + // Configuration for setting up a PSC interface. This information needs to be + // provided by the customer. + // PSC interfaces will be created and added to VMs via SLM (adding a network + // interface will require recreating the VM). For HA instances this will be + // done via LDTM. + message PscInterfaceConfig { + // A list of endpoints in the consumer VPC the interface might initiate + // outbound connections to. This list has to be provided when the PSC + // interface is created. + repeated string consumer_endpoint_ips = 1; + + // The NetworkAttachment resource created in the consumer VPC to which the + // PSC interface will be linked, in the form of: + // `projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${NETWORK_ATTACHMENT_NAME}`. + // NetworkAttachment has to be provided when the PSC interface is created. + string network_attachment = 2; + } + + // PscInstanceConfig contains PSC related configuration at an + // instance level. + message PscInstanceConfig { + // Output only. The service attachment created when Private + // Service Connect (PSC) is enabled for the instance. + // The name of the resource will be in the format of + // `projects//regions//serviceAttachments/` + string service_attachment_link = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. List of consumer projects that are allowed to create + // PSC endpoints to service-attachments to this instance. + repeated string allowed_consumer_projects = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. List of consumer networks that are allowed to create + // PSC endpoints to service-attachments to this instance. + repeated string allowed_consumer_networks = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configurations for setting up PSC interfaces attached to the + // instance which are used for outbound connectivity. Only primary instances + // can have PSC interface attached. All the VMs created for the primary + // instance will share the same configurations. Currently we only support 0 + // or 1 PSC interface. + repeated PscInterfaceConfig psc_interface_configs = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. List of service attachments that this instance has created + // endpoints to connect with. Currently, only a single outgoing service + // attachment is supported per instance. + repeated string outgoing_service_attachment_links = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether PSC connectivity is enabled for this instance. + // This is populated by referencing the value from the parent cluster. + bool psc_enabled = 6 [(google.api.field_behavior) = OPTIONAL]; + } + + // Metadata related to instance level network configuration. + message InstanceNetworkConfig { + // AuthorizedNetwork contains metadata for an authorized network. + message AuthorizedNetwork { + // CIDR range for one authorzied network of the instance. + string cidr_range = 1 [(google.api.field_info).format = IPV4]; + } + + // Optional. A list of external network authorized to access this instance. + repeated AuthorizedNetwork authorized_external_networks = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Enabling public ip for the instance. + bool enable_public_ip = 2 [(google.api.field_behavior) = OPTIONAL]; + } + // Instance State enum State { // The state of the instance is unknown. @@ -857,13 +934,19 @@ message Instance { // Configuration for query insights. QueryInsightsInstanceConfig query_insights_config = 21; - // Read pool specific config. + // Read pool instance configuration. + // This is required if the value of instanceType is READ_POOL. ReadPoolConfig read_pool_config = 14; // Output only. The IP address for the Instance. // This is the connection endpoint for an end-user application. string ip_address = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. The public IP addresses for the Instance. This is available + // ONLY when enable_public_ip is set. This is the connection endpoint for an + // end-user application. + string public_ip_address = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. Reconciling (https://google.aip.dev/128#reconciliation). // Set to true if the current state of Instance does not match the user's // intended state, and the service is actively updating the resource to @@ -888,6 +971,18 @@ message Instance { // Optional. Client connection specific configurations ClientConnectionConfig client_connection_config = 23 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Reserved for future use. + bool satisfies_pzs = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The configuration for Private Service Connect (PSC) for the + // instance. + PscInstanceConfig psc_instance_config = 28 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Instance level network configuration. + InstanceNetworkConfig network_config = 29 + [(google.api.field_behavior) = OPTIONAL]; } // ConnectionInfo singleton resource. @@ -908,6 +1003,14 @@ message ConnectionInfo { // is set). This is the connection endpoint for an end-user application. string ip_address = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. The public IP addresses for the Instance. This is available + // ONLY when enable_public_ip is set. This is the connection endpoint for an + // end-user application. + string public_ip_address = 5 [ + (google.api.field_info).format = IPV4, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + // Output only. The pem-encoded chain that may be used to verify the X.509 // certificate. Expected to be in issuer-to-root order according to RFC 5246. repeated string pem_certificate_chain = 3 @@ -915,6 +1018,9 @@ message ConnectionInfo { // Output only. The unique ID of the Instance. string instance_uid = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The DNS name to use with PSC for the Instance. + string psc_dns_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Message describing Backup object @@ -1077,6 +1183,9 @@ message Backup { QuantityBasedExpiry expiry_quantity = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. Reserved for future use. + bool satisfies_pzs = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. The database engine major version of the cluster this backup // was created from. Any restored cluster created from this backup will have // the same database version. @@ -1200,3 +1309,28 @@ message User { // Optional. Type of this user. UserType user_type = 5 [(google.api.field_behavior) = OPTIONAL]; } + +// Message describing Database object. +message Database { + option (google.api.resource) = { + type: "alloydb.googleapis.com/Database" + pattern: "projects/{project}/locations/{location}/clusters/{cluster}/databases/{database}" + plural: "databases" + singular: "database" + style: DECLARATIVE_FRIENDLY + }; + + // Identifier. Name of the resource in the form of + // `projects/{project}/locations/{location}/clusters/{cluster}/databases/{database}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Optional. Charset for the database. + // This field can contain any PostgreSQL supported charset name. + // Example values include "UTF8", "SQL_ASCII", etc. + string charset = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Collation for the database. + // Name of the custom or native collation for postgres. + // Example values include "C", "POSIX", etc + string collation = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/third_party/googleapis/google/cloud/alloydb/v1beta/service.proto b/third_party/googleapis/google/cloud/alloydb/v1beta/service.proto index df23a56f1..b8c6c660a 100644 --- a/third_party/googleapis/google/cloud/alloydb/v1beta/service.proto +++ b/third_party/googleapis/google/cloud/alloydb/v1beta/service.proto @@ -410,6 +410,14 @@ service AlloyDBAdmin { }; option (google.api.method_signature) = "name"; } + + // Lists Databases in a given project and location. + rpc ListDatabases(ListDatabasesRequest) returns (ListDatabasesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/clusters/*}/databases" + }; + option (google.api.method_signature) = "parent"; + } } // Message for requesting list of Clusters @@ -1348,7 +1356,8 @@ message GenerateClientCertificateRequest { // not supported (00000000-0000-0000-0000-000000000000). string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A pem-encoded X.509 certificate signing request (CSR). + // Optional. A pem-encoded X.509 certificate signing request (CSR). It is + // recommended to use public_key instead. string pem_csr = 3 [deprecated = true, (google.api.field_behavior) = OPTIONAL]; @@ -1372,7 +1381,8 @@ message GenerateClientCertificateRequest { // Message returned by a GenerateClientCertificate operation. message GenerateClientCertificateResponse { // Output only. The pem-encoded, signed X.509 certificate. - string pem_certificate = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string pem_certificate = 1 + [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The pem-encoded chain that may be used to verify the X.509 // certificate. Expected to be in issuer-to-root order according to RFC 5246. @@ -1593,3 +1603,39 @@ message DeleteUserRequest { // execute it. bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; } + +// Message for requesting list of Databases. +message ListDatabasesRequest { + // Required. Parent value for ListDatabasesRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "alloydb.googleapis.com/Database" + } + ]; + + // Optional. The maximum number of databases to return. The service may return + // fewer than this value. If unspecified, an appropriate number of databases + // will be returned. The max value will be 2000, values above max will be + // coerced to max. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListDatabases` call. + // This should be provided to retrieve the subsequent page. + // This field is currently not supported, its value will be ignored if passed. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filtering results. + // This field is currently not supported, its value will be ignored if passed. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing Databases. +message ListDatabasesResponse { + // The list of databases + repeated Database databases = 1; + + // A token identifying the next page of results the server should return. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} diff --git a/third_party/googleapis/google/cloud/backupdr/logging/v1/reportlog.proto b/third_party/googleapis/google/cloud/backupdr/logging/v1/reportlog.proto index 78113201c..69d99bc95 100644 --- a/third_party/googleapis/google/cloud/backupdr/logging/v1/reportlog.proto +++ b/third_party/googleapis/google/cloud/backupdr/logging/v1/reportlog.proto @@ -270,3 +270,49 @@ message BackupStorageUtilizationReportLog { // Required. Appliance id. string appliance_id = 7; } + +// Holds information for the Protected Resource +message ProtectedResource { + // Required. Resource name. + string resource_name = 1; + // Required. Resource Type. + string resource_type = 2; + // Required. Resource ID. + string resource_id = 3; + // Optional. Backup Inclusion/Exclusion. + string backup_inclusion_or_exclusion = 4; + // Required. Host Id. + string host_id = 5; + // Required. Host Name. + string host_name = 6; + // Required. Backup Template ID. + string backup_plan_policy_template_id = 7; + // Required. Backup Template. + string backup_plan_policy_template = 8; + // Required. Sla Id. + string sla_id = 9; + // Required. Backup Plan restrictions. + string backup_plan_restrictions = 10; + // Required. Protected On. + string protected_on = 11; + // Optional. Policy Overrides. + string policy_overrides = 12; + // Optional. Source Appliance in case of streamsnap. + string source_appliance = 13; + // Optional. Source Appliance Id in case of streamsnap. + string source_appliance_id = 14; + // Required. Protected Data (GiB). + double protected_data_in_gib = 15; + // Optional. Onvault (GiB) . + double onvault_in_gib = 16; + // Optional. Originating Appliance in case of streamsnap. + string appliance_name = 17; + // Optional. Originating Appliance id in case of streamsnap. + string appliance_id = 18; + // Optional. Remote Appliance in case of streamsnap. + string remote_appliance = 19; + // Optional. Remote Appliance id in case of streamsnap. + string remote_appliance_id = 20; + // Optional. Recovery Point. + string recovery_point = 21; +} diff --git a/third_party/googleapis/google/cloud/batch/v1/batch_v1.yaml b/third_party/googleapis/google/cloud/batch/v1/batch_v1.yaml index e6125f736..0707cdc70 100644 --- a/third_party/googleapis/google/cloud/batch/v1/batch_v1.yaml +++ b/third_party/googleapis/google/cloud/batch/v1/batch_v1.yaml @@ -12,7 +12,7 @@ types: - name: google.cloud.batch.v1.OperationMetadata documentation: - summary: An API to manage the running of batch jobs on Google Cloud Platform. + summary: An API to manage the running of batch resources on Google Cloud Platform. overview: '(include == google/cloud/batch/doc/overview.md ==)' rules: - selector: google.cloud.location.Locations.GetLocation diff --git a/third_party/googleapis/google/cloud/batch/v1/batch_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/batch/v1/batch_v1_grpc_service_config.json index 4cb79a490..1bbef0f10 100644 --- a/third_party/googleapis/google/cloud/batch/v1/batch_v1_grpc_service_config.json +++ b/third_party/googleapis/google/cloud/batch/v1/batch_v1_grpc_service_config.json @@ -3,8 +3,10 @@ "name": [ { "service": "google.cloud.batch.v1.BatchService", "method": "ListJobs" }, { "service": "google.cloud.batch.v1.BatchService", "method": "ListTasks" }, + { "service": "google.cloud.batch.v1.BatchService", "method": "ListResourceAllowances" }, { "service": "google.cloud.batch.v1.BatchService", "method": "GetJob" }, - { "service": "google.cloud.batch.v1.BatchService", "method": "GetTask" } + { "service": "google.cloud.batch.v1.BatchService", "method": "GetTask" }, + { "service": "google.cloud.batch.v1.BatchService", "method": "GetResourceAllowance" } ], "timeout": "60s", "retryPolicy": { @@ -19,7 +21,10 @@ "name": [ { "service": "google.cloud.batch.v1.BatchService", "method": "CreateJob" }, { "service": "google.cloud.batch.v1.BatchService", "method": "DeleteJob" }, - { "service": "google.cloud.batch.v1.BatchService", "method": "CancelJob"} + { "service": "google.cloud.batch.v1.BatchService", "method": "CancelJob"}, + { "service": "google.cloud.batch.v1.BatchService", "method": "CreateResourceAllowance" }, + { "service": "google.cloud.batch.v1.BatchService", "method": "DeleteResourceAllowance" }, + { "service": "google.cloud.batch.v1.BatchService", "method": "UpdateResourceAllowance"} ], "timeout": "60s" }] diff --git a/third_party/googleapis/google/cloud/batch/v1/job.proto b/third_party/googleapis/google/cloud/batch/v1/job.proto index 7d97e5cc0..7455467cf 100644 --- a/third_party/googleapis/google/cloud/batch/v1/job.proto +++ b/third_party/googleapis/google/cloud/batch/v1/job.proto @@ -42,7 +42,7 @@ message Job { // For example: "projects/123456/locations/us-central1/jobs/job01". string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. A system generated unique ID (in UUID4 format) for the Job. + // Output only. A system generated unique ID for the Job. string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Priority of the Job. @@ -607,17 +607,18 @@ message TaskGroup { // When true, Batch will populate a file with a list of all VMs assigned to // the TaskGroup and set the BATCH_HOSTS_FILE environment variable to the path - // of that file. Defaults to false. + // of that file. Defaults to false. The host file supports up to 1000 VMs. bool require_hosts_file = 11; // When true, Batch will configure SSH to allow passwordless login between // VMs running the Batch tasks in the same TaskGroup. bool permissive_ssh = 12; - // Optional. If not set or set to false, Batch will use root user to execute - // runnables. If set to true, Batch will make sure to run the runnables using - // non-root user. Currently, the non-root user Batch used is generated by OS - // login. Reference: https://cloud.google.com/compute/docs/oslogin + // Optional. If not set or set to false, Batch uses the root user to execute + // runnables. If set to true, Batch runs the runnables using a non-root user. + // Currently, the non-root user Batch used is generated by OS Login. For more + // information, see [About OS + // Login](https://cloud.google.com/compute/docs/oslogin). bool run_as_non_root = 14 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/third_party/googleapis/google/cloud/batch/v1/task.proto b/third_party/googleapis/google/cloud/batch/v1/task.proto index 1f97a0000..7037d20da 100644 --- a/third_party/googleapis/google/cloud/batch/v1/task.proto +++ b/third_party/googleapis/google/cloud/batch/v1/task.proto @@ -179,14 +179,39 @@ message Runnable { // `container.options` field. bool block_external_network = 9; - // Optional username for logging in to a docker registry. If username - // matches `projects/*/secrets/*/versions/*` then Batch will read the - // username from the Secret Manager. + // Required if the container image is from a private Docker registry. The + // username to login to the Docker registry that contains the image. + // + // You can either specify the username directly by using plain text or + // specify an encrypted username by using a Secret Manager secret: + // `projects/*/secrets/*/versions/*`. However, using a secret is + // recommended for enhanced security. + // + // Caution: If you specify the username using plain text, you risk the + // username being exposed to any users who can view the job or its logs. + // To avoid this risk, specify a secret that contains the username instead. + // + // Learn more about [Secret + // Manager](https://cloud.google.com/secret-manager/docs/) and [using + // Secret Manager with + // Batch](https://cloud.google.com/batch/docs/create-run-job-secret-manager). string username = 10; - // Optional password for logging in to a docker registry. If password - // matches `projects/*/secrets/*/versions/*` then Batch will read the - // password from the Secret Manager; + // Required if the container image is from a private Docker registry. The + // password to login to the Docker registry that contains the image. + // + // For security, it is strongly recommended to specify an + // encrypted password by using a Secret Manager secret: + // `projects/*/secrets/*/versions/*`. + // + // Warning: If you specify the password using plain text, you risk the + // password being exposed to any users who can view the job or its logs. + // To avoid this risk, specify a secret that contains the password instead. + // + // Learn more about [Secret + // Manager](https://cloud.google.com/secret-manager/docs/) and [using + // Secret Manager with + // Batch](https://cloud.google.com/batch/docs/create-run-job-secret-manager). string password = 11; // Optional. If set to true, this container runnable uses Image streaming. @@ -219,7 +244,7 @@ message Runnable { // first line of the file.(For example, to execute the script using bash, // `#!/bin/bash` should be the first line of the file. To execute the // script using`Python3`, `#!/usr/bin/env python3` should be the first - // line of the file.) Otherwise, the file will by default be excuted by + // line of the file.) Otherwise, the file will by default be executed by // `/bin/sh`. string path = 1; @@ -229,7 +254,7 @@ message Runnable { // beginning of the text.(For example, to execute the script using bash, // `#!/bin/bash\n` should be added. To execute the script using`Python3`, // `#!/usr/bin/env python3\n` should be added.) Otherwise, the script will - // by default be excuted by `/bin/sh`. + // by default be executed by `/bin/sh`. string text = 2; } } diff --git a/third_party/googleapis/google/cloud/batch/v1alpha/batch_v1alpha.yaml b/third_party/googleapis/google/cloud/batch/v1alpha/batch_v1alpha.yaml index dab6826a9..88e4867ab 100644 --- a/third_party/googleapis/google/cloud/batch/v1alpha/batch_v1alpha.yaml +++ b/third_party/googleapis/google/cloud/batch/v1alpha/batch_v1alpha.yaml @@ -12,7 +12,7 @@ types: - name: google.cloud.batch.v1alpha.OperationMetadata documentation: - summary: An API to manage the running of batch jobs on Google Cloud Platform. + summary: An API to manage the running of batch resources on Google Cloud Platform. overview: '(include == google/cloud/batch/doc/overview.md ==)' rules: - selector: google.cloud.location.Locations.GetLocation diff --git a/third_party/googleapis/google/cloud/batch/v1alpha/batch_v1alpha_grpc_service_config.json b/third_party/googleapis/google/cloud/batch/v1alpha/batch_v1alpha_grpc_service_config.json index b68939fad..1bc47d8dd 100644 --- a/third_party/googleapis/google/cloud/batch/v1alpha/batch_v1alpha_grpc_service_config.json +++ b/third_party/googleapis/google/cloud/batch/v1alpha/batch_v1alpha_grpc_service_config.json @@ -3,8 +3,10 @@ "name": [ { "service": "google.cloud.batch.v1alpha.BatchService", "method": "ListJobs" }, { "service": "google.cloud.batch.v1alpha.BatchService", "method": "ListTasks" }, + { "service": "google.cloud.batch.v1alpha.BatchService", "method": "ListResourceAllowances" }, { "service": "google.cloud.batch.v1alpha.BatchService", "method": "GetJob" }, - { "service": "google.cloud.batch.v1alpha.BatchService", "method": "GetTask" } + { "service": "google.cloud.batch.v1alpha.BatchService", "method": "GetTask" }, + { "service": "google.cloud.batch.v1alpha.BatchService", "method": "GetResourceAllowance" } ], "timeout": "60s", "retryPolicy": { @@ -19,7 +21,10 @@ "name": [ { "service": "google.cloud.batch.v1alpha.BatchService", "method": "CreateJob" }, { "service": "google.cloud.batch.v1alpha.BatchService", "method": "DeleteJob" }, - { "service": "google.cloud.batch.v1alpha.BatchService", "method": "CancelJob"} + { "service": "google.cloud.batch.v1alpha.BatchService", "method": "CancelJob"}, + { "service": "google.cloud.batch.v1alpha.BatchService", "method": "CreateResourceAllowance" }, + { "service": "google.cloud.batch.v1alpha.BatchService", "method": "DeleteResourceAllowance" }, + { "service": "google.cloud.batch.v1alpha.BatchService", "method": "UpdateResourceAllowance"} ], "timeout": "60s" }] diff --git a/third_party/googleapis/google/cloud/batch/v1alpha/job.proto b/third_party/googleapis/google/cloud/batch/v1alpha/job.proto index d5461738a..671b683ce 100644 --- a/third_party/googleapis/google/cloud/batch/v1alpha/job.proto +++ b/third_party/googleapis/google/cloud/batch/v1alpha/job.proto @@ -53,7 +53,7 @@ message Job { // For example: "projects/123456/locations/us-central1/jobs/job01". string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. A system generated unique ID (in UUID4 format) for the Job. + // Output only. A system generated unique ID for the Job. string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Priority of the Job. @@ -698,17 +698,18 @@ message TaskGroup { // When true, Batch will populate a file with a list of all VMs assigned to // the TaskGroup and set the BATCH_HOSTS_FILE environment variable to the path - // of that file. Defaults to false. + // of that file. Defaults to false. The host file supports up to 1000 VMs. bool require_hosts_file = 11; // When true, Batch will configure SSH to allow passwordless login between // VMs running the Batch tasks in the same TaskGroup. bool permissive_ssh = 12; - // Optional. If not set or set to false, Batch will use root user to execute - // runnables. If set to true, Batch will make sure to run the runnables using - // non-root user. Currently, the non-root user Batch used is generated by OS - // login. Reference: https://cloud.google.com/compute/docs/oslogin + // Optional. If not set or set to false, Batch uses the root user to execute + // runnables. If set to true, Batch runs the runnables using a non-root user. + // Currently, the non-root user Batch used is generated by OS Login. For more + // information, see [About OS + // Login](https://cloud.google.com/compute/docs/oslogin). bool run_as_non_root = 14 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/third_party/googleapis/google/cloud/batch/v1alpha/task.proto b/third_party/googleapis/google/cloud/batch/v1alpha/task.proto index 40c3128d7..5b259463d 100644 --- a/third_party/googleapis/google/cloud/batch/v1alpha/task.proto +++ b/third_party/googleapis/google/cloud/batch/v1alpha/task.proto @@ -198,14 +198,39 @@ message Runnable { // `container.options` field. bool block_external_network = 9; - // Optional username for logging in to a docker registry. If username - // matches `projects/*/secrets/*/versions/*` then Batch will read the - // username from the Secret Manager. + // Required if the container image is from a private Docker registry. The + // username to login to the Docker registry that contains the image. + // + // You can either specify the username directly by using plain text or + // specify an encrypted username by using a Secret Manager secret: + // `projects/*/secrets/*/versions/*`. However, using a secret is + // recommended for enhanced security. + // + // Caution: If you specify the username using plain text, you risk the + // username being exposed to any users who can view the job or its logs. + // To avoid this risk, specify a secret that contains the username instead. + // + // Learn more about [Secret + // Manager](https://cloud.google.com/secret-manager/docs/) and [using + // Secret Manager with + // Batch](https://cloud.google.com/batch/docs/create-run-job-secret-manager). string username = 10; - // Optional password for logging in to a docker registry. If password - // matches `projects/*/secrets/*/versions/*` then Batch will read the - // password from the Secret Manager; + // Required if the container image is from a private Docker registry. The + // password to login to the Docker registry that contains the image. + // + // For security, it is strongly recommended to specify an + // encrypted password by using a Secret Manager secret: + // `projects/*/secrets/*/versions/*`. + // + // Warning: If you specify the password using plain text, you risk the + // password being exposed to any users who can view the job or its logs. + // To avoid this risk, specify a secret that contains the password instead. + // + // Learn more about [Secret + // Manager](https://cloud.google.com/secret-manager/docs/) and [using + // Secret Manager with + // Batch](https://cloud.google.com/batch/docs/create-run-job-secret-manager). string password = 11; // Optional. If set to true, this container runnable uses Image streaming. @@ -238,7 +263,7 @@ message Runnable { // first line of the file.(For example, to execute the script using bash, // `#!/bin/bash` should be the first line of the file. To execute the // script using`Python3`, `#!/usr/bin/env python3` should be the first - // line of the file.) Otherwise, the file will by default be excuted by + // line of the file.) Otherwise, the file will by default be executed by // `/bin/sh`. string path = 1; @@ -248,7 +273,7 @@ message Runnable { // beginning of the text.(For example, to execute the script using bash, // `#!/bin/bash\n` should be added. To execute the script using`Python3`, // `#!/usr/bin/env python3\n` should be added.) Otherwise, the script will - // by default be excuted by `/bin/sh`. + // by default be executed by `/bin/sh`. string text = 2; } } diff --git a/third_party/googleapis/google/cloud/bigquery/datatransfer/v1/datatransfer.proto b/third_party/googleapis/google/cloud/bigquery/datatransfer/v1/datatransfer.proto index 67f7e4226..b5874c991 100644 --- a/third_party/googleapis/google/cloud/bigquery/datatransfer/v1/datatransfer.proto +++ b/third_party/googleapis/google/cloud/bigquery/datatransfer/v1/datatransfer.proto @@ -240,7 +240,8 @@ service DataTransferService { // Unenroll data sources in a user project. This allows users to remove // transfer configurations for these data sources. They will no longer appear // in the ListDataSources RPC and will also no longer appear in the [BigQuery - // UI](https://console.cloud.google.com/bigquery). + // UI](https://console.cloud.google.com/bigquery). Data transfers + // configurations of unenrolled data sources will not be scheduled. rpc UnenrollDataSources(UnenrollDataSourcesRequest) returns (google.protobuf.Empty) { option (google.api.http) = { diff --git a/third_party/googleapis/google/cloud/bigquery/datatransfer/v1/transfer.proto b/third_party/googleapis/google/cloud/bigquery/datatransfer/v1/transfer.proto index e65b536bc..13904846e 100644 --- a/third_party/googleapis/google/cloud/bigquery/datatransfer/v1/transfer.proto +++ b/third_party/googleapis/google/cloud/bigquery/datatransfer/v1/transfer.proto @@ -87,13 +87,13 @@ message ScheduleOptions { // Specifies time to start scheduling transfer runs. The first run will be // scheduled at or after the start time according to a recurrence pattern // defined in the schedule string. The start time can be changed at any - // moment. The time when a data transfer can be trigerred manually is not + // moment. The time when a data transfer can be triggered manually is not // limited by this option. google.protobuf.Timestamp start_time = 1; // Defines time to stop scheduling transfer runs. A transfer run cannot be // scheduled at or after the end time. The end time can be changed at any - // moment. The time when a data transfer can be trigerred manually is not + // moment. The time when a data transfer can be triggered manually is not // limited by this option. google.protobuf.Timestamp end_time = 2; } @@ -148,8 +148,7 @@ message TransferConfig { // Data transfer schedule. // If the data source does not support a custom schedule, this should be - // empty. If it is empty, the default value for the data source will be - // used. + // empty. If it is empty, the default value for the data source will be used. // The specified times are in UTC. // Examples of valid format: // `1st,3rd monday of month 15:30`, @@ -169,12 +168,12 @@ message TransferConfig { // For example, if `data_refresh_window_days = 10`, then every day // BigQuery reingests data for [today-10, today-1], rather than ingesting data // for just [today-1]. - // Only valid if the data source supports the feature. Set the value to 0 + // Only valid if the data source supports the feature. Set the value to 0 // to use the default value. int32 data_refresh_window_days = 12; - // Is this config disabled. When set to true, no runs are scheduled - // for a given transfer. + // Is this config disabled. When set to true, no runs will be scheduled for + // this transfer config. bool disabled = 13; // Output only. Data transfer modification time. Ignored by server on input. @@ -198,7 +197,7 @@ message TransferConfig { // associated with this transfer config finish. // // The format for specifying a pubsub topic is: - // `projects/{project}/topics/{topic}` + // `projects/{project_id}/topics/{topic_id}` string notification_pubsub_topic = 15; // Email notifications will be sent according to these preferences @@ -296,7 +295,7 @@ message TransferRun { // transfer run finishes. // // The format for specifying a pubsub topic is: - // `projects/{project}/topics/{topic}` + // `projects/{project_id}/topics/{topic_id}` string notification_pubsub_topic = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; diff --git a/third_party/googleapis/google/cloud/bigquery/storage/v1/table.proto b/third_party/googleapis/google/cloud/bigquery/storage/v1/table.proto index 47629c510..7f9dde5f6 100644 --- a/third_party/googleapis/google/cloud/bigquery/storage/v1/table.proto +++ b/third_party/googleapis/google/cloud/bigquery/storage/v1/table.proto @@ -83,6 +83,9 @@ message TableFieldSchema { // JSON, String JSON = 15; + + // RANGE + RANGE = 16; } enum Mode { @@ -96,6 +99,12 @@ message TableFieldSchema { REPEATED = 3; } + // Represents the type of a field element. + message FieldElementType { + // Required. The type of a field element. + Type type = 1 [(google.api.field_behavior) = REQUIRED]; + } + // Required. The field name. The name must contain only letters (a-z, A-Z), // numbers (0-9), or underscores (_), and must start with a letter or // underscore. The maximum length is 128 characters. @@ -168,4 +177,13 @@ message TableFieldSchema { // Optional. A SQL expression to specify the [default value] // (https://cloud.google.com/bigquery/docs/default-values) for this field. string default_value_expression = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The subtype of the RANGE, if the type of this field is RANGE. If + // the type is RANGE, this field is required. Possible values for the field + // element type of a RANGE include: + // * DATE + // * DATETIME + // * TIMESTAMP + FieldElementType range_element_type = 11 + [(google.api.field_behavior) = OPTIONAL]; } diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/BUILD.bazel b/third_party/googleapis/google/cloud/cloudcontrolspartner/BUILD.bazel new file mode 100644 index 000000000..f75faad33 --- /dev/null +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-cloud_controls_partner. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for cloudcontrolspartner. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1beta in this case. +ruby_cloud_gapic_library( + name = "cloudcontrolspartner_ruby_wrapper", + srcs = ["//google/cloud/cloudcontrolspartner/v1beta:cloudcontrolspartner_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-cloud_controls_partner", + "ruby-cloud-wrapper-of=v1beta:0.0", + ], + service_yaml = "//google/cloud/cloudcontrolspartner/v1beta:cloudcontrolspartner_v1beta.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-cloudcontrolspartner-ruby", + deps = [ + ":cloudcontrolspartner_ruby_wrapper", + ], +) \ No newline at end of file diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/BUILD.bazel b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/BUILD.bazel index 7ed4f0fb6..7ea52d677 100644 --- a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/BUILD.bazel +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/BUILD.bazel @@ -104,6 +104,7 @@ java_gapic_test( # Open Source Packages java_gapic_assembly_gradle_pkg( name = "google-cloud-cloudcontrolspartner-v1beta-java", + include_samples = True, transport = "grpc+rest", deps = [ ":cloudcontrolspartner_java_gapic", @@ -111,7 +112,6 @@ java_gapic_assembly_gradle_pkg( ":cloudcontrolspartner_java_proto", ":cloudcontrolspartner_proto", ], - include_samples = True, ) ############################################################################## @@ -155,9 +155,9 @@ go_gapic_assembly_pkg( name = "gapi-cloud-cloudcontrolspartner-v1beta-go", deps = [ ":cloudcontrolspartner_go_gapic", - ":cloudcontrolspartner_go_gapic_srcjar-test.srcjar", ":cloudcontrolspartner_go_gapic_srcjar-metadata.srcjar", ":cloudcontrolspartner_go_gapic_srcjar-snippets.srcjar", + ":cloudcontrolspartner_go_gapic_srcjar-test.srcjar", ":cloudcontrolspartner_go_proto", ], ) @@ -220,8 +220,8 @@ php_gapic_library( name = "cloudcontrolspartner_php_gapic", srcs = [":cloudcontrolspartner_proto_with_info"], grpc_service_config = "cloudcontrolspartner_v1beta_grpc_service_config.json", - rest_numeric_enums = True, migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, service_yaml = "cloudcontrolspartner_v1beta.yaml", transport = "grpc+rest", deps = [ @@ -273,8 +273,8 @@ nodejs_gapic_assembly_pkg( ############################################################################## load( "@com_google_googleapis_imports//:imports.bzl", - "ruby_gapic_assembly_pkg", "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", "ruby_grpc_library", "ruby_proto_library", ) @@ -293,9 +293,7 @@ ruby_grpc_library( ruby_cloud_gapic_library( name = "cloudcontrolspartner_ruby_gapic", srcs = [":cloudcontrolspartner_proto_with_info"], - extra_protoc_parameters = [ - "ruby-cloud-gem-name=google-cloud-cloudcontrolspartner-v1beta", - ], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-cloud_controls_partner-v1beta"], grpc_service_config = "cloudcontrolspartner_v1beta_grpc_service_config.json", rest_numeric_enums = True, service_yaml = "cloudcontrolspartner_v1beta.yaml", @@ -329,7 +327,6 @@ load( csharp_proto_library( name = "cloudcontrolspartner_csharp_proto", - extra_opts = [], deps = [":cloudcontrolspartner_proto"], ) diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta.yaml b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta.yaml index e16532205..9af04fd4b 100644 --- a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta.yaml +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/cloudcontrolspartner_v1beta.yaml @@ -32,8 +32,43 @@ authentication: publishing: new_issue_uri: https://issuetracker.google.com/issues/new?component=1504051 - documentation_uri: https://cloud.google.com/cloud-controls-partner/docs + documentation_uri: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners api_short_name: cloudcontrolspartner github_label: 'api: cloudcontrolspartner' doc_tag_prefix: cloudcontrolspartner organization: CLOUD + library_settings: + - version: google.cloud.cloudcontrolspartner.v1beta + launch_stage: BETA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + cpp_settings: + common: + destinations: + - PACKAGE_MANAGER + php_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + dotnet_settings: + common: + destinations: + - PACKAGE_MANAGER + ruby_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/core.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/core.proto index d81c670ce..18ef86f56 100644 --- a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/core.proto +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/core.proto @@ -70,7 +70,7 @@ service CloudControlsPartnerCore { option (google.api.method_signature) = "name"; } - // Lists customers of a partner identified by its GCP organization id + // Lists customers of a partner identified by its Google Cloud organization ID rpc ListCustomers(ListCustomersRequest) returns (ListCustomersResponse) { option (google.api.http) = { get: "/v1beta/{parent=organizations/*/locations/*}/customers" diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customer_workloads.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customer_workloads.proto index ba74f64af..90675b7c2 100644 --- a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customer_workloads.proto +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/customer_workloads.proto @@ -88,7 +88,7 @@ message Workload { // The project id of the key management project for the workload string key_management_project_id = 7; - // The gcp location of the workload + // The Google Cloud location of the workload string location = 8; // Partner associated with this workload. diff --git a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partners.proto b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partners.proto index b84c34380..6527d9afe 100644 --- a/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partners.proto +++ b/third_party/googleapis/google/cloud/cloudcontrolspartner/v1beta/partners.proto @@ -52,8 +52,8 @@ message Partner { // https://cloud.google.com/compute/docs/regions-zones repeated string operated_cloud_regions = 5; - // GCP project ID in the partner's GCP organization for receiving enhanced - // Logs for Partners. + // Google Cloud project ID in the partner's Google Cloud organization for + // receiving enhanced Logs for Partners. string partner_project_id = 7; // Output only. Time the resource was created diff --git a/third_party/googleapis/google/cloud/documentai/v1beta2/document.proto b/third_party/googleapis/google/cloud/documentai/v1beta2/document.proto index 7e97a6e59..56144ad93 100644 --- a/third_party/googleapis/google/cloud/documentai/v1beta2/document.proto +++ b/third_party/googleapis/google/cloud/documentai/v1beta2/document.proto @@ -784,7 +784,8 @@ message Document { [deprecated = true, (google.api.field_behavior) = OPTIONAL]; // Optional. Identifies the bounding polygon of a layout element on the - // page. + // page. If `layout_type` is set, the bounding polygon must be exactly the + // same to the layout element it's referring to. BoundingPoly bounding_poly = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Confidence of detected page element, if applicable. Range diff --git a/third_party/googleapis/google/cloud/documentai/v1beta2/documentai_v1beta2.yaml b/third_party/googleapis/google/cloud/documentai/v1beta2/documentai_v1beta2.yaml index 48d681958..f86aacdc1 100644 --- a/third_party/googleapis/google/cloud/documentai/v1beta2/documentai_v1beta2.yaml +++ b/third_party/googleapis/google/cloud/documentai/v1beta2/documentai_v1beta2.yaml @@ -68,13 +68,4 @@ publishing: documentation_uri: https://cloud.google.com/document-ai/docs github_label: 'api: documentai' organization: CLOUD - library_settings: - - version: google.cloud.documentai.v1 - dotnet_settings: - ignored_resources: - - documentai.googleapis.com/Location - - version: google.cloud.documentai.v1beta3 - dotnet_settings: - ignored_resources: - - documentai.googleapis.com/Location proto_reference_documentation_uri: https://cloud.google.com/document-ai/docs/reference/rpc diff --git a/third_party/googleapis/google/cloud/gkehub/v1alpha2/BUILD.bazel b/third_party/googleapis/google/cloud/gkehub/v1alpha2/BUILD.bazel deleted file mode 100644 index 4ddecf942..000000000 --- a/third_party/googleapis/google/cloud/gkehub/v1alpha2/BUILD.bazel +++ /dev/null @@ -1,372 +0,0 @@ -# This file was automatically generated by BuildFileGenerator -# https://github.com/googleapis/rules_gapic/tree/master/bazel - -# Most of the manual changes to this file will be overwritten. -# It's **only** allowed to change the following rule attribute values: -# - names of *_gapic_assembly_* rules -# - certain parameters of *_gapic_library rules, including but not limited to: -# * extra_protoc_parameters -# * extra_protoc_file_parameters -# The complete list of preserved parameters can be found in the source code. - -# This is an API workspace, having public visibility by default makes perfect sense. -package(default_visibility = ["//visibility:public"]) - -############################################################################## -# Common -############################################################################## -load("@rules_proto//proto:defs.bzl", "proto_library") -load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") - -proto_library( - name = "gkehub_proto", - srcs = [ - "membership.proto", - ], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/api:field_behavior_proto", - "//google/api:resource_proto", - "//google/longrunning:operations_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - "@com_google_protobuf//:timestamp_proto", - ], -) - -proto_library_with_info( - name = "gkehub_proto_with_info", - deps = [ - ":gkehub_proto", - "//google/cloud:common_resources_proto", - ], -) - -############################################################################## -# Java -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "java_gapic_assembly_gradle_pkg", - "java_gapic_library", - "java_gapic_test", - "java_grpc_library", - "java_proto_library", -) - -java_proto_library( - name = "gkehub_java_proto", - deps = [":gkehub_proto"], -) - -java_grpc_library( - name = "gkehub_java_grpc", - srcs = [":gkehub_proto"], - deps = [":gkehub_java_proto"], -) - -java_gapic_library( - name = "gkehub_java_gapic", - srcs = [":gkehub_proto_with_info"], - gapic_yaml = None, - grpc_service_config = "membership_grpc_service_config.json", - rest_numeric_enums = True, - service_yaml = "gkehub_v1alpha2.yaml", - test_deps = [ - ":gkehub_java_grpc", - ], - transport = "grpc+rest", - deps = [ - ":gkehub_java_proto", - "//google/api:api_java_proto", - ], -) - -java_gapic_test( - name = "gkehub_java_gapic_test_suite", - test_classes = [ - "com.google.cloud.gkehub.v1alpha2.GkeHubClientHttpJsonTest", - "com.google.cloud.gkehub.v1alpha2.GkeHubClientTest", - ], - runtime_deps = [":gkehub_java_gapic_test"], -) - -# Open Source Packages -java_gapic_assembly_gradle_pkg( - name = "google-cloud-gkehub-v1alpha2-java", - include_samples = True, - transport = "grpc+rest", - deps = [ - ":gkehub_java_gapic", - ":gkehub_java_grpc", - ":gkehub_java_proto", - ":gkehub_proto", - ], -) - -############################################################################## -# Go -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "go_gapic_assembly_pkg", - "go_gapic_library", - "go_proto_library", -) - -go_proto_library( - name = "gkehub_go_proto", - compilers = ["@io_bazel_rules_go//proto:go_grpc"], - importpath = "cloud.google.com/go/gkehub/apiv1alpha2/gkehubpb", - protos = [":gkehub_proto"], - deps = [ - "//google/api:annotations_go_proto", - "//google/longrunning:longrunning_go_proto", - ], -) - -go_gapic_library( - name = "gkehub_go_gapic", - srcs = [":gkehub_proto_with_info"], - grpc_service_config = "membership_grpc_service_config.json", - importpath = "cloud.google.com/go/gkehub/apiv1alpha2;gkehub", - metadata = True, - release_level = "alpha", - rest_numeric_enums = True, - service_yaml = "gkehub_v1alpha2.yaml", - transport = "grpc+rest", - deps = [ - ":gkehub_go_proto", - "//google/longrunning:longrunning_go_proto", - "@com_google_cloud_go_longrunning//:go_default_library", - "@com_google_cloud_go_longrunning//autogen:go_default_library", - ], -) - -# Open Source Packages -go_gapic_assembly_pkg( - name = "gapi-cloud-gkehub-v1alpha2-go", - deps = [ - ":gkehub_go_gapic", - ":gkehub_go_gapic_srcjar-metadata.srcjar", - ":gkehub_go_gapic_srcjar-snippets.srcjar", - ":gkehub_go_gapic_srcjar-test.srcjar", - ":gkehub_go_proto", - ], -) - -############################################################################## -# Python -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "py_gapic_assembly_pkg", - "py_gapic_library", - "py_test", -) - -py_gapic_library( - name = "gkehub_py_gapic", - srcs = [":gkehub_proto"], - grpc_service_config = "membership_grpc_service_config.json", - opt_args = ["warehouse-package-name=google-cloud-gke-hub"], - rest_numeric_enums = True, - service_yaml = "gkehub_v1alpha2.yaml", - transport = "grpc+rest", -) - -py_test( - name = "gkehub_py_gapic_test", - srcs = [ - "gkehub_py_gapic_pytest.py", - "gkehub_py_gapic_test.py", - ], - legacy_create_init = False, - deps = [":gkehub_py_gapic"], -) - -# Open Source Packages -py_gapic_assembly_pkg( - name = "gkehub-v1alpha2-py", - deps = [ - ":gkehub_py_gapic", - ], -) - -############################################################################## -# PHP -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "php_gapic_assembly_pkg", - "php_gapic_library", - "php_proto_library", -) - -php_proto_library( - name = "gkehub_php_proto", - deps = [":gkehub_proto"], -) - -php_gapic_library( - name = "gkehub_php_gapic", - srcs = [":gkehub_proto_with_info"], - grpc_service_config = "membership_grpc_service_config.json", - rest_numeric_enums = True, - service_yaml = "gkehub_v1alpha2.yaml", - transport = "grpc+rest", - deps = [":gkehub_php_proto"], -) - -# Open Source Packages -php_gapic_assembly_pkg( - name = "google-cloud-gkehub-v1alpha2-php", - deps = [ - ":gkehub_php_gapic", - ":gkehub_php_proto", - ], -) - -############################################################################## -# Node.js -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "nodejs_gapic_assembly_pkg", - "nodejs_gapic_library", -) - -nodejs_gapic_library( - name = "gkehub_nodejs_gapic", - package_name = "@google-cloud/gke-hub", - src = ":gkehub_proto_with_info", - extra_protoc_parameters = ["metadata"], - grpc_service_config = "membership_grpc_service_config.json", - package = "google.cloud.gkehub.v1alpha2", - rest_numeric_enums = True, - service_yaml = "gkehub_v1alpha2.yaml", - transport = "grpc+rest", - deps = [], -) - -nodejs_gapic_assembly_pkg( - name = "gkehub-v1alpha2-nodejs", - deps = [ - ":gkehub_nodejs_gapic", - ":gkehub_proto", - ], -) - -############################################################################## -# Ruby -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "ruby_cloud_gapic_library", - "ruby_gapic_assembly_pkg", - "ruby_grpc_library", - "ruby_proto_library", -) - -ruby_proto_library( - name = "gkehub_ruby_proto", - deps = [":gkehub_proto"], -) - -ruby_grpc_library( - name = "gkehub_ruby_grpc", - srcs = [":gkehub_proto"], - deps = [":gkehub_ruby_proto"], -) - -ruby_cloud_gapic_library( - name = "gkehub_ruby_gapic", - srcs = [":gkehub_proto_with_info"], - extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-gkehub-v1alpha2"], - grpc_service_config = "membership_grpc_service_config.json", - rest_numeric_enums = True, - service_yaml = "gkehub_v1alpha2.yaml", - transport = "grpc+rest", - deps = [ - ":gkehub_ruby_grpc", - ":gkehub_ruby_proto", - ], -) - -# Open Source Packages -ruby_gapic_assembly_pkg( - name = "google-cloud-gkehub-v1alpha2-ruby", - deps = [ - ":gkehub_ruby_gapic", - ":gkehub_ruby_grpc", - ":gkehub_ruby_proto", - ], -) - -############################################################################## -# C# -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "csharp_gapic_assembly_pkg", - "csharp_gapic_library", - "csharp_grpc_library", - "csharp_proto_library", -) - -csharp_proto_library( - name = "gkehub_csharp_proto", - deps = [":gkehub_proto"], -) - -csharp_grpc_library( - name = "gkehub_csharp_grpc", - srcs = [":gkehub_proto"], - deps = [":gkehub_csharp_proto"], -) - -csharp_gapic_library( - name = "gkehub_csharp_gapic", - srcs = [":gkehub_proto_with_info"], - common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", - grpc_service_config = "membership_grpc_service_config.json", - rest_numeric_enums = True, - service_yaml = "gkehub_v1alpha2.yaml", - transport = "grpc+rest", - deps = [ - ":gkehub_csharp_grpc", - ":gkehub_csharp_proto", - ], -) - -# Open Source Packages -csharp_gapic_assembly_pkg( - name = "google-cloud-gkehub-v1alpha2-csharp", - deps = [ - ":gkehub_csharp_gapic", - ":gkehub_csharp_grpc", - ":gkehub_csharp_proto", - ], -) - -############################################################################## -# C++ -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "cc_grpc_library", - "cc_proto_library", -) - -cc_proto_library( - name = "gkehub_cc_proto", - deps = [":gkehub_proto"], -) - -cc_grpc_library( - name = "gkehub_cc_grpc", - srcs = [":gkehub_proto"], - grpc_only = True, - deps = [":gkehub_cc_proto"], -) diff --git a/third_party/googleapis/google/cloud/gkehub/v1alpha2/gkehub_v1alpha2.yaml b/third_party/googleapis/google/cloud/gkehub/v1alpha2/gkehub_v1alpha2.yaml deleted file mode 100644 index 5ed774b7f..000000000 --- a/third_party/googleapis/google/cloud/gkehub/v1alpha2/gkehub_v1alpha2.yaml +++ /dev/null @@ -1,105 +0,0 @@ -type: google.api.Service -config_version: 3 -name: gkehub.googleapis.com -title: GKE Hub API - -apis: -- name: google.cloud.gkehub.v1alpha2.GkeHub - -types: -- name: google.cloud.gkehub.v1alpha2.OperationMetadata - -documentation: - rules: - - selector: google.cloud.location.Locations.GetLocation - description: Gets information about a location. - - - selector: google.cloud.location.Locations.ListLocations - description: Lists information about the supported locations for this service. - - - selector: google.iam.v1.IAMPolicy.GetIamPolicy - description: |- - Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. - - - selector: google.iam.v1.IAMPolicy.SetIamPolicy - description: |- - Sets the access control policy on the specified resource. Replaces - any existing policy. - - Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` - errors. - - - selector: google.iam.v1.IAMPolicy.TestIamPermissions - description: |- - Returns permissions that a caller has on the specified resource. If the - resource does not exist, this will return an empty set of - permissions, not a `NOT_FOUND` error. - - Note: This operation is designed to be used for building - permission-aware UIs and command-line tools, not for authorization - checking. This operation may "fail open" without warning. - -backend: - rules: - - selector: 'google.cloud.gkehub.v1alpha2.GkeHub.*' - deadline: 60.0 - - selector: google.cloud.gkehub.v1alpha2.GkeHub.CreateMembership - deadline: 120.0 - - selector: google.cloud.location.Locations.GetLocation - deadline: 60.0 - - selector: google.cloud.location.Locations.ListLocations - deadline: 60.0 - - selector: 'google.iam.v1.IAMPolicy.*' - deadline: 60.0 - - selector: 'google.longrunning.Operations.*' - deadline: 60.0 - - selector: google.longrunning.Operations.GetOperation - deadline: 5.0 - -http: - rules: - - selector: google.cloud.location.Locations.GetLocation - get: '/v1alpha2/{name=projects/*/locations/*}' - - selector: google.cloud.location.Locations.ListLocations - get: '/v1alpha2/{name=projects/*}/locations' - - selector: google.iam.v1.IAMPolicy.GetIamPolicy - get: '/v1alpha2/{resource=projects/*/locations/*/memberships/*}:getIamPolicy' - - selector: google.iam.v1.IAMPolicy.SetIamPolicy - post: '/v1alpha2/{resource=projects/*/locations/*/memberships/*}:setIamPolicy' - body: '*' - - selector: google.iam.v1.IAMPolicy.TestIamPermissions - post: '/v1alpha2/{resource=projects/*/locations/*/memberships/*}:testIamPermissions' - body: '*' - - selector: google.longrunning.Operations.CancelOperation - post: '/v1alpha2/{name=projects/*/locations/*/operations/*}:cancel' - body: '*' - - selector: google.longrunning.Operations.DeleteOperation - delete: '/v1alpha2/{name=projects/*/locations/*/operations/*}' - - selector: google.longrunning.Operations.GetOperation - get: '/v1alpha2/{name=projects/*/locations/*/operations/*}' - - selector: google.longrunning.Operations.ListOperations - get: '/v1alpha2/{name=projects/*/locations/*}/operations' - -authentication: - rules: - - selector: 'google.cloud.gkehub.v1alpha2.GkeHub.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: google.cloud.location.Locations.GetLocation - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: google.cloud.location.Locations.ListLocations - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: 'google.iam.v1.IAMPolicy.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: 'google.longrunning.Operations.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform diff --git a/third_party/googleapis/google/cloud/gkehub/v1alpha2/membership.proto b/third_party/googleapis/google/cloud/gkehub/v1alpha2/membership.proto deleted file mode 100644 index 1256ae45e..000000000 --- a/third_party/googleapis/google/cloud/gkehub/v1alpha2/membership.proto +++ /dev/null @@ -1,713 +0,0 @@ -// Copyright 2022 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. - -syntax = "proto3"; - -package google.cloud.gkehub.v1alpha2; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/timestamp.proto"; - -option csharp_namespace = "Google.Cloud.GkeHub.V1Alpha2"; -option go_package = "cloud.google.com/go/gkehub/apiv1alpha2/gkehubpb;gkehubpb"; -option java_multiple_files = true; -option java_outer_classname = "MembershipProto"; -option java_package = "com.google.cloud.gkehub.v1alpha2"; -option php_namespace = "Google\\Cloud\\GkeHub\\V1alpha2"; -option ruby_package = "Google::Cloud::GkeHub::V1alpha2"; - -// The GKE Hub service handles the registration of many Kubernetes -// clusters to Google Cloud, represented with the [Membership][google.cloud.gkehub.v1alpha2.Membership] resource. -// -// GKE Hub is currently only available in the global region. -// -// **Membership management may be non-trivial:** it is recommended to use one -// of the Google-provided client libraries or tools where possible when working -// with Membership resources. -service GkeHub { - option (google.api.default_host) = "gkehub.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - - // Lists Memberships in a given project and location. - rpc ListMemberships(ListMembershipsRequest) returns (ListMembershipsResponse) { - option (google.api.http) = { - get: "/v1alpha2/{parent=projects/*/locations/*}/memberships" - }; - option (google.api.method_signature) = "parent"; - } - - // Gets the details of a Membership. - rpc GetMembership(GetMembershipRequest) returns (Membership) { - option (google.api.http) = { - get: "/v1alpha2/{name=projects/*/locations/*/memberships/*}" - }; - option (google.api.method_signature) = "name"; - } - - // Creates a new Membership. - // - // **This is currently only supported for GKE clusters on Google Cloud**. - // To register other clusters, follow the instructions at - // https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster. - rpc CreateMembership(CreateMembershipRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1alpha2/{parent=projects/*/locations/*}/memberships" - body: "resource" - }; - option (google.api.method_signature) = "parent,resource,membership_id"; - option (google.longrunning.operation_info) = { - response_type: "Membership" - metadata_type: "OperationMetadata" - }; - } - - // Removes a Membership. - // - // **This is currently only supported for GKE clusters on Google Cloud**. - // To unregister other clusters, follow the instructions at - // https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster. - rpc DeleteMembership(DeleteMembershipRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - delete: "/v1alpha2/{name=projects/*/locations/*/memberships/*}" - }; - option (google.api.method_signature) = "name"; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - metadata_type: "OperationMetadata" - }; - } - - // Updates an existing Membership. - rpc UpdateMembership(UpdateMembershipRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - patch: "/v1alpha2/{name=projects/*/locations/*/memberships/*}" - body: "resource" - }; - option (google.api.method_signature) = "name,resource,update_mask"; - option (google.longrunning.operation_info) = { - response_type: "Membership" - metadata_type: "OperationMetadata" - }; - } - - // Generates the manifest for deployment of the GKE connect agent. - // - // **This method is used internally by Google-provided libraries.** - // Most clients should not need to call this method directly. - rpc GenerateConnectManifest(GenerateConnectManifestRequest) returns (GenerateConnectManifestResponse) { - option (google.api.http) = { - get: "/v1alpha2/{name=projects/*/locations/*/memberships/*}:generateConnectManifest" - }; - } - - // Initializes the Hub in this project, which includes creating the default - // Hub Service Account and the Hub Workload Identity Pool. Initialization is - // optional, and happens automatically when the first Membership is created. - // - // InitializeHub should be called when the first Membership cannot be - // registered without these resources. A common example is granting the Hub - // Service Account access to another project, which requires the account to - // exist first. - rpc InitializeHub(InitializeHubRequest) returns (InitializeHubResponse) { - option (google.api.http) = { - post: "/v1alpha2/{project=projects/*/locations/global/memberships}:initializeHub" - body: "*" - }; - } -} - -// Membership contains information about a member cluster. -message Membership { - option (google.api.resource) = { - type: "gkehub.googleapis.com/Membership" - pattern: "projects/{project}/locations/{location}/memberships/{membership}" - }; - - // Specifies the infrastructure type of a Membership. Infrastructure type is - // used by Hub to control infrastructure-specific behavior, including pricing. - // - // Each GKE distribution (on-GCP, on-Prem, on-X,...) will set this field - // automatically, but Attached Clusters customers should specify a type - // during registration. - enum InfrastructureType { - // No type was specified. Some Hub functionality may require a type be - // specified, and will not support Memberships with this value. - INFRASTRUCTURE_TYPE_UNSPECIFIED = 0; - - // Private infrastructure that is owned or operated by customer. This - // includes GKE distributions such as GKE-OnPrem and GKE-OnBareMetal. - ON_PREM = 1; - - // Public cloud infrastructure. - MULTI_CLOUD = 2; - } - - // Output only. The full, unique name of this Membership resource in the format - // `projects/*/locations/*/memberships/{membership_id}`, set during creation. - // - // `membership_id` must be a valid RFC 1123 compliant DNS label: - // - // 1. At most 63 characters in length - // 2. It must consist of lower case alphanumeric characters or `-` - // 3. It must start and end with an alphanumeric character - // - // Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, - // with a maximum length of 63 characters. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. GCP labels for this membership. - map labels = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Output only. Description of this membership, limited to 63 characters. - // Must match the regex: `[a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]*` - // - // This field is present for legacy purposes. - string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Type of resource represented by this Membership - oneof type { - // Optional. Endpoint information to reach this member. - MembershipEndpoint endpoint = 4 [(google.api.field_behavior) = OPTIONAL]; - } - - // Output only. State of the Membership resource. - MembershipState state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. When the Membership was created. - google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. When the Membership was last updated. - google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. When the Membership was deleted. - google.protobuf.Timestamp delete_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. An externally-generated and managed ID for this Membership. This ID may - // be modified after creation, but this is not recommended. For GKE clusters, - // external_id is managed by the Hub API and updates will be ignored. - // - // The ID must match the regex: `[a-zA-Z0-9][a-zA-Z0-9_\-\.]*` - // - // If this Membership represents a Kubernetes cluster, this value should be - // set to the UID of the `kube-system` namespace object. - string external_id = 9 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. How to identify workloads from this Membership. - // See the documentation on Workload Identity for more details: - // https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity - Authority authority = 10 [(google.api.field_behavior) = OPTIONAL]; - - // Output only. For clusters using Connect, the timestamp of the most recent connection - // established with Google Cloud. This time is updated every several minutes, - // not continuously. For clusters that do not use GKE Connect, or that have - // never connected successfully, this field will be unset. - google.protobuf.Timestamp last_connection_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Google-generated UUID for this resource. This is unique across all - // Membership resources. If a Membership resource is deleted and another - // resource with the same name is created, it gets a different unique_id. - string unique_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. The infrastructure type this Membership is running on. - InfrastructureType infrastructure_type = 13 [(google.api.field_behavior) = OPTIONAL]; -} - -// MembershipEndpoint contains information needed to contact a Kubernetes API, -// endpoint and any additional Kubernetes metadata. -message MembershipEndpoint { - // Cluster information of the registered cluster. - oneof type { - // Optional. Specific information for a GKE-on-GCP cluster. - GkeCluster gke_cluster = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Specific information for a GKE On-Prem cluster. - OnPremCluster on_prem_cluster = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Specific information for a GKE Multi-Cloud cluster. - MultiCloudCluster multi_cloud_cluster = 5 [(google.api.field_behavior) = OPTIONAL]; - } - - // Output only. Useful Kubernetes-specific metadata. - KubernetesMetadata kubernetes_metadata = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. The in-cluster Kubernetes Resources that should be applied for a correctly - // registered cluster, in the steady state. These resources: - // - // * Ensure that the cluster is exclusively registered to one and only one - // Hub Membership. - // * Propagate Workload Pool Information available in the Membership - // Authority field. - // * Ensure proper initial configuration of default Hub Features. - KubernetesResource kubernetes_resource = 3 [(google.api.field_behavior) = OPTIONAL]; -} - -// KubernetesResource contains the YAML manifests and configuration for -// Membership Kubernetes resources in the cluster. After CreateMembership or -// UpdateMembership, these resources should be re-applied in the cluster. -message KubernetesResource { - // Input only. The YAML representation of the Membership CR. This field is ignored for GKE - // clusters where Hub can read the CR directly. - // - // Callers should provide the CR that is currently present in the cluster - // during Create or Update, or leave this field empty if none exists. The CR - // manifest is used to validate the cluster has not been registered with - // another Membership. - string membership_cr_manifest = 1 [(google.api.field_behavior) = INPUT_ONLY]; - - // Output only. Additional Kubernetes resources that need to be applied to the cluster - // after Membership creation, and after every update. - // - // This field is only populated in the Membership returned from a successful - // long-running operation from CreateMembership or UpdateMembership. It is not - // populated during normal GetMembership or ListMemberships requests. To get - // the resource manifest after the initial registration, the caller should - // make a UpdateMembership call with an empty field mask. - repeated ResourceManifest membership_resources = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The Kubernetes resources for installing the GKE Connect agent. - // - // This field is only populated in the Membership returned from a successful - // long-running operation from CreateMembership or UpdateMembership. It is not - // populated during normal GetMembership or ListMemberships requests. To get - // the resource manifest after the initial registration, the caller should - // make a UpdateMembership call with an empty field mask. - repeated ResourceManifest connect_resources = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. Options for Kubernetes resource generation. - ResourceOptions resource_options = 5 [(google.api.field_behavior) = OPTIONAL]; -} - -// ResourceOptions represent options for Kubernetes resource generation. -message ResourceOptions { - // Optional. The Connect agent version to use for connect_resources. Defaults to the - // latest GKE Connect version. The version must be a currently supported - // version, obsolete versions will be rejected. - string connect_version = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for - // CustomResourceDefinition resources. - // This option should be set for clusters with Kubernetes apiserver versions - // <1.16. - bool v1beta1_crd = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Major version of the Kubernetes cluster. This is only used to determine - // which version to use for the CustomResourceDefinition resources, - // `apiextensions/v1beta1` or`apiextensions/v1`. - string k8s_version = 3 [(google.api.field_behavior) = OPTIONAL]; -} - -// GkeCluster contains information specific to GKE clusters. -message GkeCluster { - // Immutable. Self-link of the GCP resource for the GKE cluster. For example: - // - // //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster - // - // Zonal clusters are also supported. - string resource_link = 1 [(google.api.field_behavior) = IMMUTABLE]; - - // Output only. If cluster_missing is set then it denotes that the GKE cluster no longer - // exists in the GKE Control Plane. - bool cluster_missing = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// OnPremCluster contains information specific to GKE On-Prem clusters. -message OnPremCluster { - // Immutable. Self-link of the GCP resource for the GKE On-Prem cluster. For example: - // - // //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster - // //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster - string resource_link = 1 [(google.api.field_behavior) = IMMUTABLE]; - - // Output only. If cluster_missing is set then it denotes that - // API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no - // longer exists. - bool cluster_missing = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Immutable. Whether the cluster is an admin cluster. - bool admin_cluster = 3 [(google.api.field_behavior) = IMMUTABLE]; -} - -// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. -message MultiCloudCluster { - // Immutable. Self-link of the GCP resource for the GKE Multi-Cloud cluster. For - // example: - // - // //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster - // //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster - string resource_link = 1 [(google.api.field_behavior) = IMMUTABLE]; - - // Output only. If cluster_missing is set then it denotes that - // API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster - // no longer exists. - bool cluster_missing = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// KubernetesMetadata provides informational metadata for Memberships -// that are created from Kubernetes Endpoints (currently, these are equivalent -// to Kubernetes clusters). -message KubernetesMetadata { - // Output only. Kubernetes API server version string as reported by '/version'. - string kubernetes_api_server_version = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Node providerID as reported by the first node in the list of nodes on - // the Kubernetes endpoint. On Kubernetes platforms that support zero-node - // clusters (like GKE-on-GCP), the node_count will be zero and the - // node_provider_id will be empty. - string node_provider_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Node count as reported by Kubernetes nodes resources. - int32 node_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. vCPU count as reported by Kubernetes nodes resources. - int32 vcpu_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The total memory capacity as reported by the sum of all Kubernetes nodes - // resources, defined in MB. - int32 memory_mb = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The time at which these details were last updated. This update_time is - // different from the Membership-level update_time since EndpointDetails are - // updated internally for API consumers. - google.protobuf.Timestamp update_time = 100 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Authority encodes how Google will recognize identities from this Membership. -// See the workload identity documentation for more details: -// https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity -message Authority { - // Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and - // be a valid URL with length <2000 characters. - // - // If set, then Google will allow valid OIDC tokens from this issuer to - // authenticate within the workload_identity_pool. OIDC discovery will be - // performed on this URI to validate tokens from the issuer, unless - // `oidc_jwks` is set. - // - // Clearing `issuer` disables Workload Identity. `issuer` cannot be directly - // modified; it must be cleared (and Workload Identity disabled) before using - // a new issuer (and re-enabling Workload Identity). - string issuer = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). - // - // When this field is set, OIDC discovery will NOT be performed on `issuer`, - // and instead OIDC tokens will be validated using this field. - bytes oidc_jwks = 5 [(google.api.field_behavior) = OPTIONAL]; - - // Output only. An identity provider that reflects the `issuer` in the workload identity - // pool. - string identity_provider = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The name of the workload identity pool in which `issuer` will be - // recognized. - // - // There is a single Workload Identity Pool per Hub that is shared - // between all Memberships that belong to that Hub. For a Hub hosted in - // {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, - // although this is subject to change in newer versions of this API. - string workload_identity_pool = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// MembershipState describes the state of a Membership resource. -message MembershipState { - // Code describes the state of a Membership resource. - enum Code { - // The code is not set. - CODE_UNSPECIFIED = 0; - - // The cluster is being registered. - CREATING = 1; - - // The cluster is registered. - READY = 2; - - // The cluster is being unregistered. - DELETING = 3; - - // The Membership is being updated. - UPDATING = 4; - - // The Membership is being updated by the Hub Service. - SERVICE_UPDATING = 5; - } - - // Output only. The current state of the Membership resource. - Code code = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Request message for `GkeHub.ListMemberships` method. -message ListMembershipsRequest { - // Required. The parent (project and location) where the Memberships will be listed. - // Specified in the format `projects/*/locations/*`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "gkehub.googleapis.com/Membership" - } - ]; - - // Optional. When requesting a 'page' of resources, `page_size` specifies number of - // resources to return. If unspecified or set to 0, all resources will - // be returned. - int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Token returned by previous call to `ListMemberships` which - // specifies the position in the list from where to continue listing the - // resources. - string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Lists Memberships that match the filter expression, following the syntax - // outlined in https://google.aip.dev/160. - // - // Examples: - // - // - Name is `bar` in project `foo-proj` and location `global`: - // - // name = "projects/foo-proj/locations/global/membership/bar" - // - // - Memberships that have a label called `foo`: - // - // labels.foo:* - // - // - Memberships that have a label called `foo` whose value is `bar`: - // - // labels.foo = bar - // - // - Memberships in the CREATING state: - // - // state = CREATING - string filter = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. One or more fields to compare and use to sort the output. - // See https://google.aip.dev/132#ordering. - string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; -} - -// Response message for the `GkeHub.ListMemberships` method. -message ListMembershipsResponse { - // The list of matching Memberships. - repeated Membership resources = 1; - - // A token to request the next page of resources from the - // `ListMemberships` method. The value of an empty string means that - // there are no more resources to return. - string next_page_token = 2; - - // List of locations that could not be reached while fetching this list. - repeated string unreachable = 3; -} - -// Request message for `GkeHub.GetMembership` method. -message GetMembershipRequest { - // Required. The Membership resource name in the format - // `projects/*/locations/*/memberships/*`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "gkehub.googleapis.com/Membership" - } - ]; -} - -// Request message for the `GkeHub.CreateMembership` method. -message CreateMembershipRequest { - // Required. The parent (project and location) where the Memberships will be created. - // Specified in the format `projects/*/locations/*`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "gkehub.googleapis.com/Membership" - } - ]; - - // Required. Client chosen ID for the membership. `membership_id` must be a valid RFC - // 1123 compliant DNS label: - // - // 1. At most 63 characters in length - // 2. It must consist of lower case alphanumeric characters or `-` - // 3. It must start and end with an alphanumeric character - // - // Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, - // with a maximum length of 63 characters. - string membership_id = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The membership to create. - Membership resource = 3 [(google.api.field_behavior) = REQUIRED]; -} - -// Request message for `GkeHub.DeleteMembership` method. -message DeleteMembershipRequest { - // Required. The Membership resource name in the format - // `projects/*/locations/*/memberships/*`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "gkehub.googleapis.com/Membership" - } - ]; -} - -// Request message for `GkeHub.UpdateMembership` method. -message UpdateMembershipRequest { - // Required. The Membership resource name in the format - // `projects/*/locations/*/memberships/*`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED]; - - // Required. Mask of fields to update. - google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. Only fields specified in update_mask are updated. - // If you specify a field in the update_mask but don't specify its value here - // that field will be deleted. - // If you are updating a map field, set the value of a key to null or empty - // string to delete the key from the map. It's not possible to update a key's - // value to the empty string. - // If you specify the update_mask to be a special path "*", fully replaces all - // user-modifiable fields to match `resource`. - Membership resource = 3 [(google.api.field_behavior) = REQUIRED]; -} - -// Request message for `GkeHub.GenerateConnectManifest` -// method. -// . -message GenerateConnectManifestRequest { - // Required. The Membership resource name the Agent will associate with, in the format - // `projects/*/locations/*/memberships/*`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED]; - - // Optional. Namespace for GKE Connect agent resources. Defaults to `gke-connect`. - // - // The Connect Agent is authorized automatically when run in the default - // namespace. Otherwise, explicit authorization must be granted with an - // additional IAM binding. - string namespace = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. URI of a proxy if connectivity from the agent to gkeconnect.googleapis.com - // requires the use of a proxy. Format must be in the form - // `http(s)://{proxy_address}`, depending on the HTTP/HTTPS protocol - // supported by the proxy. This will direct the connect agent's outbound - // traffic through a HTTP(S) proxy. - bytes proxy = 3 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Connect agent version to use. Defaults to the most current version. - string version = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. If true, generate the resources for upgrade only. Some resources - // generated only for installation (e.g. secrets) will be excluded. - bool is_upgrade = 5 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The registry to fetch the connect agent image from. Defaults to - // gcr.io/gkeconnect. - string registry = 6 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The image pull secret content for the registry, if not public. - bytes image_pull_secret_content = 7 [(google.api.field_behavior) = OPTIONAL]; -} - -// GenerateConnectManifestResponse contains manifest information for -// installing/upgrading a Connect agent. -message GenerateConnectManifestResponse { - // The ordered list of Kubernetes resources that need to be applied to the - // cluster for GKE Connect agent installation/upgrade. - repeated ConnectAgentResource manifest = 1; -} - -// ConnectAgentResource represents a Kubernetes resource manifest for Connect -// Agent deployment. -message ConnectAgentResource { - // Kubernetes type of the resource. - TypeMeta type = 1; - - // YAML manifest of the resource. - string manifest = 2; -} - -// ResourceManifest represents a single Kubernetes resource to be applied to -// the cluster. -message ResourceManifest { - // YAML manifest of the resource. - string manifest = 1; - - // Whether the resource provided in the manifest is `cluster_scoped`. - // If unset, the manifest is assumed to be namespace scoped. - // - // This field is used for REST mapping when applying the resource in a - // cluster. - bool cluster_scoped = 2; -} - -// TypeMeta is the type information needed for content unmarshalling of -// Kubernetes resources in the manifest. -message TypeMeta { - // Kind of the resource (e.g. Deployment). - string kind = 1; - - // APIVersion of the resource (e.g. v1). - string api_version = 2; -} - -// Request message for the InitializeHub method. -message InitializeHubRequest { - // Required. The Hub to initialize, in the format - // `projects/*/locations/*/memberships/*`. - string project = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// Response message for the InitializeHub method. -message InitializeHubResponse { - // Name of the Hub default service identity, in the format: - // - // service-@gcp-sa-gkehub.iam.gserviceaccount.com - // - // The service account has `roles/gkehub.serviceAgent` in the Hub project. - string service_identity = 1; - - // The Workload Identity Pool used for Workload Identity-enabled clusters - // registered with this Hub. Format: `.hub.id.goog` - string workload_identity_pool = 2; -} - -// Represents the metadata of the long-running operation. -message OperationMetadata { - // Output only. The time the operation was created. - google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The time the operation finished running. - google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Server-defined resource path for the target of the operation. - string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Name of the verb executed by the operation. - string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Human-readable status of the operation, if any. - string status_detail = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Identifies whether the user has requested cancellation - // of the operation. Operations that have successfully been cancelled - // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, - // corresponding to `Code.CANCELLED`. - bool cancel_requested = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. API version used to start the operation. - string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; -} diff --git a/third_party/googleapis/google/cloud/gkehub/v1alpha2/membership_grpc_service_config.json b/third_party/googleapis/google/cloud/gkehub/v1alpha2/membership_grpc_service_config.json deleted file mode 100644 index 61d769a65..000000000 --- a/third_party/googleapis/google/cloud/gkehub/v1alpha2/membership_grpc_service_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "methodConfig": [{ - "name": [{ "service": "google.cloud.gkehub.v1alpha2.GkeHub" }], - "timeout": "60s", - "retryPolicy": { - "maxAttempts": 5, - "initialBackoff": "1s", - "maxBackoff": "10s", - "backoffMultiplier": 1.3, - "retryableStatusCodes": ["UNAVAILABLE"] - } - }] -} diff --git a/third_party/googleapis/google/cloud/networkservices/v1beta1/BUILD.bazel b/third_party/googleapis/google/cloud/networkservices/v1beta1/BUILD.bazel index d8dc092bb..a8f6b63e3 100644 --- a/third_party/googleapis/google/cloud/networkservices/v1beta1/BUILD.bazel +++ b/third_party/googleapis/google/cloud/networkservices/v1beta1/BUILD.bazel @@ -329,6 +329,7 @@ load( csharp_proto_library( name = "networkservices_csharp_proto", + extra_opts = [], deps = [":networkservices_proto"], ) diff --git a/third_party/googleapis/google/cloud/networkservices/v1beta1/dep.proto b/third_party/googleapis/google/cloud/networkservices/v1beta1/dep.proto index c3e9c7205..9f67a76e5 100644 --- a/third_party/googleapis/google/cloud/networkservices/v1beta1/dep.proto +++ b/third_party/googleapis/google/cloud/networkservices/v1beta1/dep.proto @@ -165,7 +165,7 @@ service DepService { } // Load balancing schemes supported by the `LbTrafficExtension` resource and -// `LbRouteExtension` resource. The valid values are: `INTERNAL_MANAGED`, +// `LbRouteExtension` resource. The valid values are `INTERNAL_MANAGED` and // `EXTERNAL_MANAGED`. // For more information, refer to [Choosing a load // balancer](https://cloud.google.com/load-balancing/docs/backend-service). @@ -191,13 +191,13 @@ message ExtensionChain { // // For more information, see // [CEL matcher language - // reference](https://cloud.google.com/service-extensions/docs/cel-matcher-language-reference). + // reference](/service-extensions/docs/cel-matcher-language-reference). string cel_expression = 1 [(google.api.field_behavior) = REQUIRED]; } // A single extension in the chain to execute for the matching request. message Extension { - // Defines the part of the request or response for which this extension + // The part of the request or response for which this extension // is called. // The valid values are: // `REQUEST_HEADERS`, `REQUEST_BODY`, `RESPONSE_HEADERS`, `RESPONSE_BODY`. @@ -230,15 +230,15 @@ message ExtensionChain { // last a letter or a number. string name = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The `:authority` header in the gRPC request sent from Envoy + // Optional. The `:authority` header in the gRPC request sent from Envoy // to the extension service. - string authority = 2 [(google.api.field_behavior) = REQUIRED]; + string authority = 2 [(google.api.field_behavior) = OPTIONAL]; // Required. The reference to the service that runs the extension. // - // Currently only Callout extensions are supported here. + // Currently only callout extensions are supported here. // - // To configure a Callout extension, `service` must be a fully-qualified + // To configure a callout extension, `service` must be a fully-qualified // reference // to a [backend // service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) @@ -262,17 +262,17 @@ message ExtensionChain { // Optional. Determines how the proxy behaves if the call to the extension // fails or times out. + // // When set to `TRUE`, request or response processing continues without // error. Any subsequent extensions in the extension chain are also - // executed. When set to `FALSE`: - // * If response headers have not been delivered to the downstream - // client, a generic 500 error is returned to the client. The error - // response can be tailored by configuring a custom error response - // in the load balancer. + // executed. When set to `FALSE` or the default setting of `FALSE` is used, + // one of the following happens: + // * If response headers have not been delivered to the downstream client, + // a generic 500 error is returned to the client. The error response can be + // tailored by configuring a custom error response in the load balancer. // - // * If response headers have been delivered, then the HTTP stream to - // the downstream client is reset. - // Default is `FALSE`. + // * If response headers have been delivered, then the HTTP stream to the + // downstream client is reset. bool fail_open = 6 [(google.api.field_behavior) = OPTIONAL]; // Optional. List of the HTTP headers to forward to the extension @@ -334,8 +334,9 @@ message LbTrafficExtension { // Optional. Set of labels associated with the `LbTrafficExtension` resource. // - // The format must comply with [the following - // requirements](/compute/docs/labeling-resources#requirements). + // The format must comply with [the requirements for + // labels](/compute/docs/labeling-resources#requirements) for Google Cloud + // resources. map labels = 4 [(google.api.field_behavior) = OPTIONAL]; // Required. A list of references to the forwarding rules to which this @@ -545,8 +546,9 @@ message LbRouteExtension { // Optional. Set of labels associated with the `LbRouteExtension` resource. // - // The format must comply with [the following - // requirements](/compute/docs/labeling-resources#requirements). + // The format must comply with [the requirements for + // labels](/compute/docs/labeling-resources#requirements) for Google Cloud + // resources. map labels = 4 [(google.api.field_behavior) = OPTIONAL]; // Required. A list of references to the forwarding rules to which this diff --git a/third_party/googleapis/google/cloud/parallelstore/BUILD.bazel b/third_party/googleapis/google/cloud/parallelstore/BUILD.bazel new file mode 100644 index 000000000..1e1305742 --- /dev/null +++ b/third_party/googleapis/google/cloud/parallelstore/BUILD.bazel @@ -0,0 +1,36 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-parallelstore. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for google-cloud-parallelstore. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1beta in this case. +ruby_cloud_gapic_library( + name = "parallelstore_ruby_wrapper", + srcs = ["//google/cloud/parallelstore/v1beta:parallelstore_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-parallelstore", + "ruby-cloud-wrapper-of=v1beta:0.0", + ], + service_yaml = "//google/cloud/parallelstore/v1beta:parallelstore_v1beta.yaml", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-parallelstore-ruby", + deps = [ + ":parallelstore_ruby_wrapper", + ], +) diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/BUILD.bazel b/third_party/googleapis/google/cloud/securitycenter/v1/BUILD.bazel index 80e5eac0e..2548ac5c1 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/BUILD.bazel +++ b/third_party/googleapis/google/cloud/securitycenter/v1/BUILD.bazel @@ -24,6 +24,7 @@ proto_library( "access.proto", "application.proto", "asset.proto", + "backup_disaster_recovery.proto", "bigquery_export.proto", "cloud_dlp_data_profile.proto", "cloud_dlp_inspection.proto", @@ -43,11 +44,14 @@ proto_library( "kernel_rootkit.proto", "kubernetes.proto", "label.proto", + "load_balancer.proto", + "log_entry.proto", "mitre_attack.proto", "mute_config.proto", "notification_config.proto", "notification_message.proto", "organization_settings.proto", + "org_policy.proto", "process.proto", "resource.proto", "run_asset_discovery_response.proto", diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/backup_disaster_recovery.proto b/third_party/googleapis/google/cloud/securitycenter/v1/backup_disaster_recovery.proto new file mode 100644 index 000000000..51dbe8b0d --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/backup_disaster_recovery.proto @@ -0,0 +1,88 @@ +// Copyright 2024 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. + +syntax = "proto3"; + +package google.cloud.securitycenter.v1; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.SecurityCenter.V1"; +option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb"; +option java_multiple_files = true; +option java_outer_classname = "BackupDisasterRecoveryProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; + +// Information related to Google Cloud Backup and DR Service findings. +message BackupDisasterRecovery { + // The name of a Backup and DR template which comprises one or more backup + // policies. See the [Backup and DR + // documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) + // for more information. For example, `snap-ov`. + string backup_template = 1; + + // The names of Backup and DR policies that are associated with a template + // and that define when to run a backup, how frequently to run a backup, and + // how long to retain the backup image. For example, `onvaults`. + repeated string policies = 2; + + // The name of a Backup and DR host, which is managed by the backup and + // recovery appliance and known to the management console. The host can be of + // type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file + // system, etc.), vCenter, or an ESX server. See the [Backup and DR + // documentation on + // hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) + // for more information. For example, `centos7-01`. + string host = 3; + + // The names of Backup and DR applications. An application is a VM, database, + // or file system on a managed host monitored by a backup and recovery + // appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, + // `centos7-01-vol02`. + repeated string applications = 4; + + // The name of the Backup and DR storage pool that the backup and recovery + // appliance is storing data in. The storage pool could be of type Cloud, + // Primary, Snapshot, or OnVault. See the [Backup and DR documentation on + // storage + // pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). + // For example, `DiskPoolOne`. + string storage_pool = 5; + + // The names of Backup and DR advanced policy options of a policy applying to + // an application. See the [Backup and DR documentation on policy + // options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). + // For example, `skipofflineappsincongrp, nounmap`. + repeated string policy_options = 6; + + // The name of the Backup and DR resource profile that specifies the storage + // media for backups of application and VM data. See the [Backup and DR + // documentation on + // profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). + // For example, `GCP`. + string profile = 7; + + // The name of the Backup and DR appliance that captures, moves, and manages + // the lifecycle of backup data. For example, `backup-server-57137`. + string appliance = 8; + + // The backup type of the Backup and DR image. + // For example, `Snapshot`, `Remote Snapshot`, `OnVault`. + string backup_type = 9; + + // The timestamp at which the Backup and DR backup was created. + google.protobuf.Timestamp backup_create_time = 10; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/database.proto b/third_party/googleapis/google/cloud/securitycenter/v1/database.proto index 2e5f51b86..63b5aaad1 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/database.proto +++ b/third_party/googleapis/google/cloud/securitycenter/v1/database.proto @@ -31,12 +31,12 @@ option ruby_package = "Google::Cloud::SecurityCenter::V1"; // name](https://google.aip.dev/122#full-resource-names) populated because these // resource types, such as Cloud SQL databases, are not yet supported by Cloud // Asset Inventory. In these cases only the display name is provided. -// Some database resources may not have the [full resource -// name](https://google.aip.dev/122#full-resource-names) populated because -// these resource types are not yet supported by Cloud Asset Inventory (e.g. -// Cloud SQL databases). In these cases only the display name will be -// provided. message Database { + // Some database resources may not have the [full resource + // name](https://google.aip.dev/122#full-resource-names) populated because + // these resource types are not yet supported by Cloud Asset Inventory (e.g. + // Cloud SQL databases). In these cases only the display name will be + // provided. // The [full resource name](https://google.aip.dev/122#full-resource-names) of // the database that the user connected to, if it is supported by Cloud Asset // Inventory. @@ -55,4 +55,9 @@ message Database { // The target usernames, roles, or groups of an SQL privilege grant, which is // not an IAM policy change. repeated string grantees = 5; + + // The version of the database, for example, POSTGRES_14. + // See [the complete + // list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). + string version = 6; } diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/exfiltration.proto b/third_party/googleapis/google/cloud/securitycenter/v1/exfiltration.proto index 071c162a6..59779c9d5 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/exfiltration.proto +++ b/third_party/googleapis/google/cloud/securitycenter/v1/exfiltration.proto @@ -37,6 +37,9 @@ message Exfiltration { // If there are multiple targets, each target would get a complete copy of the // "joined" source data. repeated ExfilResource targets = 2; + + // Total exfiltrated bytes processed for the entire job. + int64 total_exfiltrated_bytes = 3; } // Resource where data was exfiltrated from or exfiltrated to. diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/file.proto b/third_party/googleapis/google/cloud/securitycenter/v1/file.proto index 618e7b7ea..c0b46eef3 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/file.proto +++ b/third_party/googleapis/google/cloud/securitycenter/v1/file.proto @@ -27,6 +27,17 @@ option ruby_package = "Google::Cloud::SecurityCenter::V1"; // File information about the related binary/library used by an executable, or // the script used by a script interpreter message File { + // Path of the file in terms of underlying disk/partition identifiers. + message DiskPath { + // UUID of the partition (format + // https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) + string partition_uuid = 1; + + // Relative path of the file in the partition as a JSON encoded string. + // Example: /home/user1/executable_file.sh + string relative_path = 2; + } + // Absolute path of the file as a JSON encoded string. string path = 1; @@ -48,4 +59,7 @@ message File { // Prefix of the file contents as a JSON-encoded string. string contents = 6; + + // Path of the file in terms of underlying disk/partition identifiers. + DiskPath disk_path = 7; } diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/finding.proto b/third_party/googleapis/google/cloud/securitycenter/v1/finding.proto index 787a06af8..088c9fd3b 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/finding.proto +++ b/third_party/googleapis/google/cloud/securitycenter/v1/finding.proto @@ -20,6 +20,7 @@ import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/cloud/securitycenter/v1/access.proto"; import "google/cloud/securitycenter/v1/application.proto"; +import "google/cloud/securitycenter/v1/backup_disaster_recovery.proto"; import "google/cloud/securitycenter/v1/cloud_dlp_data_profile.proto"; import "google/cloud/securitycenter/v1/cloud_dlp_inspection.proto"; import "google/cloud/securitycenter/v1/compliance.proto"; @@ -34,7 +35,10 @@ import "google/cloud/securitycenter/v1/iam_binding.proto"; import "google/cloud/securitycenter/v1/indicator.proto"; import "google/cloud/securitycenter/v1/kernel_rootkit.proto"; import "google/cloud/securitycenter/v1/kubernetes.proto"; +import "google/cloud/securitycenter/v1/load_balancer.proto"; +import "google/cloud/securitycenter/v1/log_entry.proto"; import "google/cloud/securitycenter/v1/mitre_attack.proto"; +import "google/cloud/securitycenter/v1/org_policy.proto"; import "google/cloud/securitycenter/v1/process.proto"; import "google/cloud/securitycenter/v1/security_marks.proto"; import "google/cloud/securitycenter/v1/vulnerability.proto"; @@ -361,6 +365,18 @@ message Finding { // Signature of the kernel rootkit. KernelRootkit kernel_rootkit = 50; + // Contains information about the org policies associated with the finding. + repeated OrgPolicy org_policies = 51; + // Represents an application associated with the finding. Application application = 53; + + // Fields related to Backup and DR findings. + BackupDisasterRecovery backup_disaster_recovery = 55; + + // Log entries that are relevant to the finding. + repeated LogEntry log_entries = 57; + + // The load balancers associated with the finding. + repeated LoadBalancer load_balancers = 58; } diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/indicator.proto b/third_party/googleapis/google/cloud/securitycenter/v1/indicator.proto index f36e8b487..bb9f22dad 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/indicator.proto +++ b/third_party/googleapis/google/cloud/securitycenter/v1/indicator.proto @@ -59,6 +59,18 @@ message Indicator { string yara_rule = 5; } + // Possible resource types to be associated with a signature. + enum SignatureType { + // The default signature type. + SIGNATURE_TYPE_UNSPECIFIED = 0; + + // Used for signatures concerning processes. + SIGNATURE_TYPE_PROCESS = 1; + + // Used for signatures concerning disks. + SIGNATURE_TYPE_FILE = 2; + } + oneof signature { // Signature indicating that a binary family was matched. MemoryHashSignature memory_hash_signature = 6; @@ -66,6 +78,9 @@ message Indicator { // Signature indicating that a YARA rule was matched. YaraRuleSignature yara_rule_signature = 7; } + + // Describes the type of resource associated with the signature. + SignatureType signature_type = 8; } // The list of IP addresses that are associated with the finding. diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/kubernetes.proto b/third_party/googleapis/google/cloud/securitycenter/v1/kubernetes.proto index fc79be79b..cfe923304 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/kubernetes.proto +++ b/third_party/googleapis/google/cloud/securitycenter/v1/kubernetes.proto @@ -158,6 +158,29 @@ message Kubernetes { string version = 7; } + // Kubernetes object related to the finding, uniquely identified by GKNN. + // Used if the object Kind is not one of Pod, Node, NodePool, Binding, or + // AccessReview. + message Object { + // Kubernetes object group, such as "policy.k8s.io/v1". + string group = 1; + + // Kubernetes object kind, such as "Namespace". + string kind = 2; + + // Kubernetes object namespace. Must be a valid DNS label. Named + // "ns" to avoid collision with C++ namespace keyword. For details see + // https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + string ns = 3; + + // Kubernetes object name. For details see + // https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. + string name = 4; + + // Pod containers associated with this finding, if any. + repeated Container containers = 5; + } + // Kubernetes // [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) // associated with the finding. This field contains Pod records for each @@ -187,4 +210,7 @@ message Kubernetes { // Provides information on any Kubernetes access reviews (privilege checks) // relevant to the finding. repeated AccessReview access_reviews = 6; + + // Kubernetes objects related to the finding. + repeated Object objects = 7; } diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/load_balancer.proto b/third_party/googleapis/google/cloud/securitycenter/v1/load_balancer.proto new file mode 100644 index 000000000..b9a248e90 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/load_balancer.proto @@ -0,0 +1,32 @@ +// Copyright 2024 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. + +syntax = "proto3"; + +package google.cloud.securitycenter.v1; + +option csharp_namespace = "Google.Cloud.SecurityCenter.V1"; +option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb"; +option java_multiple_files = true; +option java_outer_classname = "LoadBalancerProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; + +// Contains information related to the load balancer associated with the +// finding. +message LoadBalancer { + // The name of the load balancer associated with the finding. + string name = 1; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/log_entry.proto b/third_party/googleapis/google/cloud/securitycenter/v1/log_entry.proto new file mode 100644 index 000000000..502f836e0 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/log_entry.proto @@ -0,0 +1,55 @@ +// Copyright 2024 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. + +syntax = "proto3"; + +package google.cloud.securitycenter.v1; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.SecurityCenter.V1"; +option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb"; +option java_multiple_files = true; +option java_outer_classname = "LogEntryProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; + +// An individual entry in a log. +message LogEntry { + oneof log_entry { + // An individual entry in a log stored in Cloud Logging. + CloudLoggingEntry cloud_logging_entry = 1; + } +} + +// Metadata taken from a [Cloud Logging +// LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) +message CloudLoggingEntry { + // A unique identifier for the log entry. + string insert_id = 1; + + // The type of the log (part of `log_name`. `log_name` is the resource name of + // the log to which this log entry belongs). For example: + // `cloudresourcemanager.googleapis.com/activity`. Note that this field is not + // URL-encoded, unlike the `LOG_ID` field in `LogEntry`. + string log_id = 2; + + // The organization, folder, or project of the monitored resource that + // produced this log entry. + string resource_container = 3; + + // The time the event described by the log entry occurred. + google.protobuf.Timestamp timestamp = 4; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/mitre_attack.proto b/third_party/googleapis/google/cloud/securitycenter/v1/mitre_attack.proto index 79425d2c6..56bf0c399 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/mitre_attack.proto +++ b/third_party/googleapis/google/cloud/securitycenter/v1/mitre_attack.proto @@ -78,24 +78,28 @@ message MitreAttack { // MITRE ATT&CK techniques that can be referenced by SCC findings. // See: https://attack.mitre.org/techniques/enterprise/ + // Next ID: 59 enum Technique { // Unspecified value. TECHNIQUE_UNSPECIFIED = 0; - // T1595 - ACTIVE_SCANNING = 1; + // T1036 + MASQUERADING = 49; - // T1595.001 - SCANNING_IP_BLOCKS = 2; + // T1036.005 + MATCH_LEGITIMATE_NAME_OR_LOCATION = 50; - // T1105 - INGRESS_TOOL_TRANSFER = 3; + // T1037 + BOOT_OR_LOGON_INITIALIZATION_SCRIPTS = 37; - // T1106 - NATIVE_API = 4; + // T1037.005 + STARTUP_ITEMS = 38; - // T1129 - SHARED_MODULES = 5; + // T1046 + NETWORK_SERVICE_DISCOVERY = 32; + + // T1057 + PROCESS_DISCOVERY = 56; // T1059 COMMAND_AND_SCRIPTING_INTERPRETER = 6; @@ -103,89 +107,155 @@ message MitreAttack { // T1059.004 UNIX_SHELL = 7; - // T1496 - RESOURCE_HIJACKING = 8; - - // T1090 - PROXY = 9; + // T1069 + PERMISSION_GROUPS_DISCOVERY = 18; - // T1090.002 - EXTERNAL_PROXY = 10; + // T1069.003 + CLOUD_GROUPS = 19; - // T1090.003 - MULTI_HOP_PROXY = 11; + // T1071 + APPLICATION_LAYER_PROTOCOL = 45; - // T1568 - DYNAMIC_RESOLUTION = 12; + // T1071.004 + DNS = 46; - // T1552 - UNSECURED_CREDENTIALS = 13; + // T1072 + SOFTWARE_DEPLOYMENT_TOOLS = 47; // T1078 VALID_ACCOUNTS = 14; + // T1078.001 + DEFAULT_ACCOUNTS = 35; + // T1078.003 LOCAL_ACCOUNTS = 15; // T1078.004 CLOUD_ACCOUNTS = 16; - // T1498 - NETWORK_DENIAL_OF_SERVICE = 17; - - // T1069 - PERMISSION_GROUPS_DISCOVERY = 18; - - // T1069.003 - CLOUD_GROUPS = 19; + // T1090 + PROXY = 9; - // T1567 - EXFILTRATION_OVER_WEB_SERVICE = 20; + // T1090.002 + EXTERNAL_PROXY = 10; - // T1567.002 - EXFILTRATION_TO_CLOUD_STORAGE = 21; + // T1090.003 + MULTI_HOP_PROXY = 11; // T1098 ACCOUNT_MANIPULATION = 22; + // T1098.001 + ADDITIONAL_CLOUD_CREDENTIALS = 40; + // T1098.004 SSH_AUTHORIZED_KEYS = 23; - // T1543 - CREATE_OR_MODIFY_SYSTEM_PROCESS = 24; + // T1098.006 + ADDITIONAL_CONTAINER_CLUSTER_ROLES = 58; - // T1539 - STEAL_WEB_SESSION_COOKIE = 25; + // T1105 + INGRESS_TOOL_TRANSFER = 3; - // T1578 - MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE = 26; + // T1106 + NATIVE_API = 4; + + // T1110 + BRUTE_FORCE = 44; + + // T1129 + SHARED_MODULES = 5; + + // T1134 + ACCESS_TOKEN_MANIPULATION = 33; + + // T1134.001 + TOKEN_IMPERSONATION_OR_THEFT = 39; // T1190 EXPLOIT_PUBLIC_FACING_APPLICATION = 27; - // T1556 - MODIFY_AUTHENTICATION_PROCESS = 28; + // T1484 + DOMAIN_POLICY_MODIFICATION = 30; // T1485 DATA_DESTRUCTION = 29; - // T1484 - DOMAIN_POLICY_MODIFICATION = 30; + // T1489 + SERVICE_STOP = 52; - // T1562 - IMPAIR_DEFENSES = 31; + // T1490 + INHIBIT_SYSTEM_RECOVERY = 36; - // T1046 - NETWORK_SERVICE_DISCOVERY = 32; + // T1496 + RESOURCE_HIJACKING = 8; - // T1134 - ACCESS_TOKEN_MANIPULATION = 33; + // T1498 + NETWORK_DENIAL_OF_SERVICE = 17; + + // T1526 + CLOUD_SERVICE_DISCOVERY = 48; + + // T1528 + STEAL_APPLICATION_ACCESS_TOKEN = 42; + + // T1531 + ACCOUNT_ACCESS_REMOVAL = 51; + + // T1539 + STEAL_WEB_SESSION_COOKIE = 25; + + // T1543 + CREATE_OR_MODIFY_SYSTEM_PROCESS = 24; // T1548 ABUSE_ELEVATION_CONTROL_MECHANISM = 34; - // T1078.001 - DEFAULT_ACCOUNTS = 35; + // T1552 + UNSECURED_CREDENTIALS = 13; + + // T1556 + MODIFY_AUTHENTICATION_PROCESS = 28; + + // T1562 + IMPAIR_DEFENSES = 31; + + // T1562.001 + DISABLE_OR_MODIFY_TOOLS = 55; + + // T1567 + EXFILTRATION_OVER_WEB_SERVICE = 20; + + // T1567.002 + EXFILTRATION_TO_CLOUD_STORAGE = 21; + + // T1568 + DYNAMIC_RESOLUTION = 12; + + // T1570 + LATERAL_TOOL_TRANSFER = 41; + + // T1578 + MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE = 26; + + // T1578.001 + CREATE_SNAPSHOT = 54; + + // T1580 + CLOUD_INFRASTRUCTURE_DISCOVERY = 53; + + // T1588 + OBTAIN_CAPABILITIES = 43; + + // T1595 + ACTIVE_SCANNING = 1; + + // T1595.001 + SCANNING_IP_BLOCKS = 2; + + // T1613 + CONTAINER_AND_RESOURCE_DISCOVERY = 57; } // The MITRE ATT&CK tactic most closely represented by this finding, if any. diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/org_policy.proto b/third_party/googleapis/google/cloud/securitycenter/v1/org_policy.proto new file mode 100644 index 000000000..66a57f268 --- /dev/null +++ b/third_party/googleapis/google/cloud/securitycenter/v1/org_policy.proto @@ -0,0 +1,42 @@ +// Copyright 2024 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. + +syntax = "proto3"; + +package google.cloud.securitycenter.v1; + +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.SecurityCenter.V1"; +option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb"; +option java_multiple_files = true; +option java_outer_classname = "OrgPolicyProto"; +option java_package = "com.google.cloud.securitycenter.v1"; +option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; +option ruby_package = "Google::Cloud::SecurityCenter::V1"; + +// Contains information about the org policies associated with the finding. +message OrgPolicy { + option (google.api.resource) = { + type: "orgpolicy.googleapis.com/Policy" + pattern: "organizations/{organization}/policies/{constraint_name}" + pattern: "folders/{folder}/policies/{constraint_name}" + pattern: "projects/{project}/policies/{constraint_name}" + }; + + // The resource name of the org policy. + // Example: + // "organizations/{organization_id}/policies/{constraint_name}" + string name = 1; +} diff --git a/third_party/googleapis/google/cloud/securitycenter/v1/source.proto b/third_party/googleapis/google/cloud/securitycenter/v1/source.proto index 0aed02862..a74fe2d1f 100644 --- a/third_party/googleapis/google/cloud/securitycenter/v1/source.proto +++ b/third_party/googleapis/google/cloud/securitycenter/v1/source.proto @@ -59,9 +59,9 @@ message Source { // outdated or insecure libraries." string description = 3; - // The canonical name of the finding. It's either + // The canonical name of the finding source. It's either // "organizations/{organization_id}/sources/{source_id}", - // "folders/{folder_id}/sources/{source_id}" or + // "folders/{folder_id}/sources/{source_id}", or // "projects/{project_number}/sources/{source_id}", // depending on the closest CRM ancestor of the resource associated with the // finding. diff --git a/third_party/googleapis/google/cloud/securitycentermanagement/v1/security_center_management.proto b/third_party/googleapis/google/cloud/securitycentermanagement/v1/security_center_management.proto index b4fbd9c29..64dfbd619 100644 --- a/third_party/googleapis/google/cloud/securitycentermanagement/v1/security_center_management.proto +++ b/third_party/googleapis/google/cloud/securitycentermanagement/v1/security_center_management.proto @@ -104,7 +104,7 @@ service SecurityCenterManagement { } // Returns a list of all resident SecurityHealthAnalyticsCustomModules under - // the given CRM parent and all of the parent’s CRM descendants. + // the given CRM parent and all of the parent's CRM descendants. rpc ListDescendantSecurityHealthAnalyticsCustomModules( ListDescendantSecurityHealthAnalyticsCustomModulesRequest) returns (ListDescendantSecurityHealthAnalyticsCustomModulesResponse) { @@ -635,9 +635,10 @@ message CustomConfig { // Optional. Custom output properties. CustomOutputSpec custom_output = 2 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The CAI resource types that the custom module operates on (see - // go/gcp-cai-doc/supported-asset-types). Each custom module can specify up to - // 5 resource types. + // Optional. The Cloud Asset Inventory resource types that the custom module + // operates on. For information about resource types, see [Supported asset + // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types). + // Each custom module can specify up to 5 resource types. ResourceSelector resource_selector = 3 [(google.api.field_behavior) = OPTIONAL]; diff --git a/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1.yaml b/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1.yaml index 762130891..cbe9c41a0 100644 --- a/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1.yaml +++ b/third_party/googleapis/google/cloud/securitycentermanagement/v1/securitycentermanagement_v1.yaml @@ -9,10 +9,9 @@ apis: documentation: summary: |- - Management API for the Security Command Center, a built-in security and - risk management solution for Google Cloud. Use this API to - programmatically update the settings and configuration of Security Command - Center. + Management API for Security Command Center, a built-in security and risk + management solution for Google Cloud. Use this API to programmatically + update the settings and configuration of Security Command Center. rules: - selector: google.cloud.location.Locations.GetLocation description: Gets information about a location. diff --git a/third_party/googleapis/google/cloud/servicehealth/v1/event_resources.proto b/third_party/googleapis/google/cloud/servicehealth/v1/event_resources.proto index e8caa03a5..33fad0c33 100644 --- a/third_party/googleapis/google/cloud/servicehealth/v1/event_resources.proto +++ b/third_party/googleapis/google/cloud/servicehealth/v1/event_resources.proto @@ -105,12 +105,18 @@ message Event { // name of the parent. MERGED = 4; - // The incident was automatically closed because the issues couldn’t be - // confirmed or is no longer impacting Google Cloud Products and/or - // Locations. + // The incident was automatically closed because of the following reasons: + // + // * The impact of the incident could not be confirmed. + // * The incident was intermittent or resolved itself. + // + // The incident does not have a resolution because no action or + // investigation happened. If it is intermittent, the incident may reopen. AUTO_CLOSED = 9; - // The incident was verified as non-impactful. No further action required. + // Upon investigation, Google engineers concluded that the incident is not + // affecting a Google Cloud product. This state can change if the incident + // is reviewed again. FALSE_POSITIVE = 10; } @@ -273,12 +279,18 @@ message OrganizationEvent { // parent. MERGED = 4; - // The incident was automatically closed because the issues couldn’t be - // confirmed or is no longer impacting Google Cloud Products and/or - // Locations. + // The incident was automatically closed because of the following reasons: + // + // * The impact of the incident could not be confirmed. + // * The incident was intermittent or resolved itself. + // + // The incident does not have a resolution because no action or + // investigation happened. If it is intermittent, the incident may reopen. AUTO_CLOSED = 9; - // The incident was verified as non-impactful. No further action required. + // Upon investigation, Google engineers concluded that the incident is not + // affecting a Google Cloud product. This state can change if the incident + // is reviewed again. FALSE_POSITIVE = 10; } diff --git a/third_party/googleapis/google/cloud/speech/v2/cloud_speech.proto b/third_party/googleapis/google/cloud/speech/v2/cloud_speech.proto index d23d36d80..a8f23239e 100644 --- a/third_party/googleapis/google/cloud/speech/v2/cloud_speech.proto +++ b/third_party/googleapis/google/cloud/speech/v2/cloud_speech.proto @@ -574,9 +574,12 @@ message Recognizer { DELETED = 4; } - // Output only. The resource name of the Recognizer. + // Output only. Identifier. The resource name of the Recognizer. // Format: `projects/{project}/locations/{location}/recognizers/{recognizer}`. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; // Output only. System-assigned unique identifier for the Recognizer. string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; @@ -1278,6 +1281,34 @@ message GcsOutputConfig { // Output configurations for inline response. message InlineOutputConfig {} +// Output configurations for serialized `BatchRecognizeResults` protos. +message NativeOutputFileFormatConfig {} + +// Output configurations for [WebVTT](https://www.w3.org/TR/webvtt1/) formatted +// subtitle file. +message VttOutputFileFormatConfig {} + +// Output configurations [SubRip +// Text](https://www.matroska.org/technical/subtitles.html#srt-subtitles) +// formatted subtitle file. +message SrtOutputFileFormatConfig {} + +// Configuration for the format of the results stored to `output`. +message OutputFormatConfig { + // Configuration for the native output format. If this field is set or if no + // other output format field is set then transcripts will be written to the + // sink in the native format. + NativeOutputFileFormatConfig native = 1; + + // Configuration for the vtt output format. If this field is set then + // transcripts will be written to the sink in the vtt format. + VttOutputFileFormatConfig vtt = 2; + + // Configuration for the srt output format. If this field is set then + // transcripts will be written to the sink in the srt format. + SrtOutputFileFormatConfig srt = 3; +} + // Configuration options for the output(s) of recognition. message RecognitionOutputConfig { oneof output { @@ -1292,6 +1323,11 @@ message RecognitionOutputConfig { // with just one audio file. InlineOutputConfig inline_response_config = 2; } + + // Optional. Configuration for the format of the results stored to `output`. + // If unspecified transcripts will be written in the `NATIVE` format only. + OutputFormatConfig output_format_config = 3 + [(google.api.field_behavior) = OPTIONAL]; } // Response message for @@ -1321,12 +1357,28 @@ message BatchRecognizeResults { message CloudStorageResult { // The Cloud Storage URI to which recognition results were written. string uri = 1; + + // The Cloud Storage URI to which recognition results were written as VTT + // formatted captions. This is populated only when `VTT` output is requested. + string vtt_format_uri = 2; + + // The Cloud Storage URI to which recognition results were written as SRT + // formatted captions. This is populated only when `SRT` output is requested. + string srt_format_uri = 3; } // Final results returned inline in the recognition response. message InlineResult { // The transcript for the audio file. BatchRecognizeResults transcript = 1; + + // The transcript for the audio file as VTT formatted captions. This is + // populated only when `VTT` output is requested. + string vtt_captions = 2; + + // The transcript for the audio file as SRT formatted captions. This is + // populated only when `SRT` output is requested. + string srt_captions = 3; } // Final results for a single file. @@ -1555,10 +1607,13 @@ message Config { pattern: "projects/{project}/locations/{location}/config" }; - // Output only. The name of the config resource. There is exactly one config - // resource per project per location. The expected format is + // Output only. Identifier. The name of the config resource. There is exactly + // one config resource per project per location. The expected format is // `projects/{project}/locations/{location}/config`. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; // Optional. An optional [KMS key // name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) that if @@ -1632,17 +1687,20 @@ message CustomClass { DELETED = 4; } - // Output only. The resource name of the CustomClass. + // Output only. Identifier. The resource name of the CustomClass. // Format: // `projects/{project}/locations/{location}/customClasses/{custom_class}`. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; // Output only. System-assigned unique identifier for the CustomClass. string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // User-settable, human-readable name for the CustomClass. Must be 63 - // characters or less. - string display_name = 4; + // Optional. User-settable, human-readable name for the CustomClass. Must be + // 63 characters or less. + string display_name = 4 [(google.api.field_behavior) = OPTIONAL]; // A collection of class items. repeated ClassItem items = 5; @@ -1666,10 +1724,10 @@ message CustomClass { google.protobuf.Timestamp expire_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Allows users to store small amounts of arbitrary data. + // Optional. Allows users to store small amounts of arbitrary data. // Both the key and the value must be 63 characters or less each. // At most 100 annotations. - map annotations = 10; + map annotations = 10 [(google.api.field_behavior) = OPTIONAL]; // Output only. This checksum is computed by the server based on the value of // other fields. This may be sent on update, undelete, and delete requests to @@ -1751,9 +1809,12 @@ message PhraseSet { DELETED = 4; } - // Output only. The resource name of the PhraseSet. + // Output only. Identifier. The resource name of the PhraseSet. // Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}`. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; // Output only. System-assigned unique identifier for the PhraseSet. string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; diff --git a/third_party/googleapis/google/cloud/sql/v1/cloud_sql_resources.proto b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_resources.proto index a40ff6dda..d87409144 100644 --- a/third_party/googleapis/google/cloud/sql/v1/cloud_sql_resources.proto +++ b/third_party/googleapis/google/cloud/sql/v1/cloud_sql_resources.proto @@ -1046,9 +1046,10 @@ message PasswordValidationPolicy { // Whether the password policy is enabled or not. google.protobuf.BoolValue enable_password_policy = 6; - // Disallow credentials that have been previously compromised by a public data - // breach. - google.protobuf.BoolValue disallow_compromised_credentials = 7; + // This field is deprecated and will be removed in a future version of the + // API. + google.protobuf.BoolValue disallow_compromised_credentials = 7 + [deprecated = true]; } // Data cache configurations. diff --git a/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql_resources.proto b/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql_resources.proto index 9f753d163..a6c1618ab 100644 --- a/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql_resources.proto +++ b/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql_resources.proto @@ -1840,9 +1840,10 @@ message PasswordValidationPolicy { // Whether the password policy is enabled or not. google.protobuf.BoolValue enable_password_policy = 6; - // Disallow credentials that have been previously compromised by a public data - // breach. - google.protobuf.BoolValue disallow_compromised_credentials = 7; + // This field is deprecated and will be removed in a future version of the + // API. + google.protobuf.BoolValue disallow_compromised_credentials = 7 + [deprecated = true]; } // Operations list response. diff --git a/third_party/googleapis/google/container/v1/cluster_service.proto b/third_party/googleapis/google/container/v1/cluster_service.proto index 5ce0a64a7..5459cc51a 100644 --- a/third_party/googleapis/google/container/v1/cluster_service.proto +++ b/third_party/googleapis/google/container/v1/cluster_service.proto @@ -832,6 +832,10 @@ message NodeConfig { // A map of resource manager tag keys and values to be attached to the nodes. ResourceManagerTags resource_manager_tags = 45; + + // Optional. Reserved for future use. + bool enable_confidential_storage = 46 + [(google.api.field_behavior) = OPTIONAL]; } // Specifies options for controlling advanced machine features. @@ -2763,6 +2767,9 @@ message UpdateNodePoolRequest { // for managing Compute Engine firewalls using Network Firewall Policies. // Existing tags will be replaced with new values. ResourceManagerTags resource_manager_tags = 39; + + // Specifies the configuration of queued provisioning. + NodePool.QueuedProvisioning queued_provisioning = 42; } // SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. diff --git a/third_party/googleapis/google/container/v1beta1/cluster_service.proto b/third_party/googleapis/google/container/v1beta1/cluster_service.proto index e32040f34..48231f393 100644 --- a/third_party/googleapis/google/container/v1beta1/cluster_service.proto +++ b/third_party/googleapis/google/container/v1beta1/cluster_service.proto @@ -834,11 +834,12 @@ message NodeConfig { // A map of resource manager tag keys and values to be attached to the nodes. ResourceManagerTags resource_manager_tags = 45; - // Optional. Enable confidential storage on Hyperdisk. - // boot_disk_kms_key is required when enable_confidential_storage is true. - // This is only available for private preview. + // Optional. Reserved for future use. bool enable_confidential_storage = 46 [(google.api.field_behavior) = OPTIONAL]; + + // List of secondary boot disks attached to the nodes. + repeated SecondaryBootDisk secondary_boot_disks = 48; } // Specifies options for controlling advanced machine features. @@ -3150,6 +3151,9 @@ message UpdateNodePoolRequest { // for managing Compute Engine firewalls using Network Firewall Policies. // Existing tags will be replaced with new values. ResourceManagerTags resource_manager_tags = 39; + + // Specifies the configuration of queued provisioning. + NodePool.QueuedProvisioning queued_provisioning = 42; } // SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. @@ -5938,6 +5942,27 @@ message EnterpriseConfig { ClusterTier cluster_tier = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } +// SecondaryBootDisk represents a persistent disk attached to a node +// with special configurations based on its mode. +message SecondaryBootDisk { + // Mode specifies how the secondary boot disk will be used. + // This triggers mode-specified logic in the control plane. + enum Mode { + // MODE_UNSPECIFIED is when mode is not set. + MODE_UNSPECIFIED = 0; + + // CONTAINER_IMAGE_CACHE is for using the secondary boot disk as + // a container image cache. + CONTAINER_IMAGE_CACHE = 1; + } + + // Disk mode (container image cache, etc.) + Mode mode = 1; + + // Fully-qualified resource ID for an existing disk image. + string disk_image = 2; +} + // Options for in-transit encryption. enum InTransitEncryptionConfig { // Unspecified, will be inferred as default - diff --git a/third_party/googleapis/google/devtools/cloudprofiler/v2/BUILD.bazel b/third_party/googleapis/google/devtools/cloudprofiler/v2/BUILD.bazel index 59763c143..a401763e1 100644 --- a/third_party/googleapis/google/devtools/cloudprofiler/v2/BUILD.bazel +++ b/third_party/googleapis/google/devtools/cloudprofiler/v2/BUILD.bazel @@ -9,14 +9,17 @@ # * extra_protoc_file_parameters # The complete list of preserved parameters can be found in the source code. +# buildifier: disable=load-on-top + # This is an API workspace, having public visibility by default makes perfect sense. package(default_visibility = ["//visibility:public"]) ############################################################################## # Common ############################################################################## -load("@rules_proto//proto:defs.bzl", "proto_library") +# buildifier: disable=same-origin-load load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") +load("@rules_proto//proto:defs.bzl", "proto_library") proto_library( name = "cloudprofiler_proto", @@ -30,6 +33,7 @@ proto_library( "//google/api:resource_proto", "@com_google_protobuf//:duration_proto", "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", ], ) @@ -44,6 +48,7 @@ proto_library_with_info( ############################################################################## # Java ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "java_gapic_assembly_gradle_pkg", @@ -84,6 +89,8 @@ java_gapic_library( java_gapic_test( name = "cloudprofiler_java_gapic_test_suite", test_classes = [ + "com.google.devtools.cloudprofiler.v2.ExportServiceClientHttpJsonTest", + "com.google.devtools.cloudprofiler.v2.ExportServiceClientTest", "com.google.devtools.cloudprofiler.v2.ProfilerServiceClientHttpJsonTest", "com.google.devtools.cloudprofiler.v2.ProfilerServiceClientTest", ], @@ -106,6 +113,7 @@ java_gapic_assembly_gradle_pkg( ############################################################################## # Go ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "go_gapic_assembly_pkg", @@ -154,6 +162,7 @@ go_gapic_assembly_pkg( ############################################################################## # Python ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "py_gapic_assembly_pkg", @@ -193,6 +202,7 @@ py_gapic_assembly_pkg( ############################################################################## # PHP ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "php_gapic_assembly_pkg", @@ -230,6 +240,7 @@ php_gapic_assembly_pkg( ############################################################################## # Node.js ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "nodejs_gapic_assembly_pkg", @@ -260,6 +271,7 @@ nodejs_gapic_assembly_pkg( ############################################################################## # Ruby ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "ruby_cloud_gapic_library", @@ -314,6 +326,7 @@ ruby_gapic_assembly_pkg( ############################################################################## # C# ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "csharp_gapic_assembly_pkg", @@ -324,7 +337,6 @@ load( csharp_proto_library( name = "cloudprofiler_csharp_proto", - extra_opts = [], deps = [":cloudprofiler_proto"], ) @@ -361,6 +373,7 @@ csharp_gapic_assembly_pkg( ############################################################################## # C++ ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "cc_grpc_library", diff --git a/third_party/googleapis/google/devtools/cloudprofiler/v2/cloudprofiler_v2.yaml b/third_party/googleapis/google/devtools/cloudprofiler/v2/cloudprofiler_v2.yaml index e8cd29952..dedf810d4 100644 --- a/third_party/googleapis/google/devtools/cloudprofiler/v2/cloudprofiler_v2.yaml +++ b/third_party/googleapis/google/devtools/cloudprofiler/v2/cloudprofiler_v2.yaml @@ -11,7 +11,8 @@ documentation: summary: Manages continuous profiling information. overview: |- The Cloud Profiler API manages the continuous profiling information - collected in cloud environments like App Engine, GKE and GCE. + collected in cloud environments like App Engine, Google Kubernetes Engine + and Compute Engine. authentication: rules: diff --git a/third_party/googleapis/google/devtools/cloudprofiler/v2/profiler.proto b/third_party/googleapis/google/devtools/cloudprofiler/v2/profiler.proto index 0962c2ae7..8e905f6d8 100644 --- a/third_party/googleapis/google/devtools/cloudprofiler/v2/profiler.proto +++ b/third_party/googleapis/google/devtools/cloudprofiler/v2/profiler.proto @@ -22,6 +22,7 @@ import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; option csharp_namespace = "Google.Cloud.Profiler.V2"; option go_package = "cloud.google.com/go/cloudprofiler/apiv2/cloudprofilerpb;cloudprofilerpb"; @@ -34,9 +35,8 @@ option ruby_package = "Google::Cloud::Profiler::V2"; // Manage the collection of continuous profiling data provided by profiling // agents running in the cloud or by an offline provider of profiling data. // -// General guidelines: -// * Profiles for a single deployment must be created in ascending time order. -// * Profiles can be created in either online or offline mode, see below. +// __The APIs listed in this service are intended for use within our profiler +// agents only.__ service ProfilerService { option (google.api.default_host) = "cloudprofiler.googleapis.com"; option (google.api.oauth_scopes) = @@ -46,6 +46,11 @@ service ProfilerService { // CreateProfile creates a new profile resource in the online mode. // + // _Direct use of this API is discouraged, please use a [supported + // profiler + // agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent) + // instead for profile collection._ + // // The server ensures that the new profiles are created at a constant rate per // deployment, so the creation request may hang for some time until the next // profile session is available. @@ -65,9 +70,14 @@ service ProfilerService { }; } - // CreateOfflineProfile creates a new profile resource in the offline mode. - // The client provides the profile to create along with the profile bytes, the - // server records it. + // CreateOfflineProfile creates a new profile resource in the offline + // mode. The client provides the profile to create along with the profile + // bytes, the server records it. + // + // _Direct use of this API is discouraged, please use a [supported + // profiler + // agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent) + // instead for profile collection._ rpc CreateOfflineProfile(CreateOfflineProfileRequest) returns (Profile) { option (google.api.http) = { post: "/v2/{parent=projects/*}/profiles:createOffline" @@ -80,6 +90,11 @@ service ProfilerService { // created in the online mode. Updating the bytes for profiles created in the // offline mode is currently not supported: the profile content must be // provided at the time of the profile creation. + // + // _Direct use of this API is discouraged, please use a [supported + // profiler + // agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent) + // instead for profile collection._ rpc UpdateProfile(UpdateProfileRequest) returns (Profile) { option (google.api.http) = { patch: "/v2/{profile.name=projects/*/profiles/*}" @@ -104,6 +119,7 @@ service ExportService { option (google.api.http) = { get: "/v2/{parent=projects/*}/profiles" }; + option (google.api.method_signature) = "parent"; } } @@ -183,6 +199,11 @@ message Profile { // get merged with the deployment labels for the final data set. See // documentation on deployment labels for validation rules and limits. map labels = 6 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. Start time for the profile. + // This output is only present in response from the ListProfiles method. + google.protobuf.Timestamp start_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // Deployment contains the deployment identification information. @@ -264,7 +285,7 @@ message ListProfilesRequest { // The maximum number of items to return. // Default page_size is 1000. - // Max limit is 10000. + // Max limit is 1000. int32 page_size = 2; // The token to continue pagination and get profiles from a particular page. diff --git a/third_party/googleapis/google/devtools/testing/v1/application_details.proto b/third_party/googleapis/google/devtools/testing/v1/application_details.proto index 4df4ae98c..3a7223ae1 100644 --- a/third_party/googleapis/google/devtools/testing/v1/application_details.proto +++ b/third_party/googleapis/google/devtools/testing/v1/application_details.proto @@ -18,6 +18,7 @@ package google.devtools.testing.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/devtools/testing/v1/test_execution.proto"; option go_package = "google.golang.org/genproto/googleapis/devtools/testing/v1;testing"; @@ -41,7 +42,7 @@ service ApplicationDetailService { } } -// Android application details based on application manifest and apk archive +// Android application details based on application manifest and archive // contents. message ApkDetail { ApkManifest apk_manifest = 1; @@ -130,14 +131,17 @@ message UsesFeature { bool is_required = 2; } -// A request to get the details of an Android application APK. +// A request to get the details of an Android application. message GetApkDetailsRequest { - // The APK to be parsed for details. - FileReference location = 1; + // Optional. The APK to be parsed for details. + FileReference location = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The App Bundle to be parsed for details. + FileReference bundle_location = 2 [(google.api.field_behavior) = OPTIONAL]; } -// Response containing the details of the specified Android application APK. +// Response containing the details of the specified Android application. message GetApkDetailsResponse { - // Details of the Android APK. + // Details of the Android App. ApkDetail apk_detail = 1; } diff --git a/third_party/googleapis/google/devtools/testing/v1/test_execution.proto b/third_party/googleapis/google/devtools/testing/v1/test_execution.proto index a3462c58a..34ed19ea7 100644 --- a/third_party/googleapis/google/devtools/testing/v1/test_execution.proto +++ b/third_party/googleapis/google/devtools/testing/v1/test_execution.proto @@ -149,6 +149,12 @@ message TestMatrix { // Only useful for matrices in the INVALID state. InvalidMatrixDetails invalid_matrix_details = 11; + // Output only. Details about why a matrix was deemed invalid. + // If multiple checks can be safely performed, they will be reported but no + // assumptions should be made about the length of this list. + repeated MatrixErrorDetail extended_invalid_matrix_details = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; + // The number of times a TestExecution should be re-attempted if one or more // of its test cases fail for any reason. // The maximum number of reruns allowed is 10. @@ -172,6 +178,18 @@ message TestMatrix { bool fail_fast = 17; } +// Describes a single error or issue with a matrix. +message MatrixErrorDetail { + // Output only. The reason for the error. This is a constant value in + // UPPER_SNAKE_CASE that identifies the cause of the error. + string reason = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A human-readable message about how the error in the + // TestMatrix. Expands on the `reason` field with additional details and + // possible options to fix the issue. + string message = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + // A single test executed in a single environment. message TestExecution { // Output only. Unique id set by the service. diff --git a/third_party/googleapis/google/maps/addressvalidation/v1/address.proto b/third_party/googleapis/google/maps/addressvalidation/v1/address.proto index c24a3bf96..031361178 100644 --- a/third_party/googleapis/google/maps/addressvalidation/v1/address.proto +++ b/third_party/googleapis/google/maps/addressvalidation/v1/address.proto @@ -118,9 +118,11 @@ message AddressComponent { // for a complete address. bool inferred = 4; - // Indicates the spelling of the component name was corrected in a minor way, - // for example by switching two characters that appeared in the wrong order. - // This indicates a cosmetic change. + // Indicates a correction to a misspelling in the component name. The API + // does not always flag changes from one spelling variant to another, such as + // when changing "centre" to "center". It also does not always flag common + // misspellings, such as when changing "Amphitheater Pkwy" to "Amphitheatre + // Pkwy". bool spell_corrected = 5; // Indicates the name of the component was replaced with a completely diff --git a/third_party/googleapis/google/maps/addressvalidation/v1/address_validation_service.proto b/third_party/googleapis/google/maps/addressvalidation/v1/address_validation_service.proto index ff19440ee..134b27577 100644 --- a/third_party/googleapis/google/maps/addressvalidation/v1/address_validation_service.proto +++ b/third_party/googleapis/google/maps/addressvalidation/v1/address_validation_service.proto @@ -70,8 +70,8 @@ message ValidateAddressRequest { // The total length of the fields in this input must not exceed 280 // characters. // - // Supported regions can be found in the - // [FAQ](https://developers.google.com/maps/documentation/address-validation/faq#which_regions_are_currently_supported). + // Supported regions can be found + // [here](https://developers.google.com/maps/documentation/address-validation/coverage). // // The [language_code][google.type.PostalAddress.language_code] value in the // input address is reserved for future uses and is ignored today. The @@ -107,6 +107,28 @@ message ValidateAddressRequest { // contains the street number and name and the second line contains the city, // state, and zip code. bool enable_usps_cass = 3; + + // Optional. A string which identifies an Autocomplete session for billing + // purposes. Must be a URL and filename safe base64 string with at most 36 + // ASCII characters in length. Otherwise an INVALID_ARGUMENT error is + // returned. + // + // The session begins when the user starts typing a query, and concludes when + // they select a place and a call to Place Details or Address Validation is + // made. Each session can have multiple autocomplete queries, followed by one + // Place Details or Address Validation request. The credentials used for each + // request within a session must belong to the same Google Cloud Console + // project. Once a session has concluded, the token is no longer valid; your + // app must generate a fresh token for each session. If the `session_token` + // parameter is omitted, or if you reuse a session token, the session is + // charged as if no session token was provided (each request is billed + // separately). + // + // Note: Address Validation can only be used in sessions with the + // Autocomplete (New) API, not the old Autocomplete API. See + // https://developers.google.com/maps/documentation/places/web-service/session-pricing + // for more details. + string session_token = 5 [(google.api.field_behavior) = OPTIONAL]; } // The response to an address validation request. @@ -204,8 +226,7 @@ message Verdict { // Building-level result. PREMISE = 2; - // A geocode that should be very close to the building-level location of - // the address. + // A geocode that approximates the building-level location of the address. PREMISE_PROXIMITY = 3; // The address or geocode indicates a block. Only used in regions which diff --git a/third_party/googleapis/google/maps/addressvalidation/v1/addressvalidation_v1.yaml b/third_party/googleapis/google/maps/addressvalidation/v1/addressvalidation_v1.yaml index b94c04546..d4a79553b 100644 --- a/third_party/googleapis/google/maps/addressvalidation/v1/addressvalidation_v1.yaml +++ b/third_party/googleapis/google/maps/addressvalidation/v1/addressvalidation_v1.yaml @@ -12,7 +12,4 @@ documentation: addresses. Given an address, it returns information about the correctness of the components of the parsed address, a geocode, and a verdict on the deliverability of the parsed address. - overview: |- - The Address Validation API allows developers to validate an address and - its components, standardize the address for mailing, and determine the - best known geocode for it. + overview: '' diff --git a/third_party/googleapis/google/maps/addressvalidation/v1/usps_data.proto b/third_party/googleapis/google/maps/addressvalidation/v1/usps_data.proto index c1680a127..a6d85fb3f 100644 --- a/third_party/googleapis/google/maps/addressvalidation/v1/usps_data.proto +++ b/third_party/googleapis/google/maps/addressvalidation/v1/usps_data.proto @@ -73,15 +73,18 @@ message UspsData { // code, and ZIP+4 together should yield a number divisible by 10. string delivery_point_check_digit = 3; - // The possible values for DPV confirmation. Returns a single character. + // The possible values for DPV confirmation. Returns a single character or + // returns no value. // - // * `Y`: Address was DPV confirmed for primary and any secondary numbers. // * `N`: Primary and any secondary number information failed to // DPV confirm. - // * `S`: Address was DPV confirmed for the primary number only, and the - // secondary number information was present by not confirmed. // * `D`: Address was DPV confirmed for the primary number only, and the // secondary number information was missing. + // * `S`: Address was DPV confirmed for the primary number only, and the + // secondary number information was present but not confirmed. + // * `Y`: Address was DPV confirmed for primary and any secondary numbers. + // * Empty: If the response does not contain a `dpv_confirmation` value, the + // address was not submitted for DPV confirmation. string dpv_confirmation = 4; // The footnotes from delivery point validation. @@ -90,11 +93,12 @@ message UspsData { // * `AA`: Input address matched to the ZIP+4 file // * `A1`: Input address was not matched to the ZIP+4 file // * `BB`: Matched to DPV (all components) - // * `CC`: Secondary number not matched (present but invalid) + // * `CC`: Secondary number not matched and not required + // * `C1`: Secondary number not matched but required // * `N1`: High-rise address missing secondary number // * `M1`: Primary number missing // * `M3`: Primary number invalid - // * `P1`: Input address RR or HC box number missing + // * `P1`: Input address PO, RR or HC box number missing // * `P3`: Input address PO, RR, or HC Box number invalid // * `F1`: Input address matched to a military address // * `G1`: Input address matched to a general delivery address @@ -103,6 +107,8 @@ message UspsData { // * `RR`: DPV confirmed address with PMB information // * `R1`: DPV confirmed address without PMB information // * `R7`: Carrier Route R777 or R779 record + // * `IA`: Informed Address identified + // * `TA`: Primary number matched by dropping a trailing alpha string dpv_footnote = 5; // Indicates if the address is a CMRA (Commercial Mail Receiving Agency)--a @@ -127,6 +133,93 @@ message UspsData { // * `N`: The address is active string dpv_no_stat = 8; + // Indicates the NoStat type. Returns a reason code as int. + // + // * `1`: IDA (Internal Drop Address) – Addresses that do not receive mail + // directly from the USPS but are delivered to a drop address that services + // them. + // * `2`: CDS - Addresses that have not yet become deliverable. For example, a + // new subdivision where lots and primary numbers have been determined, but no + // structure exists yet for occupancy. + // * `3`: Collision - Addresses that do not actually DPV confirm. + // * `4`: CMZ (College, Military and Other Types) - ZIP + 4 records USPS has + // incorporated into the data. + // * `5`: Regular - Indicates addresses not receiving delivery and the + // addresses are not counted as possible deliveries. + // * `6`: Secondary Required - The address requires secondary information. + int32 dpv_no_stat_reason_code = 29; + + // Flag indicates mail is delivered to a single receptable at a site. + // Returns a single character. + // + // * `Y`: The mail is delivered to a single receptable at a site. + // * `N`: The mail is not delivered to a single receptable at a site. + string dpv_drop = 30; + + // Indicates that mail is not delivered to the street address. + // Returns a single character. + // + // * `Y`: The mail is not delivered to the street address. + // * `N`: The mail is delivered to the street address. + string dpv_throwback = 31; + + // Flag indicates mail delivery is not performed every day of the week. + // Returns a single character. + // + // * `Y`: The mail delivery is not performed every day of the week. + // * `N`: No indication the mail delivery is not performed every day of the + // week. + string dpv_non_delivery_days = 32; + + // Integer identifying non-delivery days. It can be interrogated using bit + // flags: + // 0x40 – Sunday is a non-delivery day + // 0x20 – Monday is a non-delivery day + // 0x10 – Tuesday is a non-delivery day + // 0x08 – Wednesday is a non-delivery day + // 0x04 – Thursday is a non-delivery day + // 0x02 – Friday is a non-delivery day + // 0x01 – Saturday is a non-delivery day + int32 dpv_non_delivery_days_values = 33; + + // Flag indicates door is accessible, but package will not be left due to + // security concerns. + // Returns a single character. + // + // * `Y`: The package will not be left due to security concerns. + // * `N`: No indication the package will not be left due to security concerns. + string dpv_no_secure_location = 34; + + // Indicates the address was matched to PBSA record. + // Returns a single character. + // + // * `Y`: The address was matched to PBSA record. + // * `N`: The address was not matched to PBSA record. + string dpv_pbsa = 35; + + // Flag indicates addresses where USPS cannot knock on a door to deliver mail. + // Returns a single character. + // + // * `Y`: The door is not accessible. + // * `N`: No indication the door is not accessible. + string dpv_door_not_accessible = 36; + + // Indicates that more than one DPV return code is valid for the address. + // Returns a single character. + // + // * `Y`: Address was DPV confirmed for primary and any secondary numbers. + // * `N`: Primary and any secondary number information failed to + // DPV confirm. + // * `S`: Address was DPV confirmed for the primary number only, and the + // secondary number information was present by not confirmed, or a single + // trailing alpha on a primary number was dropped to make a DPV match and + // secondary information required. + // * `D`: Address was DPV confirmed for the primary number only, and the + // secondary number information was missing. + // * `R`: Address confirmed but assigned to phantom route R777 and R779 and + // USPS delivery is not provided. + string dpv_enhanced_delivery_code = 37; + // The carrier route code. // A four character code consisting of a one letter prefix and a three digit // route designator. diff --git a/third_party/googleapis/google/maps/fleetengine/delivery/v1/tasks.proto b/third_party/googleapis/google/maps/fleetengine/delivery/v1/tasks.proto index 95699db7e..5bb5b2730 100644 --- a/third_party/googleapis/google/maps/fleetengine/delivery/v1/tasks.proto +++ b/third_party/googleapis/google/maps/fleetengine/delivery/v1/tasks.proto @@ -41,7 +41,7 @@ option objc_class_prefix = "CFED"; // // Note: gRPC and REST APIs use different field naming conventions. For example, // the `Task.journey_sharing_info` field in the gRPC API and the -// `DeliveryVehicle.journeySharingInfo` field in the REST API refer to the same +// `Task.journeySharingInfo` field in the REST API refer to the same // field. message Task { option (google.api.resource) = { diff --git a/third_party/googleapis/google/maps/places/v1/place.proto b/third_party/googleapis/google/maps/places/v1/place.proto index 5d29462e8..d8886dd32 100644 --- a/third_party/googleapis/google/maps/places/v1/place.proto +++ b/third_party/googleapis/google/maps/places/v1/place.proto @@ -283,8 +283,8 @@ message Place { optional bool wheelchair_accessible_seating = 4; } - // An ID representing this place which may be used to look up this place - // again (a.k.a. the API "resource" name: places/place_id). + // This Place's resource name, in `places/{place_id}` format. Can be used to + // look up the Place. string name = 1; // The unique identifier of a place. diff --git a/third_party/googleapis/google/maps/places/v1/places_service.proto b/third_party/googleapis/google/maps/places/v1/places_service.proto index 0bcc8ec9c..aec74fd87 100644 --- a/third_party/googleapis/google/maps/places/v1/places_service.proto +++ b/third_party/googleapis/google/maps/places/v1/places_service.proto @@ -21,8 +21,10 @@ import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/geo/type/viewport.proto"; +import "google/maps/places/v1/ev_charging.proto"; import "google/maps/places/v1/geometry.proto"; import "google/maps/places/v1/place.proto"; +import "google/type/latlng.proto"; option cc_enable_arenas = true; option csharp_namespace = "Google.Maps.Places.V1"; @@ -66,13 +68,23 @@ service Places { option (google.api.method_signature) = "name"; } - // Get place details with a place id (in a name) string. + // Get the details of a place based on its resource name, which is a string + // in the `places/{place_id}` format. rpc GetPlace(GetPlaceRequest) returns (Place) { option (google.api.http) = { get: "/v1/{name=places/*}" }; option (google.api.method_signature) = "name"; } + + // Returns predictions for the given input. + rpc AutocompletePlaces(AutocompletePlacesRequest) + returns (AutocompletePlacesResponse) { + option (google.api.http) = { + post: "/v1/places:autocomplete" + body: "*" + }; + } } // Request proto for Search Nearby. @@ -214,7 +226,6 @@ message SearchNearbyRequest { // Response proto for Search Nearby. // -// message SearchNearbyResponse { // A list of places that meets user's requirements like places // types, number of places and specific location restriction. @@ -269,6 +280,19 @@ message SearchTextRequest { } } + // Searchable EV options of a place search request. + message EVOptions { + // Optional. Filtering places by minimum charging rate. Any places with + // charging a rate less than the minimum charging rate are filtered out. + double minimum_charging_rate_kw = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The list of preferred EV connector types. A place that does not + // support any of the listed connector types are filter out. + repeated EVConnectorType connector_types = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + // Required. The text query for textual search. string text_query = 1 [(google.api.field_behavior) = REQUIRED]; @@ -336,6 +360,9 @@ message SearchTextRequest { // results outside given location will not be returned. Cannot be set along // with location_bias. LocationRestriction location_restriction = 14; + + // Optional. Set the searchable EV options of a place search request. + EVOptions ev_options = 15 [(google.api.field_behavior) = OPTIONAL]; } // Response proto for SearchText. @@ -411,11 +438,10 @@ message PhotoMedia { string photo_uri = 2; } -// Request for fetching a Place with a place id (in a name) string. +// Request for fetching a Place based on its resource name, which is a string in +// the `places/{place_id}` format. message GetPlaceRequest { - // Required. A place ID returned in a Place (with "places/" prefix), or - // equivalently the name in the same Place. Format: - // `places/{place_id}`. + // Required. The resource name of a place, in the `places/{place_id}` format. string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "places.googleapis.com/Place" } @@ -438,4 +464,289 @@ message GetPlaceRequest { // // Note that 3-digit region codes are not currently supported. string region_code = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An arbitrary string which identifies an autocomplete session for + // billing purposes. Must be at most 36 characters in length. Otherwise an + // INVALID_ARGUMENT error is returned. + // + // The session begins when the user starts typing a query, and concludes when + // they select a place and a call to Place Details or Address Validation is + // made. Each session can have multiple queries, followed by one Place + // selection. The credentials used for each request within a session must + // belong to the same Google Cloud Console project. Once a session has + // concluded, the token is no longer valid; your app must generate a fresh + // token for each session. If the `session_token` parameter is omitted, or if + // you reuse a session token, the session is charged as if no session token + // was provided (each request is billed separately). + // + // We recommend the following guidelines: + // * Use session tokens for all Place Autocomplete calls. + // * Generate a fresh token for each session. Using a version 4 UUID is + // recommended. + // * Ensure that the credentials used for all Place Autocomplete, Place + // Details, and Address Validation requests within a session belong to the + // same Cloud Console project. + // * Be sure to pass a unique session token for each new session. Using the + // same token for more than one session will result in each request being + // billed individually. + string session_token = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request proto for AutocompletePlaces. +message AutocompletePlacesRequest { + // The region to search. The results may be biased around the specified + // region. + message LocationBias { + oneof type { + // A viewport defined by a northeast and a southwest corner. + google.geo.type.Viewport rectangle = 1; + + // A circle defined by a center point and radius. + Circle circle = 2; + } + } + + // The region to search. The results will be restricted to the specified + // region. + message LocationRestriction { + oneof type { + // A viewport defined by a northeast and a southwest corner. + google.geo.type.Viewport rectangle = 1; + + // A circle defined by a center point and radius. + Circle circle = 2; + } + } + + // Required. The text string on which to search. + string input = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Bias results to a specified location. + // + // At most one of `location_bias` or `location_restriction` should be set. If + // neither are set, the results will be biased by IP address, meaning the IP + // address will be mapped to an imprecise location and used as a biasing + // signal. + LocationBias location_bias = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Restrict results to a specified location. + // + // At most one of `location_bias` or `location_restriction` should be set. If + // neither are set, the results will be biased by IP address, meaning the IP + // address will be mapped to an imprecise location and used as a biasing + // signal. + LocationRestriction location_restriction = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Included primary Place type (e.g. "restaurant" or "gas_station") + // from + // https://developers.google.com/maps/documentation/places/web-service/place-types. + // A Place is only returned if its primary type is included in this list. Up + // to 5 values can be specified. If no types are specified, all Place types + // are returned. + repeated string included_primary_types = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Only include results in the specified regions, specified as up to + // 15 CLDR two-character region codes. An empty set will not restrict the + // results. If both `location_restriction` and `included_region_codes` are + // set, the results will be located in the area of intersection. + repeated string included_region_codes = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The language in which to return results. Defaults to en-US. The + // results may be in mixed languages if the language used in `input` is + // different from `language_code` or if the returned Place does not have a + // translation from the local language to `language_code`. + string language_code = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The region code, specified as a CLDR two-character region code. + // This affects address formatting, result ranking, and may influence what + // results are returned. This does not restrict results to the specified + // region. To restrict results to a region, use `region_code_restriction`. + string region_code = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The origin point from which to calculate geodesic distance to the + // destination (returned as `distance_meters`). If this value is omitted, + // geodesic distance will not be returned. + google.type.LatLng origin = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A zero-based Unicode character offset of `input` indicating the + // cursor position in `input`. The cursor position may influence what + // predictions are returned. + // + // If empty, defaults to the length of `input`. + int32 input_offset = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If true, the response will include both Place and query + // predictions. Otherwise the response will only return Place predictions. + bool include_query_predictions = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An arbitrary string which identifies an autocomplete session for + // billing purposes. Must be at most 36 characters in length. Otherwise an + // INVALID_ARGUMENT error is returned. + // + // The session begins when the user starts typing a query, and concludes when + // they select a place and a call to Place Details or Address Validation is + // made. Each session can have multiple queries, followed by one Place + // selection. The credentials used for each request within a session must + // belong to the same Google Cloud Console project. Once a session has + // concluded, the token is no longer valid; your app must generate a fresh + // token for each session. If the `session_token` parameter is omitted, or if + // you reuse a session token, the session is charged as if no session token + // was provided (each request is billed separately). + // + // We recommend the following guidelines: + // * Use session tokens for all Place Autocomplete calls. + // * Generate a fresh token for each session. Using a version 4 UUID is + // recommended. + // * Ensure that the credentials used for all Place Autocomplete, Place + // Details, and Address Validation requests within a session belong to the + // same Cloud Console project. + // * Be sure to pass a unique session token for each new session. Using the + // same token for more than one session will result in each request being + // billed individually. + string session_token = 11 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response proto for AutocompletePlaces. +message AutocompletePlacesResponse { + // An Autocomplete suggestion result. + message Suggestion { + // Identifies a substring within a given text. + message StringRange { + // Zero-based offset of the first Unicode character of the string + // (inclusive). + int32 start_offset = 1; + + // Zero-based offset of the last Unicode character (exclusive). + int32 end_offset = 2; + } + + // Text representing a Place or query prediction. The text may be used as is + // or formatted. + message FormattableText { + // Text that may be used as is or formatted with `matches`. + string text = 1; + + // A list of string ranges identifying where the input request matched in + // `text`. The ranges can be used to format specific parts of `text`. The + // substrings may not be exact matches of `input` if the matching was + // determined by criteria other than string matching (e.g. spell + // corrections or transliterations). + // + // These values are Unicode character offsets of `text`. The ranges are + // guaranteed to be ordered in increasing offset values. + repeated StringRange matches = 2; + } + + // Contains a breakdown of a Place or query prediction into main text + // and secondary text. + // + // For Place predictions, the main text contains the specific name of the + // Place. For query predictions, the main text contains the query. + // + // The secondary text contains additional disambiguating features (such as a + // city or region) to further identify the Place or refine the query. + message StructuredFormat { + // Represents the name of the Place or query. + FormattableText main_text = 1; + + // Represents additional disambiguating features (such as a city or + // region) to further identify the Place or refine the query. + FormattableText secondary_text = 2; + } + + // Prediction results for a Place Autocomplete prediction. + message PlacePrediction { + // The resource name of the suggested Place. This name can be used in + // other APIs that accept Place names. + string place = 1 [(google.api.resource_reference) = { + type: "places.googleapis.com/Place" + }]; + + // The unique identifier of the suggested Place. This identifier can be + // used in other APIs that accept Place IDs. + string place_id = 2; + + // Contains the human-readable name for the returned result. For + // establishment results, this is usually the business name and address. + // + // `text` is recommended for developers who wish to show a single UI + // element. Developers who wish to show two separate, but related, UI + // elements may want to use `structured_format` instead. They are two + // different ways to represent a Place prediction. Users should not try to + // parse `structured_format` into `text` or vice versa. + // + // This text may be different from the `display_name` returned by + // GetPlace. + // + // May be in mixed languages if the request `input` and `language_code` + // are in different languages or if the Place does not have a translation + // from the local language to `language_code`. + FormattableText text = 3; + + // A breakdown of the Place prediction into main text containing the name + // of the Place and secondary text containing additional disambiguating + // features (such as a city or region). + // + // `structured_format` is recommended for developers who wish to show two + // separate, but related, UI elements. Developers who wish to show a + // single UI element may want to use `text` instead. They are two + // different ways to represent a Place prediction. Users should not try to + // parse `structured_format` into `text` or vice versa. + StructuredFormat structured_format = 4; + + // List of types that apply to this Place from Table A or Table B in + // https://developers.google.com/maps/documentation/places/web-service/place-types. + // + // A type is a categorization of a Place. Places with shared types will + // share similar characteristics. + repeated string types = 5; + + // The length of the geodesic in meters from `origin` if `origin` is + // specified. Certain predictions such as routes may not populate this + // field. + int32 distance_meters = 6; + } + + // Prediction results for a Query Autocomplete prediction. + message QueryPrediction { + // The predicted text. This text does not represent a Place, but rather a + // text query that could be used in a search endpoint (e.g. TextSearch). + // + // `text` is recommended for developers who wish to show a single UI + // element. Developers who wish to show two separate, but related, UI + // elements may want to use `structured_format` instead. They are two + // different ways to represent a query prediction. Users should not try to + // parse `structured_format` into `text` or vice versa. + // + // May be in mixed languages if the request `input` and `language_code` + // are in different languages or if part of the query does not have a + // translation from the local language to `language_code`. + FormattableText text = 1; + + // A breakdown of the query prediction into main text containing the query + // and secondary text containing additional disambiguating features (such + // as a city or region). + // + // `structured_format` is recommended for developers who wish to show two + // separate, but related, UI elements. Developers who wish to show a + // single UI element may want to use `text` instead. They are two + // different ways to represent a query prediction. Users should not try to + // parse `structured_format` into `text` or vice versa. + StructuredFormat structured_format = 2; + } + + oneof kind { + // A prediction for a Place. + PlacePrediction place_prediction = 1; + + // A prediction for a query. + QueryPrediction query_prediction = 2; + } + } + + // Contains a list of suggestions, ordered in descending order of relevance. + repeated Suggestion suggestions = 1; } diff --git a/third_party/googleapis/google/spanner/v1/transaction.proto b/third_party/googleapis/google/spanner/v1/transaction.proto index 4b7fe4a9d..e3f22ee3c 100644 --- a/third_party/googleapis/google/spanner/v1/transaction.proto +++ b/third_party/googleapis/google/spanner/v1/transaction.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -475,6 +475,22 @@ message TransactionOptions { // on the `session` resource. ReadOnly read_only = 2; } + + // When `exclude_txn_from_change_streams` is set to `true`: + // * Mutations from this transaction will not be recorded in change streams + // with DDL option `allow_txn_exclusion=true` that are tracking columns + // modified by these transactions. + // * Mutations from this transaction will be recorded in change streams with + // DDL option `allow_txn_exclusion=false or not set` that are tracking + // columns modified by these transactions. + // + // When `exclude_txn_from_change_streams` is set to `false` or not set, + // mutations from this transaction will be recorded in all change streams that + // are tracking columns modified by these transactions. + // `exclude_txn_from_change_streams` may only be specified for read-write or + // partitioned-dml transactions, otherwise the API will return an + // `INVALID_ARGUMENT` error. + bool exclude_txn_from_change_streams = 5; } // A transaction. diff --git a/third_party/googleapis/google/storage/v2/storage.proto b/third_party/googleapis/google/storage/v2/storage.proto index de6e27ea3..a8516a58e 100644 --- a/third_party/googleapis/google/storage/v2/storage.proto +++ b/third_party/googleapis/google/storage/v2/storage.proto @@ -2458,6 +2458,20 @@ message Object { // A user-specified timestamp set on an object. google.protobuf.Timestamp custom_time = 26; + + // Output only. This is the time when the object became soft-deleted. + // + // Soft-deleted objects are only accessible if a soft_delete_policy is + // enabled. Also see hard_delete_time. + optional google.protobuf.Timestamp soft_delete_time = 28 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the object will be permanently deleted. + // + // Only set when an object becomes soft-deleted with a soft_delete_policy. + // Otherwise, the object will not be accessible. + optional google.protobuf.Timestamp hard_delete_time = 29 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // An access-control entry.